create mvp path

This commit is contained in:
hamid
2026-08-02 20:01:31 +03:30
parent 72ab290da1
commit fb58ca54e1
203 changed files with 863 additions and 156 deletions
+3 -2
View File
@@ -3,11 +3,12 @@
The canonical agent guide for the backend is **[CLAUDE.md](CLAUDE.md)** (same folder): stack,
commands, the quality gates, the project map, and the hard rules every change must follow.
- Reference rules, read on demand per area → [../docs/rules/server/](../docs/rules/server/)
- Current product truth (what to test, what's blocking, what's missing) → [../mvp/](../mvp/README.md)
- Reference rules, archived, read on demand per area → [../archive/docs/rules/server/](../archive/docs/rules/server/)
(structure · cqrs · persistence · **money** · identity · conventions). `conventions.md` is the
successor to the old `CONVENTIONS.md`, which was distilled into it.
- Repo-wide context → [../CLAUDE.md](../CLAUDE.md)
- Business rules (schema, payments, escrow, verification) → [../product/](../product/index.md)
- Business rules (schema, payments, escrow, verification), archived → [../archive/product/](../archive/product/index.md)
- Human setup/run instructions → [README.md](README.md)
`CLAUDE.md` is the single source of truth; this file is just a pointer so the convention is
+14 -13
View File
@@ -7,8 +7,9 @@ every piece of encrypted PII and clinical data on the platform.
> Last verified: 2026-07-30 against commit `d3ec723`.
- Repo-wide context and the frontend → root [CLAUDE.md](../CLAUDE.md)
- Business rules (schema, payments, escrow, verification) → [`product/`](../product/index.md). **Read the
relevant doc before designing an entity, feature, or endpoint** — don't infer a business rule from code.
- Current product truth (what to test, what's blocking, what's missing) → [`mvp/`](../mvp/README.md)
- Business rules in depth (archived reference, not actively maintained) → [`archive/product/`](../archive/product/index.md).
**Read the relevant doc before designing an entity, feature, or endpoint** — don't infer a business rule from code.
---
@@ -113,7 +114,7 @@ Two pre-existing warnings are expected and must **not** be "fixed" unless a task
27. **Register infrastructure through a `ServiceConfiguration/` extension method** called from `Program.cs`.
No inline registration; `Program.cs` stays an orchestrator.
28. **A mock lives behind a DI-registered seam, selected by config, defaulting to the mock.** Never an
`if (mock)` in a handler. Record every mock in `docs/status/`.
`if (mock)` in a handler. Record every mock in [`mvp/blockers.md`](../mvp/blockers.md).
29. **No dead code** (the gate is zero new warnings) and **comment the *why*, never the *what*.**
30. **When you change the architecture, update the Project map below in the same change.**
@@ -123,7 +124,7 @@ Two pre-existing warnings are expected and must **not** be "fixed" unless a task
The canonical list of projects, layers, and cross-layer dependencies — **14 `.csproj` projects, 55 V1
controllers.** Expanded, with the seam catalogue and startup wiring, in
[`docs/rules/server/structure.md`](../docs/rules/server/structure.md).
[`docs/rules/server/structure.md`](../archive/docs/rules/server/structure.md).
```
src/
@@ -173,12 +174,12 @@ Open **one** of these for the area you are touching.
| Working on… | Read |
| --- | --- |
| Projects, layers, startup wiring, the seam catalogue, observability | [docs/rules/server/structure.md](../docs/rules/server/structure.md) |
| Adding a feature — command, query, handler, validator, controller | [docs/rules/server/cqrs.md](../docs/rules/server/cqrs.md) |
| EF Core, audit, state machines, uniqueness, snapshots, search, jobs, seeders | [docs/rules/server/persistence.md](../docs/rules/server/persistence.md) |
| **Anything on the money path** — ledger, refunds, BNPL, payouts, invoices | [docs/rules/server/money.md](../docs/rules/server/money.md) |
| Auth, JWE, sessions, field encryption, tenancy, disclosure, logging | [docs/rules/server/identity.md](../docs/rules/server/identity.md) |
| C# style, naming, async, error handling, tests, DI | [docs/rules/server/conventions.md](../docs/rules/server/conventions.md) |
| The wire contract — envelope, status codes, enums, pagination | [docs/integration/](../docs/integration/index.md) |
| What is built, what is mocked, what is next | [docs/status/](../docs/status/index.md) |
| Cross-project rules — naming, gates, code quality, config | [docs/rules/shared/](../docs/rules/shared/) |
| Projects, layers, startup wiring, the seam catalogue, observability | [docs/rules/server/structure.md](../archive/docs/rules/server/structure.md) |
| Adding a feature — command, query, handler, validator, controller | [docs/rules/server/cqrs.md](../archive/docs/rules/server/cqrs.md) |
| EF Core, audit, state machines, uniqueness, snapshots, search, jobs, seeders | [docs/rules/server/persistence.md](../archive/docs/rules/server/persistence.md) |
| **Anything on the money path** — ledger, refunds, BNPL, payouts, invoices | [docs/rules/server/money.md](../archive/docs/rules/server/money.md) |
| Auth, JWE, sessions, field encryption, tenancy, disclosure, logging | [docs/rules/server/identity.md](../archive/docs/rules/server/identity.md) |
| C# style, naming, async, error handling, tests, DI | [docs/rules/server/conventions.md](../archive/docs/rules/server/conventions.md) |
| The wire contract — envelope, status codes, enums, pagination | [docs/integration/](../archive/docs/integration/index.md) |
| What is built, what is mocked, what is next | [docs/status/](../archive/docs/status/index.md) |
| Cross-project rules — naming, gates, code quality, config | [docs/rules/shared/](../archive/docs/rules/shared/) |
+2 -2
View File
@@ -10,8 +10,8 @@ Backend API for the Balinyaar application. It is an **ASP.NET Core (.NET 10)** s
- Observability out of the box: Serilog, OpenTelemetry, Prometheus metrics, health checks
> Looking for an architecture/file map to navigate the code? See [CLAUDE.md](CLAUDE.md) (the project map
> and the hard rules) and [../docs/rules/server/](../docs/rules/server/) (the coding rules, one file per
> area — `conventions.md` is the successor to the former `CONVENTIONS.md`).
> and the hard rules) and [../archive/docs/rules/server/](../archive/docs/rules/server/) (the coding rules,
> one file per area — `conventions.md` is the successor to the former `CONVENTIONS.md`).
## Requirements