diff --git a/CLAUDE.md b/CLAUDE.md index 90114e03..5c4e53a9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -6,17 +6,31 @@ When a change is requested, the default assumption is: update the design doc *an ## Project Structure +### Top-level directories + - `src/` — C#/.NET implementation, one project per component (e.g. `ZB.MOM.WW.ScadaBridge.AuditLog`, `ZB.MOM.WW.ScadaBridge.NotificationOutbox`, `ZB.MOM.WW.ScadaBridge.SiteCallAudit`, `ZB.MOM.WW.ScadaBridge.CentralUI`, `ZB.MOM.WW.ScadaBridge.Host`, …). Solution file: `ZB.MOM.WW.ScadaBridge.slnx`. - `tests/` — Test projects (unit + integration). +- `docs/` — Design documentation: `docs/requirements/` (high-level + per-component specs), `docs/test_infra/` (test infrastructure), `docs/plans/` (design-decision and implementation-plan docs). The spec the code implements. - `docker/` — 8-node cluster topology (2 central + 3 sites), `deploy.sh`, per-node `appsettings.*.json`. See [`docker/README.md`](docker/README.md) for setup, ports, and management commands. Rebuild + redeploy with `bash docker/deploy.sh`. - `docker-env2/` — Minimal second cluster topology (2 central + 1 site × 2 nodes), runs concurrently with `docker/` on host ports 91XX. Built specifically for testing the Transport (#24) feature with two real environments. See [`docker-env2/README.md`](docker-env2/README.md). Rebuild + redeploy with `bash docker-env2/deploy.sh`. - `infra/` — Docker Compose for local test services (LDAP, MS SQL, OPC UA, SMTP, REST API, Traefik). +- `deploy/` — Production/on-host deployment artifacts (e.g. `deploy/wonder-app-vd03/`: `appsettings.Central.json`, `appsettings.Site.json`, `install.ps1`/`uninstall.ps1`, `RUNBOOK.md`). +- `deployments/` — Deployment topology notes (`docker-cluster.md`, `docker-cluster-env2.md`, `README.md`). +- `code-reviews/` — Per-component code-review notes (one folder per component, plus `_template`). +- `tools/` — Repo maintenance/utility scripts (e.g. `rename-to-scadabridge.sh`). +- `AkkaDotNet/` — Akka.NET reference documentation and best-practices notes. +- `deprecated/` — Retired docs/notes kept for reference. +- `logs/` — Local runtime log output. +- `vendor/` — Vendored third-party assets (currently an empty placeholder). +- `.claude/` — Claude Code project config (settings, skills, agents). + +### Key documents + - `README.md` — Master index with component table and architecture diagrams. - `docs/requirements/HighLevelReqs.md` — Complete high-level requirements covering all functional areas. - `docs/requirements/Component-*.md` — Individual component design documents (one per component) — the spec the code implements. - `docs/test_infra/test_infra.md` — Master test infrastructure doc (OPC UA, LDAP, MS SQL, SMTP, REST API, Traefik). - `docs/plans/` — Design decision and implementation-plan documents from refinement sessions. -- `AkkaDotNet/` — Akka.NET reference documentation and best practices notes. ## Sister Projects