Skip to content

Commit 43b89c2

Browse files
committed
docs(docs): sync README with current project state
- Add tests/ directory to layout section - Document cert-manager.yaml and networks.yaml in infra/ tree - Document compose.dev-override.yaml and compose.prod-override.yaml - Add pubnix-ci.yml to CI workflows list - Expand just recipe tables (install, test-coverage, chat-init/prod, bridge-install/logs, portal db variants, docs build/check-links, renovate-validate, docker-clean, and more)
1 parent c737ce6 commit 43b89c2

File tree

1 file changed

+75
-33
lines changed

1 file changed

+75
-33
lines changed

README.md

Lines changed: 75 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,18 @@ infra/
2525
├── network/ Docker Compose fragments (network.yaml)
2626
├── observability/ Docker Compose fragments (observability.yaml)
2727
├── nginx/ Nginx reverse proxy config (Prosody HTTPS)
28-
└── sh/ atl.sh pubnix provisioning (Ansible, Terraform, skel, Vagrant)
28+
├── sh/ atl.sh pubnix provisioning (Ansible, Terraform, skel, Vagrant)
29+
├── cert-manager.yaml TLS certificate management (included by root compose.yaml)
30+
└── networks.yaml Shared Docker network definitions (included by root compose.yaml)
2931
3032
scripts/ Shell scripts (init.sh — data dirs + dev certs)
33+
34+
tests/
35+
├── unit/ Bridge unit tests
36+
├── integration/ Bridge integration tests
37+
├── e2e/ End-to-end tests
38+
├── protocol/ Protocol-level tests
39+
└── ... fixtures/, controllers/, irc_utils/, utils/, legacy/
3140
```
3241

3342
`apps/` = software we build and own (polyglot: Next.js + Python).
@@ -62,47 +71,70 @@ Run `just` to see all available recipes grouped by domain.
6271

6372
### Workspace
6473

65-
| Command | Purpose |
66-
| ---------------- | ------------------------------------------ |
67-
| `just setup` | Full bootstrap (JS + Python + env + certs) |
68-
| `just dev` | Start all JS apps via Turborepo |
69-
| `just build` | Production build (Turbo graph) |
70-
| `just check` | Lint + format check (Ultracite) |
71-
| `just fix` | Lint + format fix (Ultracite) |
72-
| `just typecheck` | TypeScript validation across all packages |
73-
| `just test` | Run all tests via Turborepo |
74-
| `just clean` | Remove build artifacts |
74+
| Command | Purpose |
75+
| ------------------------ | ------------------------------------------ |
76+
| `just setup` | Full bootstrap (JS + Python + env + certs) |
77+
| `just install` | `pnpm install` |
78+
| `just install-frozen` | `pnpm install --frozen-lockfile` |
79+
| `just dev` | Start all JS apps via Turborepo |
80+
| `just build` | Production build (Turbo graph) |
81+
| `just check` | Lint + format check (Ultracite) |
82+
| `just fix` | Lint + format fix (Ultracite) |
83+
| `just typecheck` | TypeScript validation across all packages |
84+
| `just test` | Run all tests via Turborepo |
85+
| `just test-coverage` | Run tests with coverage |
86+
| `just clean` | Remove build artifacts |
87+
| `just renovate-validate` | Validate Renovate config |
88+
| `just docker-clean` | Prune unused Docker images and volumes |
7589

7690
### Apps
7791

78-
| Command | Purpose |
79-
| ----------------------- | ------------------------- |
80-
| `just portal-dev` | Portal dev server |
81-
| `just portal-db-up` | Start PostgreSQL (Docker) |
82-
| `just portal-db-push` | Push schema to dev DB |
83-
| `just portal-db-studio` | Open Drizzle Studio |
84-
| `just web-dev` | Marketing site dev server |
85-
| `just chat-web-dev` | atl.chat dev server |
86-
| `just docs-dev` | Mintlify docs preview |
92+
| Command | Purpose |
93+
| ------------------------- | -------------------------------- |
94+
| `just web-dev` | Marketing site dev server |
95+
| `just web-build` | Build marketing site |
96+
| `just web-deploy` | Deploy to Cloudflare Workers |
97+
| `just chat-web-dev` | atl.chat dev server |
98+
| `just chat-web-build` | Build atl.chat site |
99+
| `just portal-dev` | Portal dev server |
100+
| `just portal-build` | Build portal |
101+
| `just portal-start` | Start portal (production mode) |
102+
| `just portal-db-up` | Start PostgreSQL (Docker) |
103+
| `just portal-db-down` | Stop PostgreSQL |
104+
| `just portal-db-generate` | Generate Drizzle migration files |
105+
| `just portal-db-migrate` | Run pending migrations |
106+
| `just portal-db-push` | Push schema to dev DB |
107+
| `just portal-db-seed` | Seed the database |
108+
| `just portal-db-studio` | Open Drizzle Studio |
109+
| `just docs-dev` | Mintlify docs preview |
110+
| `just docs-build` | Build docs |
111+
| `just docs-check-links` | Check for broken links |
87112

88113
### Chat services (Docker)
89114

90-
| Command | Purpose |
91-
| ------------------ | ------------------------------------- |
92-
| `just chat-dev` | Start all chat services (dev profile) |
93-
| `just chat-down` | Stop chat services |
94-
| `just chat-logs` | Tail logs (optionally filter by name) |
95-
| `just chat-status` | Show running containers |
96-
| `just chat-build` | Build all service images |
115+
| Command | Purpose |
116+
| --------------------- | -------------------------------------------- |
117+
| `just chat-init` | Initialize chat data directories and config |
118+
| `just chat-dev` | Start all chat services (dev profile) |
119+
| `just chat-prod` | Start all chat services (production profile) |
120+
| `just chat-down` | Stop chat services (dev) |
121+
| `just chat-down-prod` | Stop chat services (production) |
122+
| `just chat-logs` | Tail logs (optionally filter by name) |
123+
| `just chat-status` | Show running containers |
124+
| `just chat-build` | Build all service images |
125+
| `just prosody-token` | Generate a Prosody API token |
126+
| `just gencloak` | Generate IRC cloaking key |
97127

98128
### Bridge (Python)
99129

100-
| Command | Purpose |
101-
| ----------------------- | ------------------------ |
102-
| `just bridge-check` | Ruff lint + format check |
103-
| `just bridge-fix` | Ruff lint fix + format |
104-
| `just bridge-typecheck` | basedpyright type check |
105-
| `just bridge-test` | pytest suite |
130+
| Command | Purpose |
131+
| ----------------------- | -------------------------- |
132+
| `just bridge-install` | `uv sync --all-extras` |
133+
| `just bridge-check` | Ruff lint + format check |
134+
| `just bridge-fix` | Ruff lint fix + format |
135+
| `just bridge-typecheck` | basedpyright type check |
136+
| `just bridge-test` | pytest suite |
137+
| `just bridge-logs` | Tail bridge container logs |
106138

107139
### Pubnix (atl.sh)
108140

@@ -130,6 +162,15 @@ Three env file layers at the repo root:
130162

131163
Docker Compose always requires `--env-file .env --env-file .env.dev` (or `.env.prod`). The `just` recipes handle this automatically.
132164

165+
Two Compose override files handle environment-specific service config:
166+
167+
| File | Purpose |
168+
| ---------------------------- | ---------------------------------------------- |
169+
| `compose.dev-override.yaml` | Dev overrides (bind mounts, debug ports, etc.) |
170+
| `compose.prod-override.yaml` | Production overrides (restart policies, etc.) |
171+
172+
`just chat-dev` uses `compose.yaml` + `compose.dev-override.yaml`. `just chat-prod` uses `compose.yaml` + `compose.prod-override.yaml`.
173+
133174
Portal has its own `.env` at `apps/portal/.env` — see `apps/portal/README.md` for details.
134175

135176
## Shared config
@@ -165,6 +206,7 @@ Workflows in `.github/workflows/`:
165206
- `portal-maintenance.yml` — TODO-to-issue conversion
166207
- `web-deploy.yml` — OpenNext deploy to Cloudflare Workers (PR previews + prod)
167208
- `chat-ci.yml` — bridge lint / test / coverage, Docker builds for IRC / XMPP / bridge
209+
- `pubnix-ci.yml` — ansible-lint + molecule tests for atl.sh provisioning
168210
- `docs-ci.yml` — Mintlify validate + broken link check
169211
- `codeql.yml` — CodeQL SAST (JS/TS, Python, Actions)
170212
- `dependency-review.yml` — PR dependency vulnerability check

0 commit comments

Comments
 (0)