docs: add spa-server module + mcp tooling companion

This commit is contained in:
2026-08-07 12:08:12 -06:00
parent 2d0712f28e
commit eeafb3dfc9
+19 -3
View File
@@ -2,7 +2,7 @@
[![license](https://img.shields.io/badge/license-AGPL--3.0-22863A?style=flat-square)](LICENSE)
[![go](https://img.shields.io/badge/Go-1.26+-00ADD8?style=flat-square&logo=go&logoColor=white)](https://go.dev)
[![modules](https://img.shields.io/badge/modules-14-5C4EE5?style=flat-square)]()
[![modules](https://img.shields.io/badge/modules-15-5C4EE5?style=flat-square)]()
> *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