What it contains
.claude/
rules/ modules loaded by Claude Code automatically
rules-optional/ optional modules, NOT loaded: activated on request
.claude-plugin/ `claude-config` marketplace (marketplace.json)
plugins/kit/ plugin with the twelve personal hooks (see plugin.md)
CLAUDE.md template of the project CLAUDE.md (fields [..] to fill in)
CHANGELOG.md changes to the template's rules (in a new project it is replaced)
copia-regole.bat Windows script: copies and updates the rules in a project (stays in the template)
.editorconfig .NET backend only (security analyzers with severity error)
NuGet.config .NET backend only (package source mapping)
.gitattributes line endings (text=auto)
.gitignore Visual Studio / .NET / Angular, Claude Code local files
_template/ template material
In a new project Claude deletes the material that belongs to the template and not to the project: _template/, .claude-plugin/, plugins/ and copia-regole.bat; .claude/rules/ and .claude/rules-optional/ stay, so the rules can be updated, added or removed even after the project has started; README.md and CHANGELOG.md are replaced by the project's own (_template/avvio-progetto.md, §3).
Rule modules
| Module | Where | When it is loaded |
|---|---|---|
core.md | rules/ | at startup (always) |
git.md | rules/ | at startup (always) |
security.md | rules/ | at startup (includes the ASVS 5.0 map, the checks on APIs, uploads, supply chain, logs and a minimal section on mobile) |
frontend.md | rules/ | when a *.ts, *.html, *.css, *.scss file is read or edited |
backend.md, backend-architecture.md, backend-app.md | rules/ | when a *.cs, *.csproj, *.props file is read or edited (the three backend modules are loaded together: common stack and rules; architecture and data access; application logic, errors and tests) |
docker.md | rules/ | when a Dockerfile, a compose file or docker/** is read or edited |
feature-workflow.md | rules-optional/ | fullstack only and on confirmation: flow per entity, backend → frontend |
backend-email.md | rules-optional/ | when sending email is needed |
backend-infra.md | rules-optional/ | when messaging, application cache or events are needed |
The area modules (frontend, backend, docker) use the paths: header with globs by extension, so they are identical in every project and do not take up context until a matching file is touched.
Every .md in .claude/rules/ is loaded: no files that are not rules should be added.
_template/
| File | Purpose |
|---|---|
avvio-progetto.md | Procedure that Claude follows to start a project (new or existing): questions, checks, choice of modules, filling in the CLAUDE.md. It must not be opened or quoted to Claude: it reads it on its own (see "How to use, in short" on the home page). |
kit plugin
The twelve personal hooks (blocks on forbidden commands, secrets and patterns; quality and practice warnings; reminders on the plan, closing and updated rules) are in the plugin plugins/kit/, distributed by the marketplace .claude-plugin/marketplace.json. What they do and how to install them: plugin.md.