Library Registry
Summary
The Aetos ecosystem provides internal libraries for the shared concerns of every application. Use them. Writing a private copy of any capability below is a defect.
Each library also exposes its own documentation as an MCP server. An AI agent
can read a library's full API by connecting to its MCP and reading
docs://index, docs://nav, and docs://modules/{module}.
Catalog
| Library | Import | Purpose | Use instead of | MCP |
|---|---|---|---|---|
| DAG Pipe | dagpipe |
Deterministic state-transformation DAG engine | hand-rolled orchestration/topological ordering | :8006 |
| Hexa | hexa |
Declarative DI / composition-root tooling | manual wiring, hand-written factories | :8008 |
| Mongo Ops | mongo_ops |
Async MongoDB repositories, cache, populate, transactions | raw Motor CRUD and connection lifecycle | :8007 |
| Omniread | omniread |
Format-agnostic fetch + parse (HTML, PDF, CSV, XLSX) | custom scrapers/parsers | :8003 |
| OpenAPI First | openapi_first |
Spec-first FastAPI bootstrap, client, codegen | decorator routers and hand-written clients | :8004 |
| Mail Intake | mail_intake |
Provider-agnostic read-only email ingestion | Gmail OAuth + MIME parsing | :8002 |
| Py JWT | jwtlib |
JWT auth primitives (register/login/introspect) | password hashing + token code | :8005 |
| Doc Forge | docforge |
Docstring compiler → MkDocs + MCP docs | custom doc generators | :8001 |
| Doc Weaver | doc-weaver |
JSDoc compiler → TypeDoc + MCP docs (React/TS) | custom TypeScript doc generators | :8010 |
| React Auth | react-auth |
JWT-backed React auth UI: provider, login page, profile screens, bearer axios client | hand-rolled auth contexts and token handling in React apps | :8011 |
| React OpenAPI | react-openapi |
Spec-driven React admin UI (CRUD, tables, forms, SSE) derived from an OpenAPI document | per-resource hand-written admin screens | :8012 |
| Auth Server | (service) | Central identity service (register/login/me/logout/introspect) | building auth endpoints yourself | spec: docs://spec |
How to choose
| You need to… | Use |
|---|---|
| persist and query documents | Mongo Ops |
| compose dependencies | Hexa |
| run a multi-step transformation | DAG Pipe |
| read/parse an arbitrary input format | Omniread |
| expose a contract-first HTTP API | OpenAPI First |
| ingest email | Mail Intake |
| authenticate users / verify tokens | Py JWT (+ Auth Server) |
| generate documentation | Doc Forge |
| generate React/TypeScript documentation | Doc Weaver |
| authenticate a React front-end | React Auth (+ Auth Server) |
| build a React admin UI from an OpenAPI spec | React OpenAPI |
Discovery
A single standards MCP exposes find_library(capability), which returns the
matching library, its import name, its "use instead of" guidance, and its MCP
endpoint (or, for the auth-server service, a spec pointer). It also serves the
pinned auth-server OpenAPI contract at docs://spec. Query it before writing
any infrastructure.
Publishing & registry auth
Python packages publish to the private index (pip.aetoskia.com, pypiserver)
and npm packages to the private registry (npm.aetoskia.com, Verdaccio). Both
authenticate against the same htpasswd file (/auth/htpasswd) used by the
Docker registry and the Traefik basic-auth middleware; registration is disabled,
so the CI credentials (PIP_USERNAME / PIP_PASSWORD, NPM_USERNAME /
NPM_PASSWORD) are one and the same account — there is no separate npm user.
Verdaccio requires bcrypt htpasswd entries; see
90 – Drone Pipelines for the CI wiring.
Notes
- Hexa is a full library with its own MCP server on
:8008: readdocs://index,docs://nav, anddocs://modules/{module}(e.g.docs://modules/hexa.container) to discover the DI surface —build(cls, *, instances, config)and thePortNodemodel. - Auth Server is a service, not an importable library: it has no MCP
bundle by design. Read its client contract from the pinned OpenAPI document
via
docs://specand wire it by declaring abearerAuthsecurity scheme in the app's own spec (see Auth Integration);py-jwtcovers the low-level token path. - Doc Weaver is the TypeScript counterpart to Doc Forge: it reads JSDoc comments and emits a TypeDoc site plus the same doc-forge-shaped MCP bundle for React packages. Its convention is RDFC (the React Doc-forge Convention), the JSDoc parallel to GSDFC.
- React Auth and React OpenAPI are front-end libraries (TypeScript, React 18 + MUI + React Router peers), not Python services — they consume the Auth Server and an OpenAPI document rather than serving one. Each ships a wiki, a TypeDoc site and an MCP bundle like every other library above.
- Library MCP servers expose documentation resources (not executable tools): they tell an agent the available API surface so it does not invent code.