Skip to content

Releases: ChriRas/craft

CRAFT v1.4.0 — Blocked-Slice Lifecycle, Checkable Phase Graph & Docs Site

Choose a tag to compare

@ChriRas ChriRas released this 12 Jul 22:21

Epic-002 (Blocked-Slice Lifecycle), the checkable phase-transition graph, read-only context sources, and the public documentation site.

Added

  • Blocked-slice lifecycle (epic-002, slices 023–026) — /craft:block records a first-class blocked state with a blocker taxonomy, a Blocked-status resume token and a structured ## Blocker section; /craft:unblock clears it via the resume / re-plan / abort fork; /craft:commit auto-resurfaces prerequisite-work dependents when their prerequisite lands; /craft:prime and /craft:status surface blocked slices with blocker + orphan detection; the slice-builder agent classifies out-of-scope blockers autonomously and pauses with a .craft/handoff.md instead of growing the slice.
  • Protected-main sequential-epic landing (slice-021) — sequential epics land each slice through the PR + GitHub-approval workflow ("approve ≠ merge").
  • Grouped /craft:status overview (slice-022) — phase names, progress bars, handoff markers, stale partition.
  • Profile-configurable Co-Authored-By trailer (slice-027).
  • Ensure-primed gate (slice-028) — context-dependent commands auto-run /craft:prime when the session marker is missing.
  • Read-only context sources (F1, slice-029) — declared "connected projects" and the in-repo research/ folder are readable but write-blocked via a PreToolUse guard; ships a self-contained test harness.
  • Phase-transition graph + marker contract (slice-031) — the status graph is declared once in skills/workflow/SKILL.md; status writes/reads/delegations carry machine-readable craft:writes / craft:reads / craft:delegates markers; scripts/test-workflow-status-graph.sh asserts graph closure under both Phase-7 configurations, marker↔table agreement in both directions, and /craft:continue routing.
  • Documentation sitedocs/ ships a self-contained bilingual (EN/DE) GitHub-Pages page in terminal aesthetic with automatic light/dark and SVG diagrams of the 9-phase loop, the status graph with every branch-off, and the three execution modes — plus a regeneration skill and the scripts/test-docs-site.sh staleness harness.

Fixed

  • Phase 8 unreachable when Phase 7 is dropped (B1, slice-031) — /craft:recap now writes Status: reviewing directly under the phase7-dropped configuration; previously such slices stalled at Status: review and Commit was never gated.
  • Read-only guard path normalization (slice-030) — traversal bypass (commands/../research/x) and false-deny (research/../commands/x) closed; guard↔helper normalizer agreement asserted against the real function.

Changed

  • rules.md / intent.md promote the slice-031 lessons: "prose is not checkable — markers are" and "a rule is never described twice."

Full changelog: https://github.com/ChriRas/craft/blob/main/CHANGELOG.md

CRAFT v1.3.0 — Autonomy Profiles

Choose a tag to compare

@ChriRas ChriRas released this 07 Jul 08:17

Epic-001 (Autonomy Profiles) plus the in-place / sequential execution and protected-main slices.

Added

  • Portable CRAFT profile format (slice-015) — a new .claude/project/craft-profile.md carrying autonomy, language, commit/merge, and per-agent model settings in one portable file, with named presets and sensible defaults. /craft:prime detects, validates, and reports the active profile.
  • Guided onboarding profile wizard + read-only permission allowlist (slice-017) — /craft:onboard walks the user through profile creation and seeds a tiered read-only permission allowlist in .claude/settings.local.json, cutting per-command permission prompts on common read-only tools.
  • In-place autonomous execution mode + /craft:release (slice-018) — /craft:execute gains Mode: in-place, building a slice on a branch in the main checkout with no commits and halting before Phase 5 so the raw diff can be reviewed in the IDE. The new /craft:release command is the human "approve-to-proceed" gesture that resumes the slice into Phase 5.
  • Profile-driven protected-main PR merge gate (slice-019) — /craft:commit runs gh pr merge itself, but only after a real human GitHub PR approval (never --admin). "Approve ≠ merge": the human approves, the system merges.
  • Sequential epic mode (slice-020) — /craft:execute gains Epic Mode: sequential, running an epic's slices one after another through the direct workflow instead of parallel worktrees; /craft:commit gains status-aware A1 handling and an in-place-finalize path.

Changed

  • Language and per-agent model settings now live in craft-profile.md (slice-016) — sourced by /craft:prime, /craft:commit, /craft:build, and /craft:review. The ## Operational Language and ## Agent Model Overrides blocks were removed from rules.md. Migration: projects that kept language or model-override settings in rules.md should move them into .claude/project/craft-profile.md — run /craft:onboard to generate one and migrate automatically.
  • intent.md promotes "approve ≠ merge on protected main" to a headline architectural decision.

Fixed

  • /craft:commit awaiting-release recovery now points at /craft:release (it referenced a stale recovery path).

Full changelog: https://github.com/ChriRas/craft/blob/v1.3.0/CHANGELOG.md

CRAFT v1.2.0 — Worktree Trust

Choose a tag to compare

@ChriRas ChriRas released this 07 Jul 08:17

Added

  • Worktree trust via additionalDirectories (slice-014) — /craft:execute now resolves the base directory of the configured Worktree path pattern and idempotently records it in permissions.additionalDirectories of .claude/settings.local.json before creating any worktree. This stops the per-path permission prompts that previously stalled autonomous runs (worktrees live outside the project root, which Claude Code does not trust by default). Ships scripts/ensure-worktree-trust.sh, which derives the base path platform-neutrally, merges without overwriting existing permissions, creates + gitignores the settings file when missing, and verifies the result is valid JSON.

Changed

  • ## Worktree Settings in the rules.md template (and this repo's own rules.md) documents that /craft:execute maintains the worktree base directory in permissions.additionalDirectories.

Note: this GitHub release was created retroactively; the v1.2.0 tag shipped 2026-06-07.

CRAFT v1.1.0 — Durable Capture

Choose a tag to compare

@ChriRas ChriRas released this 03 Jun 07:49

Minor release. Adds Durable Capture — a named CRAFT methodology principle that planning/design output is written to a durable artifact in the same turn it is produced. Chat is not storage.

Added

  • Durable Capture (slice-013) — named principle in the workflow Knowledge Model: context is ephemeral (cleared on /clear, compaction, or session end), so any analysis, decision, scenario, domain model, or proposal of lasting value produced during planning / design must be captured the same turn. Ships a routing table mapping each kind of output to its home, plus a worked example.
  • .claude/project/design/ knowledge home — canonical, on-demand directory for cross-cutting design knowledge (domain model, scenario catalogs, matrices) that is neither why (intent) nor how (rules). Not loaded on /craft:prime, so it costs no session-context budget. Wired into /craft:onboard (greenfield + migration) and the CLAUDE.md index template.
  • Closing-capture enforcement/craft:plan (Procedure step 9 + Post-Assertion P5) and /craft:epic (step 6 + P5) sweep the planning dialog and route material insight to its durable home before finishing: "Do not end a planning turn leaving material insight only in chat."

Changed

  • skills/senior-developer/SKILL.md workflow gates cross-reference Durable Capture, so the principle applies session-wide beyond the two planning commands.
  • intent.md records Durable Capture as a headline architectural decision.

Full changelog: https://github.com/ChriRas/craft/blob/main/CHANGELOG.md