Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions CLAUDE.md → AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,18 @@ When your changes create orphans:

The test: Every changed line should trace directly to the user's request.

## Test-Driven Development

**Red, green, refactor — never write implementation code first.**

1. **Red** — write a failing test that captures the desired behaviour. Run it and confirm it fails for the right reason.
2. **Green** — write the minimum code needed to make that test pass. Run the test and confirm it passes.
3. **Refactor** — clean up while keeping all tests green. Re-run the full test suite after every step.

- No production code without a failing test that demands it.
- If a test passes on the first run, verify it actually exercises the new behaviour — it may be a false green.
- Run the full suite (`dotnet test`) before declaring any task done.

## Goal-Driven Execution

**Define success criteria. Loop until verified.**
Expand All @@ -57,3 +69,16 @@ For multi-step tasks, state a brief plan:
```

Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.

## Keep the Regression Test Cases Up to Date

**Every code change must be reflected in `RegressionTests.md`.**

After making any change — new feature, behaviour change, bug fix, or removed functionality — update `RegressionTests.md` before considering the task done:

- Add a new case (following the existing `<AREA>-NN` ID and table format) for any new or changed user-visible behaviour.
- Amend the relevant existing case when behaviour changes.
- Remove or mark obsolete any case that no longer applies.
- Keep the Contents list in sync when a whole section is added or removed.

If a change genuinely affects no manual test case, say so explicitly instead of silently skipping this step.
Loading