Working with Claude Code
The repository is set up for Claude Code: it carries
the project's conventions in the form an AI agent reads, so that what the agent writes
follows the same architecture, naming and tests as the rest of the code. All of it is in
the repository — CLAUDE.md at the root and the .claude/ folder — and versioned with the
code it describes.
What the repository gives Claude Code
| Piece | Where | What it is |
|---|---|---|
| Project instructions | CLAUDE.md | The architecture, the build and test commands, the conventions — loaded at the start of every session |
| Rules | .claude/rules/ | Conventions loaded only when a matching file is touched |
| Skills | .claude/skills/ | Step-by-step guides for recurring tasks |
| Agents | .claude/agents/ | Specialised sub-agents for planning, implementing, testing and reviewing |
| Permissions | .claude/settings.json | The commands allowed without asking, and those denied |
Rules, by path
| Rule | Loaded for |
|---|---|
domain.md | Blouppy.*.Models and the SharedKernel |
web-api.md | back/Blouppy.Web/ |
testing.md | The test projects |
angular.md | front/application/src/ |
Skills
Most skills are used by Claude on its own when the task matches:
| Skill | For |
|---|---|
ddd-feature-implementation | The order in which a feature crosses the layers |
adding-ef-core-entity | An entity, its configuration, its repository and its migration |
adding-application-service | A service interface, its implementation, its validation and registration |
writing-validators | FluentValidation, including asynchronous rules |
adding-messaging-consumer | Reacting to, or publishing, an integration event |
adding-infrastructure-adapter | A new external system behind a port |
adding-angular-feature, adding-angular-component | A feature page, a reusable component |
writing-tests | Naming, structure, data and assertions |
git-workflow | Branch names, commit messages, pull requests |
Five are commands you invoke yourself:
| Command | Does |
|---|---|
/plan-ddd-feature | Plans a feature across every layer before any code |
/plan-tests | Lists the test cases for a class or method before writing them |
/review-backend | Reviews domain, module and infrastructure changes |
/review-frontend | Reviews Angular changes |
/fix-ci | Investigates and fixes a failing build or test |
Agents
backend-developer, angular-developer, tester and fixer implement;
plan-ddd-feature, plan-tests and plan-fix plan; backend-reviewer and
angular-reviewer review. Claude delegates to them when a task matches their
description.
A workflow
- Plan.
/plan-ddd-featurewith a description of the feature: it names the projects, types, endpoints, routes and tests the feature needs, layer by layer. Correct the plan before anything is written. - Implement. Ask Claude to implement the plan. The skills keep it on the Starter's
patterns —
internal sealedservices,ValidationResult<T>, a repository that never commits, a controller that does. - Test.
/plan-testson the new service, then let thetesteragent write them. - Review.
/review-backendand/review-frontendon the diff. - Check.
dotnet build back/(warnings are errors),dotnet test back/, and for the front endnpm run lint,npm testandnpm run build && npm run gallery— then look at the gallery yourself.
The tutorial is the same path, written for a person: reading it once makes it easier to review what an agent produces.
Keeping it true
CLAUDE.md and the skills describe the code; they do not enforce it. The architecture
tests do. When you change a convention — a new module, a renamed folder, a rule relaxed —
update CLAUDE.md and the skill that teaches it in the same pull request, or the next
session will follow the old one.