refactor: conform standards docs to doc-forge wiki/lib layout; generic build.py; static kind links
This commit is contained in:
54
standards/src/lib/13_library_registry.md
Normal file
54
standards/src/lib/13_library_registry.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# 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 | *(see note)* |
|
||||
| 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` |
|
||||
| Auth Server | *(service)* | Central identity service (register/login/me/introspect) | building auth endpoints yourself | — |
|
||||
|
||||
## 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 |
|
||||
|
||||
## 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. Query it before writing any infrastructure.
|
||||
|
||||
## Notes
|
||||
|
||||
- **Hexa** ships an MCP bundle but is not yet assigned a dedicated port in the
|
||||
hub config; it is reachable via the standards registry entry and will be
|
||||
wired to a port.
|
||||
- Library MCP servers expose **documentation resources** (not executable tools):
|
||||
they tell an agent the available API surface so it does not invent code.
|
||||
Reference in New Issue
Block a user