docs: add spa-server module + mcp tooling companion
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
[](LICENSE)
|
||||
[](https://go.dev)
|
||||
[]()
|
||||
[]()
|
||||
|
||||
> *For those who come after.*
|
||||
|
||||
@@ -54,6 +54,7 @@ API requires exactly three: **`core` + `web` + one `db-*`**.
|
||||
| [`worker`][worker] | v1.0.0 | Concurrent background worker pool | `contracts` |
|
||||
| [`httpclient`][httpclient] | v1.0.0 | Resilient outbound HTTP client | `contracts` `core` |
|
||||
| [`smtp`][smtp] | v1.0.0 | SMTP email delivery with no-op fallback | `contracts` `core` |
|
||||
| [`spa-server`][spa-server] | v1.0.0 | Container-first static server for SPAs / PWAs (Docker base image) | `contracts` `core` |
|
||||
|
||||
---
|
||||
|
||||
@@ -76,6 +77,7 @@ graph TD
|
||||
worker["worker\nv1.0.0"]
|
||||
httpclient["httpclient\nv1.0.0"]
|
||||
smtp["smtp\nv1.0.0"]
|
||||
spa_server["spa-server\nv1.0.0"]
|
||||
|
||||
contracts --> core
|
||||
contracts --> web
|
||||
@@ -106,6 +108,8 @@ graph TD
|
||||
core --> httpclient
|
||||
contracts --> smtp
|
||||
core --> smtp
|
||||
contracts --> spa_server
|
||||
core --> spa_server
|
||||
|
||||
classDef foundation fill:#b45309,stroke:#78350f,color:#fff
|
||||
classDef weblayer fill:#1d4ed8,stroke:#1e3a8a,color:#fff
|
||||
@@ -117,7 +121,7 @@ graph TD
|
||||
class web,auth,auth_jwt weblayer
|
||||
class auth_firebase deferred
|
||||
class db_postgres,db_mysql,db_sqlite,cache_valkey,storage_minio datalayer
|
||||
class telemetry,worker,httpclient,smtp standalone
|
||||
class telemetry,worker,httpclient,smtp,spa_server standalone
|
||||
```
|
||||
|
||||
**Arrow direction:** dependency flows downward — a module above provides interfaces consumed by the module below it.
|
||||
@@ -127,7 +131,7 @@ graph TD
|
||||
| Amber | Foundation — `contracts`, `core` |
|
||||
| Blue | Web layer — `web`, `auth`, `auth-jwt` |
|
||||
| Green | Data layer — `db-*`, `cache-*`, `storage-*` |
|
||||
| Purple | Standalone — `telemetry`, `worker`, `httpclient`, `smtp` |
|
||||
| Purple | Standalone — `telemetry`, `worker`, `httpclient`, `smtp`, `spa-server` |
|
||||
| Grey (dashed) | Deferred — not yet released |
|
||||
|
||||
Data modules (`db-*`, `cache-*`, `storage-*`) never import `web`. Repositories do
|
||||
@@ -135,6 +139,16 @@ not know HTTP exists. This boundary is absolute.
|
||||
|
||||
---
|
||||
|
||||
## Tooling
|
||||
|
||||
Companion tooling for developing *on* Einherjar — not framework modules; nothing imports these.
|
||||
|
||||
| Tool | Version | Purpose |
|
||||
|---|---|---|
|
||||
| [`mcp`][mcp] | v1.0.0 | Model Context Protocol server — teaches AI assistants the framework: modules, symbols, ADRs, wiring conventions, and a ready-to-write project scaffold |
|
||||
|
||||
---
|
||||
|
||||
## The Law
|
||||
|
||||
`contracts` is the constitution of this framework — pure interfaces, zero
|
||||
@@ -189,3 +203,5 @@ Contributions are accepted under the terms of the [Contributor License Agreement
|
||||
[worker]: https://code.nochebuena.dev/einherjar/worker
|
||||
[httpclient]: https://code.nochebuena.dev/einherjar/httpclient
|
||||
[smtp]: https://code.nochebuena.dev/einherjar/smtp
|
||||
[spa-server]: https://code.nochebuena.dev/einherjar/spa-server
|
||||
[mcp]: https://code.nochebuena.dev/einherjar/mcp
|
||||
|
||||
Reference in New Issue
Block a user