The implementer + reviewer sandcastle prompts already enforce
conventional commits, but the convention was buried in those prompt
templates — agents not running through sandcastle (e.g. interactive
Claude sessions, ad-hoc fixups) had no visible signal that the format
is non-negotiable.
Four visibility surfaces now carry the signal:
- CLAUDE.md Key Conventions: new top bullet stating the spec
(<type>(<scope>): <subject>), the full type list, breaking-change
syntax (!), and three example commits
- AGENTS.md preamble: parallel callout alongside the vocabulary
and quality-gates notes
- .claude/hooks/session-start.sh: one-line reminder in the boot
pointers (every session now sees it at start)
- .claude/hooks/prompt-context.sh: new 10th keyword group fires
when a user prompt mentions commit/message/changelog/conventional,
injecting the full spec into the turn's context
Conventional Commits spec: https://www.conventionalcommits.org/
Verified: the prompt-context hook smoke-tests green when a prompt
containing "commit message" is piped in — it emits the conventional
commits pointer.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
17 lines
808 B
Bash
Executable File
17 lines
808 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Tier 2 — surfaces a fresh session's "where to look first" pointers.
|
|
# Output on stdout is injected as additional context.
|
|
|
|
cat <<'EOF'
|
|
=== template-vertical session pointers ===
|
|
Canonical vocabulary: docs/glossary.md (resolve "what does X mean here?" first)
|
|
Architecture: AGENTS.md, docs/architecture/overview.md, docs/architecture/agent-first-workflow-and-conformance.md
|
|
Workflow: pnpm work status | pnpm work next | pnpm work dispatch (ADR-019)
|
|
Generator-first: pnpm turbo gen <kind> beats hand-rolled scaffolding (non-negotiable)
|
|
Conformance: pnpm conformance + pnpm fallow (5-gate drift detection)
|
|
Conventional Commits (non-negotiable): <type>(<scope>): <subject> — see CLAUDE.md Key Conventions
|
|
Skills: to-prd, grill-with-docs, grill-me, handoff (.claude/skills/)
|
|
EOF
|
|
|
|
exit 0
|