Skip to content

What's included

Category Files Purpose
CI pipeline .gitlab-ci.yml, ci/*.yml Governance jobs (changelog, gate self-tests and parity, stale references, SAST, secret detection) + stack-specific includes + deploy templates
Git hooks hooks/, scripts/setup-hooks.sh Pre-commit: format-check, lint, typecheck. Pre-push: make pre-push-checks (duplicate-MR gate and parity gates)
Changelog changelog.d/, scripts/assemble-changelog.sh Fragment-based changelog, CI enforcement, auto-assembly
Release scripts/release.sh, scripts/release-notes.sh, docs/releases/ Version bump, changelog rotation, per-release notes
MR templates .gitlab/merge_request_templates/ Standardized MR description with checklist
Issue templates .gitlab/issue_templates/ Bug, Feature, Task templates
Claude agents .claude/agents/ VoC (opus), threat-model (opus), architect (opus), security (opus), rbac-check (sonnet), UX design (opus), UX review (sonnet), accessibility (sonnet), perf (sonnet), schema-check (sonnet), generated-artifact-check (sonnet), test (sonnet), regression (opus), dependency (sonnet), changelog (sonnet), docs (sonnet)
Claude skills .claude/skills/ /kickoff, /import-spec, /import-design, /dotplanning, /mr, /fix-mr, /mass-merge, /batch, /review, /adr, /ci-debug, /kaizen, /incident-postmortem, /tracker-hygiene, /release, /pre-release, /voc, /voc-audit, /sunset-check, /memory-audit
Harness gates scripts/check-*.sh, scripts/lib/, scripts/tests/ Duplicate-MR gate, pre-push parity, self-test parity, stale STUB/TODO(#N)/SUPPRESSED-UNTIL(#N) references, sigpipe-reader scan, shellcheck, memory-index check, each with a --self-test; tests for scripts/wt
Claude rules scripts/CLAUDE.md (real, ci/CLAUDE.md imports it), backend/CLAUDE.md.example, frontend/CLAUDE.md.example, tests/CLAUDE.md.example Nested CLAUDE.md files — Claude Code’s actual path-scoping mechanism — auto-loaded when editing gate scripts, backend, frontend, or test files; the .example ones move into place once your project has that tree
Claude hooks .claude/hooks/ Pre-tool safety guards, post-edit agent reminders, pre-MR security gate
Personas .claude/personas.md Voice of the Customer panel personas
ADRs docs/adr/ Architecture Decision Records (Nygard format)
Dep updates renovate.json, .github/dependabot.yml Automated dependency update MRs/PRs
Git config .gitattributes Line endings, merge strategies, binary detection
Global rules global-claude-md.example Copy to ~/.claude/CLAUDE.md to enforce agent workflow
Makefile Makefile Universal interface: setup, customize, lint, test, build, doctor
Project rules CLAUDE.md Coding conventions, security defaults, agent workflow
Contributing CONTRIBUTING.md Branch naming, commit format, MR checklist
  • No frontend? Delete ci/node.yml, remove node sections from Makefile, delete the ux-design.md, ux-review.md, and accessibility.md agents
  • Not a web service (no HTTP endpoints)? Delete the rbac-check.md agent and the pre-mr-security-gate.sh hook (and its UserPromptSubmit entry in settings.json)
  • No CI? Delete .gitlab-ci.yml and ci/ — the changelog workflow works locally without CI
  • No Claude Code? Delete .claude/ and global-claude-md.example — everything else works independently
  • Different license? Replace LICENSE with your preferred license text
  • GitHub instead of GitLab? Replace .gitlab-ci.yml.github/workflows/, .gitlab/.github/, glabgh; delete renovate.json (use .github/dependabot.yml instead)
  • GitLab instead of GitHub? Delete .github/ directory; keep renovate.json (or use GitLab’s built-in dependency scanning)

The template covers the core governance workflow. Depending on your project, consider adding these:

Enhancement What it adds When to add
CODEOWNERS file Automatic reviewer assignment per directory/file pattern When your team has >2 developers with distinct ownership areas
Container scanning in ci/docker.yml CVE scanning of built Docker images (e.g. Trivy, GitLab container scanning) When deploying containerized services to production
Dependency CVE scanning pip-audit / npm audit / govulncheck CI jobs alongside license checks When shipping to production (the template has license checks but not CVE scanning for Python/Node)
Richer MR template Migration notes, deployment impact, rollback plan, reviewer assignment sections When your deployments have database migrations or multi-service dependencies
GitLab approval rules Require N approvals before merge, with per-directory overrides When your team has a formal review process
GitLab merge trains Serialized merge queue that rebases and tests before merging When main breaks frequently from concurrent MR merges
.
├── .claude/
│ ├── agents/
│ │ ├── accessibility.md # WCAG 2.1 AA conformance (sonnet)
│ │ ├── architect.md # Technical architecture review (opus + sonnet sub-agents)
│ │ ├── changelog.md # Changelog fragment creation (sonnet)
│ │ ├── dependency.md # Package review before adding (sonnet + sonnet sub-agents)
│ │ ├── docs.md # Documentation writing (sonnet + sonnet sub-agents)
│ │ ├── generated-artifact-check.md # Schema/type/SDK drift and staleness (sonnet)
│ │ ├── perf-check.md # N+1 and query performance (sonnet)
│ │ ├── rbac-check.md # Access-control audit for endpoints (sonnet)
│ │ ├── regression-check.md # Pre-merge regression audit (opus + sonnet sub-agents)
│ │ ├── schema-check.md # Migration and constraint safety (sonnet)
│ │ ├── security-review.md # OWASP Top 10 + project-specific (opus + sonnet sub-agents)
│ │ ├── test-scaffold.md # Test generation (sonnet + sonnet sub-agents)
│ │ ├── threat-model.md # STRIDE threat model at design time (opus + sonnet sub-agents)
│ │ ├── ux-design.md # UI/UX design proposal (opus + sonnet sub-agents)
│ │ ├── ux-review.md # Design system compliance (sonnet)
│ │ └── voc.md # Voice of the Customer panel (opus + sonnet sub-agents)
│ ├── skills/
│ │ ├── adr/SKILL.md # /adr — Architecture Decision Record
│ │ ├── batch/SKILL.md # /batch — land a wave of issues, one agent per worktree ⛔
│ │ ├── ci-debug/SKILL.md # /ci-debug — diagnose pipeline failures
│ │ ├── dotplanning/SKILL.md # /dotplanning — plan a release milestone → HTML report ⛔
│ │ ├── fix-mr/SKILL.md # /fix-mr — get a blocked MR green AND mergeable ⛔
│ │ ├── import-design/SKILL.md # /import-design — design guide → frontend/CLAUDE.md
│ │ ├── import-spec/SKILL.md # /import-spec — PRD/spec → tracker issues ⛔
│ │ ├── incident-postmortem/SKILL.md # /incident-postmortem — one incident → a memory entry
│ │ ├── kaizen/SKILL.md # /kaizen — audit the harness for speed wins
│ │ ├── kickoff/SKILL.md # /kickoff — interactive project setup ⛔
│ │ ├── mass-merge/SKILL.md # /mass-merge — land a batch of MRs safely ⛔
│ │ ├── memory-audit/SKILL.md # /memory-audit — sweep the memory store ⛔
│ │ ├── mr/SKILL.md # /mr — open merge request ⛔
│ │ ├── pre-release/SKILL.md # /pre-release — cross-cutting audit
│ │ ├── release/SKILL.md # /release — create a release ⛔
│ │ ├── review/SKILL.md # /review — code review
│ │ ├── tracker-hygiene/SKILL.md # /tracker-hygiene — tracker drift sweep between kickoffs
│ │ ├── voc/SKILL.md # /voc — VoC panel on a spec, before build
│ │ ├── sunset-check/SKILL.md # /sunset-check — should this still exist?
│ │ └── voc-audit/SKILL.md # /voc-audit — VoC panel on what shipped ⛔
│ ├── hooks/
│ │ ├── on-stop.sh # Stop hook — post-response actions (notify, log)
│ │ ├── post-edit-checks.sh # Post-edit agent reminders (customize per stack)
│ │ ├── pre-mr-security-gate.sh # UserPromptSubmit — gate /mr on rbac/security review
│ │ └── pre-tool-safety.sh # Pre-tool guards (lock files, migrations, CI config)
│ ├── rules/
│ │ ├── backend.md # Path-scoped rules loaded on backend files
│ │ ├── frontend.md # Path-scoped rules loaded on frontend files
│ │ ├── gates.md # Path-scoped rules loaded on scripts/ and CI config
│ │ └── tests.md # Path-scoped rules loaded on test files
│ ├── personas.md # VoC persona definitions (replace examples with yours)
│ └── settings.json # Hooks, permissions, and Claude Code settings
├── .github/
│ └── dependabot.yml # Dependabot config (GitHub projects — delete if GitLab)
├── .gitlab/
│ ├── issue_templates/
│ │ ├── Bug.md
│ │ ├── Feature.md
│ │ └── Task.md
│ └── merge_request_templates/
│ └── Default.md
├── ci/
│ ├── docker.yml # Kaniko build verification
│ ├── go.yml # Go lint, test, vuln check
│ ├── node.yml # Node.js lint, test, license
│ └── python.yml # Python lint, test, license
├── changelog.d/
│ └── README.md # Fragment naming guide
├── docs/
│ ├── adr/
│ │ ├── README.md # ADR format and naming guide
│ │ └── 0001-record-architecture-decisions.md # Seed ADR (meta)
│ └── releases/ # Blueprint's own release notes (delete or replace with yours)
├── frontend/
│ └── CLAUDE.md.example # Package-level CLAUDE.md starter (see /import-design)
├── hooks/
│ ├── pre-commit # Runs make format-check, lint, typecheck (each if defined)
│ └── pre-push # Runs make pre-push-checks
├── scripts/
│ ├── lib/
│ │ └── git-ignored.sh # is_ignored / drop_ignored_lines — scan the repo, not the dir
│ ├── tests/ # wt-args / wt-prune / wt-ports tests for scripts/wt
│ ├── adr-accepted-issue-sweep.py # Open issues written BEFORE the ADR they name
│ ├── assemble-changelog.sh # Collect fragments into CHANGELOG.md
│ ├── check-gate-selftest-parity.sh # Every CI gate self-tests in its OWN job
│ ├── check-issue-collision.sh # Block a push that would duplicate another session's MR
│ ├── check-memory-index.sh # Claude memory index size and dangling links (make memory-check)
│ ├── check-prepush-parity.sh # Every CI gate script must be runnable before push
│ ├── check-release-pipeline.sh# A tag may not publish from a commit whose branch pipeline failed
│ ├── check-sigpipe-readers.sh # No early-exit reader (grep -q / head) behind a pipe
│ ├── check-stale-references.sh# STUB/WIP, TODO(#N)/SUPPRESSED-UNTIL(#N) vs closed issues
│ ├── check-version-lockstep.py# Every version-bearing manifest agrees, and none is behind the changelog
│ ├── customize.sh # Setup checklist (make customize) — reports, never edits
│ ├── doctor.sh # Verify prerequisites
│ ├── release-notes.sh # Generate docs/releases/<version>.md
│ ├── release.sh # Version bump + changelog rotation
│ ├── setup-hooks.sh # Install git hooks from hooks/
│ └── wt # Git-worktree helper (incl. worktree-private `wt stash`)
├── website/ # This documentation site (Astro Starlight → GitLab Pages)
├── .env.example
├── .gitattributes # Line endings, merge strategies, binary detection
├── .gitignore
├── .gitlab-ci.yml # Governance CI + stack includes
├── CHANGELOG.md # Seeded with [Unreleased]
├── CLAUDE.md # Project conventions for Claude Code
├── CONTRIBUTING.md # Contributor workflow guide
├── LICENSE # Apache 2.0 (change if needed)
├── global-claude-md.example # Copy to ~/.claude/CLAUDE.md to enforce agent workflow
├── Makefile # Universal: setup, customize, lint, test, build, doctor
├── README.md # Landing page — points here for everything else
└── renovate.json # Renovate config (GitLab projects — delete if GitHub)