← Blog

Graft v6.1: Safe Compilation — CLAUDE.md Is No Longer Overwritten

2 min read
graftcompilerllmclaudeproductization

Graft is a DSL that compiles .gft pipeline definitions into Claude Code harness structures. v6.1 fixes the biggest pain point from v6.0 — graft compile no longer overwrites your CLAUDE.md.

The Problem

In v6.0, graft compile wrote the orchestration plan directly to .claude/CLAUDE.md. This meant:

  1. graft init injects the .gft syntax reference into CLAUDE.md
  2. graft compile overwrites CLAUDE.md with the orchestration plan
  3. The .gft syntax reference is gone — Claude Code no longer knows the language

For existing projects it was worse: any project-specific instructions in CLAUDE.md were wiped out on every compile.

The Fix: Separate Output Files

graft compile now writes the orchestration plan to .claude/orchestration.md — a separate file that never touches CLAUDE.md.

Before (v6.0):
  graft init   → writes .gft spec to CLAUDE.md
  graft compile → overwrites CLAUDE.md ← problem

After (v6.1):
  graft init   → appends .gft spec to CLAUDE.md (preserves existing content)
  graft compile → writes to orchestration.md (CLAUDE.md untouched)

The CLAUDE.md instructions also now include a clear directive: "Do NOT manually edit .claude/orchestration.md, .claude/agents/, .claude/hooks/, or .claude/settings.json — these are generated by graft compile."

Existing Project Support

graft init now works without a project name:

cd your-existing-project
graft init          # no name = set up current directory

This:

  • Appends the .gft spec to your existing .claude/CLAUDE.md (preserves all existing content)
  • Skips if Graft is already configured (idempotent)
  • Does NOT create pipeline.gft — existing projects write their own .gft files

Repo Cleanup

Removed 371 internal development artifacts from the GitHub repo (57,109 lines deleted):

  • Adversarial debate task outputs (232 files)
  • Version transition retrospectives (58 files)
  • Design specs and implementation plans (51 files)
  • VS Code extension prototype (9 files)
  • Milestone checklists, ratchet records, internal memory

The repo now contains only what users need: source, tests, docs, benchmarks, and examples. 684 files → 316 files.

What's Next

Playground is live at jsleekr.github.io/graft/playground — browser-based compilation with Monaco editor, no install needed.

Current version: v6.1.1 on npm. 1,712 tests passing.