Skip to content

Commit ae3b719

Browse files
authored
Merge pull request #123 from nanotaboada/docs/adr-0009-0011
docs(adr): add themed versioning, AI workflow and SDD records
2 parents 6c55d55 + 183c6f1 commit ae3b719

16 files changed

Lines changed: 216 additions & 15 deletions

.claude/commands/pre-commit.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ Run the pre-commit checklist for this project:
1010
2. Run `cargo fmt` — formats code in place.
1111
3. Run `cargo clippy --all-targets --all-features -- -D warnings` — must pass clean.
1212
4. Run `cargo test` — all tests must pass.
13-
5. Run `cargo build` — must succeed.
14-
6. If Docker is running, run `docker compose build` — must succeed with no
13+
5. Run `cargo tarpaulin --fail-under 80` — coverage must be ≥80%.
14+
6. Run `cargo build` — must succeed.
15+
7. If Docker is running, run `docker compose build` — must succeed with no
1516
errors. Skip this step with a note if Docker Desktop is not running.
16-
7. If `coderabbit` CLI is installed, run `coderabbit review --type uncommitted --prompt-only`:
17+
8. If `coderabbit` CLI is installed, run `coderabbit review --type uncommitted --prompt-only`:
1718
- If actionable/serious findings are reported, stop and address them before proposing the commit.
1819
- If only nitpick-level findings, report them and continue to the commit proposal.
1920
- If `coderabbit` is not installed, skip this step with a note.
2021

21-
Run steps 2–5, run step 6 (docker build), then run step 7 (CodeRabbit review) if available, report the results clearly, then propose a branch name and commit message for my approval using the format `type(scope): description (#issue)` (max 80 chars; types: `feat` `fix` `chore` `docs` `test` `refactor` `ci` `perf`) followed by a co-author line `Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>`. Do not create the branch or commit until I explicitly confirm.
22+
Run steps 2–6, run step 7 (docker build), then run step 8 (CodeRabbit review) if available, report the results clearly, then propose a branch name and commit message for my approval using the format `type(scope): description (#issue)` (max 80 chars; types: `feat` `fix` `chore` `docs` `test` `refactor` `ci` `perf`) followed by a co-author line `Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>`. Do not create the branch or commit until I explicitly confirm.

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,14 @@ Release codenames follow an A-Z sequence using Ballon d'Or award nominees surnam
4444

4545
### Added
4646

47-
- Architecture Decision Records in `adr/`: 8 ADRs (0001–0008) documenting framework selection, four-layer architecture, Diesel/r2d2/SQLite persistence stack, dual-key strategy, PUT semantics, embedded migrations, integration-only testing, and Docker/Compose strategy (`#113`)
47+
- Architecture Decision Records in `docs/adr/`: 11 ADRs (0001–0011) documenting framework selection, four-layer architecture, Diesel/r2d2/SQLite persistence stack, dual-key strategy, PUT semantics, embedded migrations, integration-only testing, Docker/Compose strategy, Ballon d'Or-themed versioning, AI-assisted development workflow, and Spec-Driven Development (`#113`)
4848

4949
### Changed
5050

5151
- Replace `cargo install cargo-tarpaulin` with `taiki-e/install-action@v2.81.8` in CI to use a pre-built binary and reduce coverage job runtime
5252
- Consolidated agent instructions from `.github/copilot-instructions.md` into `CLAUDE.md`; deleted the legacy split-file layout (`#112`)
5353
- Rewrote all stale `.coderabbit.yaml` path instructions to reflect the current Diesel/r2d2/SQLite architecture; removed all references to the old `Mutex<Vec<Player>>` in-memory design (`#112`)
54+
- Added `cargo tarpaulin --fail-under 80` to the `/pre-commit` checklist to enforce 80% coverage locally
5455

5556
### Fixed
5657

CLAUDE.md

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ cargo test -- --nocapture # with output
7070
3. `cargo build` — must succeed
7171
4. `cargo test` — all tests must pass
7272
5. Commit message follows Conventional Commits format (enforced by commitlint)
73-
6. If this commit introduces or changes an architectural decision, update `CLAUDE.md` and create or amend the relevant ADR in `adr/`.
73+
6. If this commit introduces or changes an architectural decision, update `CLAUDE.md` and create or amend the relevant ADR in `docs/adr/`.
7474
7. If this commit adds, removes, or changes an endpoint, a dependency, or how the project is run, update `README.md` and the relevant path instructions in `.coderabbit.yaml`.
7575

7676
### Commits
@@ -148,20 +148,23 @@ Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
148148

149149
## Architecture Decision Records
150150

151-
Architectural decisions are documented in `adr/`. When proposing structural
151+
Architectural decisions are documented in [`docs/adr/`](docs/adr/README.md). When proposing structural
152152
changes, check the ADR index first. When a decision changes, mark the existing
153153
ADR as `Deprecated` or `Superseded by ADR-XXXX` and write a new one.
154154

155155
Current ADRs:
156156

157-
- [ADR-0001](adr/0001-adopt-rocket-as-rest-api-framework.md) — Rocket 0.5 as HTTP framework
158-
- [ADR-0002](adr/0002-four-layer-architecture.md) — Routes → Services → Repositories → State
159-
- [ADR-0003](adr/0003-diesel-r2d2-bundled-sqlite.md) — Diesel + r2d2 + bundled libsqlite3
160-
- [ADR-0004](adr/0004-uuid-surrogate-squad-number-natural-key.md) — UUID surrogate key + squad number natural key
161-
- [ADR-0005](adr/0005-full-replace-put-no-patch.md) — Full-replace PUT, no PATCH
162-
- [ADR-0006](adr/0006-embed-migrations-startup-schema.md)`embed_migrations!()` at startup
163-
- [ADR-0007](adr/0007-integration-only-test-strategy.md) — Integration-only tests with in-memory SQLite
164-
- [ADR-0008](adr/0008-docker-compose-strategy.md) — Multi-stage Dockerfile + Compose
157+
- [ADR-0001](docs/adr/0001-adopt-rocket-as-rest-api-framework.md) — Rocket 0.5 as HTTP framework
158+
- [ADR-0002](docs/adr/0002-four-layer-architecture.md) — Routes → Services → Repositories → State
159+
- [ADR-0003](docs/adr/0003-diesel-r2d2-bundled-sqlite.md) — Diesel + r2d2 + bundled libsqlite3
160+
- [ADR-0004](docs/adr/0004-uuid-surrogate-squad-number-natural-key.md) — UUID surrogate key + squad number natural key
161+
- [ADR-0005](docs/adr/0005-full-replace-put-no-patch.md) — Full-replace PUT, no PATCH
162+
- [ADR-0006](docs/adr/0006-embed-migrations-startup-schema.md)`embed_migrations!()` at startup
163+
- [ADR-0007](docs/adr/0007-integration-only-test-strategy.md) — Integration-only tests with in-memory SQLite
164+
- [ADR-0008](docs/adr/0008-docker-compose-strategy.md) — Multi-stage Dockerfile + Compose
165+
- [ADR-0009](docs/adr/0009-ballon-dor-themed-versioning.md) — Ballon d'Or-themed release codenames
166+
- [ADR-0010](docs/adr/0010-ai-assisted-development-workflow.md) — Claude Code as primary workflow tool
167+
- [ADR-0011](docs/adr/0011-spec-driven-development.md) — Spec-Driven Development (SDD)
165168

166169
## Claude Code
167170

File renamed without changes.
File renamed without changes.

adr/0004-uuid-surrogate-squad-number-natural-key.md renamed to docs/adr/0004-uuid-surrogate-squad-number-natural-key.md

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)