Skip to content

v0.9.0

Latest

Choose a tag to compare

@chrispezza chrispezza released this 12 Jul 19:00
· 144 commits to master since this release
d7f8b06

Release candidate. Material shift in positioning: this template is now a reference implementation of the layered AI constitution pattern with halt-on-violation enforcement.

Added

  • Layered AI constitution split across CLAUDE.md, .claude/engineering.md, .claude/workflow.md, .claude/stack.md, and .claude/roles/ (ADR-036)
  • Testing philosophy adopted as house rules — test-first, AAA structure, no conditional assertions, no lowered thresholds (ADR-037)
  • Three-pass Architect → Coder → Reviewer workflow with explicit hand-off artefacts (ADR-038)
  • Container API helper for .astro component microtests; microtests now ship for every atom and molecule (ADR-040)
  • Stryker mutation testing nightly via .github/workflows/mutation.yml; local invocation pnpm test:mutate (ADR-042)
  • CRAP score budget policy for high-coupling functions (ADR-043)
  • Coupling-map tooling to surface high-fan-in modules (ADR-044)
  • AGENTS.md at repo root — cross-tool AI agent spine read natively by Cursor, Codex CLI, Copilot, Windsurf, Aider, Devin, Zed, Continue, Amp, and Amazon Q (ADR-045)
  • scripts/src/build-agents-md.ts with pnpm agents:build and pnpm agents:check — generates AGENTS.md from the layered constitution; CI fails on drift
  • Homepage "AI-Assisted Development" card rewritten as "Agentic Discipline Built In" naming the constitution, role-separated workflow, and halt-on-violation gates
  • Homepage tech stack now lists Astro Container API and Stryker as first-class testing tools
  • README "Why This Starter?" bullet rewritten ("Agentic discipline built in") and a new "Working with AI Agents" section documents the layered constitution, the AGENTS.md cross-tool spine, and Uncle Bob's Clean AI: Agentic Discipline source
  • SVG hero images for the design-decisions and ai-optimized-means-ai-ready blog posts; the latter is now published (draft removed)

Changed

  • pnpm quality:ci now halts on any violation — broken tests, lint, types, and markdown all block merge with no --no-verify bypass (ADR-039). Breaking for contributors: PRs that previously landed without passing tests will now be blocked.
  • quality:ci now also chains agents:check so a source-file edit without AGENTS.md regeneration fails CI
  • .windsurfrules shrunk from 179 lines to a ~20-line Windsurf-specific overlay; full context now comes from AGENTS.md
  • .claude/stack.md "Multi-tool sync" footer replaced with a generated-spine note
  • docs/ai-context/INDEX.md Rules of Engagement section no longer duplicates the halt-on-violation rules (the 7-vs-10 drift it encoded was the motivating example for ADR-045); points at AGENTS.md instead
  • docs/ai-context/ai-rules-setup.md rewritten for the AGENTS.md pattern with a 2026 tool-support matrix
  • ADR-035 Category 1 enumeration: airules.example row removed; AGENTS.md row added
  • README, CONTRIBUTING, and docs/getting-started/included-in-this-template.md updated to describe the cross-tool spine instead of the per-tool copy workflow
  • E2E suite restructured for ADR-037 hygiene (one logical assertion per test, behaviour-describing names); Gherkin extension declined as unnecessary ceremony given the rewrite already reads as specifications
  • Homepage Foundation tier card replaces "CI pipeline" with "Layered AI constitution" and "Halt-on-violation CI gates"
  • Homepage Build tier card replaces "Automated tests & CI quality gates" with "Container API microtests for every atom & molecule" and "Test-first discipline enforced in CI (ADR-037)"
  • Homepage Polish tier card replaces "Post-launch monitoring" with "Mutation testing as quality verification (ADR-042)"
  • Homepage "Lighthouse Performance Scores" section renamed to "Quality Metrics" to accommodate both runtime performance and test-quality dimensions
  • Homepage CTA footer "AI Optimized" replaced with "Agentic Discipline"; subhead updated to reference the layered constitution
  • package.json description rewritten from "AI-optimized documentation" to "a layered AI constitution with halt-on-violation enforcement"; previously-empty author, homepage, repository.url, and bugs.url fields populated
  • ADR-040 Notes section cleaned of a hardcoded /Users/chrispezza/… path leak — now cross-links to ADR-042 instead

Fixed

  • @stryker-mutator/core, @stryker-mutator/vitest-runner, and @vitest/coverage-v8 were declared but not installed locally; lockfile refreshed so pnpm test:mutate works on first clone

Removed

  • airules.example — stale Chrome Extension / React / Shadcn / Express boilerplate; setup docs that recommended copying it (cp airules.example .windsurfrules) would have overwritten the working Windsurf rules with the wrong stack. Replaced by the generated AGENTS.md pattern (ADR-045)