Skip to main content

Motivation

AskMyDocs is assembled from focused, standalone packages rather than a monolith. Every padosoft/* package is MIT-licensed, carries architecture tests enforcing standalone-agnostic invariants (zero references to AskMyDocs models / tables in src/), and is composer require-able into any Laravel app. AskMyDocs uses them; they never depend on AskMyDocs.

The ecosystem

Platform on laravel/ai 0.8 (since v8.19). The packages that touch the AI SDK in code — laravel-ai-regolo (v1.2.1) and laravel-ai-finops (v1.4.0) — were each released onto laravel/ai ^0.8 before the host bumped ^0.6.8 → ^0.8.1 in one coherent resolve. laravel-ai-guardrails is born on ^0.8. The whole stack runs on a single SDK line — no version skew (ADR 0016).

How they integrate

Each package talks to AskMyDocs only through a host-bound IoC contract (e.g. ConnectorIngestionContract, EvidenceReviewerLlmContract, the MCP host bridge). The host implements the contract with the real retrieval / RBAC / audit; the package stays ignorant of AskMyDocs.

Why standalone

  • Community reuse — anyone can composer require a single package into a fresh Laravel app and get a working in-process feature.
  • Independent testing + releasing — each ships its own CI matrix (PHP 8.3/8.4/8.5 × Laravel 13) and SemVer tags on Packagist.
  • Clean boundaries — the standalone-agnostic architecture test fails the build if a package ever reaches into the host.

MCP server

The MCP pack in action.

Connectors

The connector-package family.