agentleFS
jackstinejackstine/forgectl/CLAUDE.md

forgectl

CLAUDE.md8 starsChanged 8 months agoMITView on GitHub

Spec-driven development harness. Compiles planning documents into production code through specifying, planning, and implementing phases. When an agent generates a file to be handed off to the next step, the agent must register that file with forgectl rather than just leaving it on disk: Registering the file makes forgectl aware that a handoff is pending, so the next forgectl advance tells the operator (or next agent) that there is a file provided by the agent which needs to be reviewed…

The file

We split this CLAUDE.md into the rules it gives an agent

5 rules. About 0 are common, 2 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    When an agent generates a file to be handed off to the next step, the agent must register that file with forgectl rather than just leaving …

    line 16
  2. Very specific:

    Do not update skill files (skills/) until implementation planning has begun.

    line 26
  3. Distinctive:

    When specifications, Go code, or configurations change, the derived documentation must be updated to match.

    line 41
  4. Distinctive:

    Update any diagram affected by architecture changes — state machines, workflows, CLI commands, evaluation criteria, skills, or data flow.

    line 45
  5. Very specific:

    Update schema docs when JSON structures change — fields added/removed/renamed in Go types, validation rules changed, or path resolution …

    line 49

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

Forgectl Root

Spec-driven development harness. Compiles planning documents into production code through specifying, planning, and implementing phases.

External Resources

Context 7 MCP resources

Agent Handoffs

When an agent generates a file to be handed off to the next step, the agent must register that file with forgectl rather than just leaving it on disk:

forgectl <command> file_name.md

Registering the file makes forgectl aware that a handoff is pending, so the next forgectl advance tells the operator (or next agent) that there is a file provided by the agent which needs to be reviewed before the workflow can move forward. This closes the gap where an agent's output can be silently passed over between phases.

Skills

Do not update skill files (skills/) until implementation planning has begun. Skills consume forgectl — updating them before the work is even planned creates a chicken-and-egg problem. Once a phase reaches implementation planning, its skill may be drafted and committed alongside the plan.

Release prep: write skills to the spec, not the current binary

We are preparing for release, and the binary is being completed now. The remaining spec'd behavior (e.g. the kind plan-queue field and the ui_implementing phase) is being implemented imminently. Author skills and their references as if the full spec'd implementation already exists. Describe the intended behavior from forgectl/specs/ directly — do NOT add "pending binary support", "not yet implemented", or "the validator will reject this" caveats for behavior that is spec'd and in-flight. Such hedging callouts must not appear in skill files. The specs are the contract the binary is converging on; skills target that contract.

Build

make build           # build forgectl binary
make install-global  # install to ~/.local/bin/forgectl

Keeping Docs in Sync

When specifications, Go code, or configurations change, the derived documentation must be updated to match.

Diagrams (docs/diagrams/)

Update any diagram affected by architecture changes — state machines, workflows, CLI commands, evaluation criteria, skills, or data flow. Read the diagram files to determine which ones are impacted.

Schemas (docs/schemas/)

Update schema docs when JSON structures change — fields added/removed/renamed in Go types, validation rules changed, or path resolution behavior changed. Read the schema files to determine which ones are impacted.

Source of truth

  • forgectl/state/types.go — authoritative source for all JSON schemas
  • forgectl/state/validate.go — what forgectl accepts and rejects
  • forgectl/specs/ — intended behavior
  • Diagrams and schema docs are derived — they follow the code and specs, not lead them.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.