Skip to content
/

Deliberate Agentic Development

deliberate-agentic-dev · Matt-Hulme/deliberate-agentic-development · ★ 26 · last commit 2025-10-08

Structured AI agent workflow with Linear integration, human-review gates at every commit/PR/milestone, and state.json position tracking for precise resume.

Best whenLinear as first-class PM — agent posts commit/PR details as Linear comments, creating a bidirectional audit trail between AI work and human-visible project m…
Skip ifSkipping commit/PR/milestone review gates, Running without Linear MCP configured
vs seeds
agent-os(Archetype 4 — markdown scaffold + workflow files) but adds Linear as first-class PM integration (bidirectional: agent c…
Primitive shape 1 total
MCP tools 1
00

Summary

Deliberate Agentic Development — Summary

Deliberate Agentic Development is a structured workflow system for AI coding agents (Claude Code, Cursor, Codex) that delivers Plan → Build → Ship with mandatory human-review checkpoints, Linear project management integration, state persistence via state.json, and support for FAST/SLOW project modes (the latter enabling TDD).

Problem it solves: AI coding agents autonomously generate code without structured planning gates, human review points, or coordination with project management tools — leading to scope drift and lack of accountability.

Distinctive trait: Linear integration as first-class PM — the framework creates Linear issues, updates task statuses, and posts commit/PR details as Linear comments automatically, giving teams a fully connected project management trail alongside AI-driven code changes.

Target audience: Teams using Linear for project management + GitHub for code who want AI agents to plan and implement with full traceability and human oversight at every milestone.

Production-readiness: Alpha/active (26 GitHub stars, 1 contributor, last pushed October 2025, MIT license).

Differs from seeds: Closest to agent-os (Archetype 4 — markdown scaffold + workflow files) but adds Linear integration, state.json position tracking (so agents resume from exact position across sessions), and FAST/SLOW mode switching — none of which exist in agent-os.

01

Overview

Deliberate Agentic Development — Overview

Origin

Matt Hulme (independent developer, Twitter: @MattHProgrammer), released as an MIT-licensed "source-available, contributions not accepted" alpha. The framework is explicitly marked as undergoing active iteration.

Philosophy

Deliberate Agentic Development is built on the premise that AI coding agents need structured, human-supervised workflows to produce reliable software at team scale. The name "deliberate" captures the core philosophy: every step should be intentional, reviewed, and tracked — not just generated.

Manifesto-style quotes (verbatim from README)

"Structured workflows for AI agents. Guides Claude Code, Cursor, Codex, and other AI assistants through deliberate software development with checkpoints, reviews, and human oversight. Plan → Build → Ship with full control."

"FREEMODE allows you to temporarily disable all workflow rules and context loading when you need a lightweight conversation without the full agent system."

"MANDATORY FIRST STEPS - EXECUTE IN ORDER"

Design Choices

  • state.json tracks exact project position (milestone, issue, task, branch) — agents can resume precisely
  • Smart context loading: loads ALL rules in planning phase, selective rules in implementing phase (inferred from filename relevance)
  • FAST vs SLOW mode: FAST (quick demos, manual testing only) vs SLOW (production quality, TDD, full test coverage)
  • Linear as first-class PM tool (not optional): issues, task lists, comments, and PR details flow to Linear
  • FREEMODE escape hatch: FREEMODE START disables all workflow rules without modifying state
  • Agent-specific config loading: Claude → .claude/, Cursor → .cursor/, Codex → .codex/
  • Documentation has three layers: system docs (agent-maintained), rules (developer-controlled), project archive
02

Architecture

Deliberate Agentic Development — Architecture

Distribution

Standalone GitHub repo. No package manager. Install = copy AGENTS.md + .agents/ to project.

Install

cp AGENTS.md /path/to/your/project/
cp -r .agents/ /path/to/your/project/
# Edit .agents/rules/PRE-COMMIT-RULES.md with your validation commands

Directory Tree

your-project/
├── AGENTS.md                         # Main orchestrator (loaded first by AI)
└── .agents/
    ├── PLAN.md                        # Planning orchestrator
    ├── PLAN-PROJECT.md                # Project planning workflow
    ├── PLAN-ISSUE.md                  # Issue planning workflow
    ├── IMPLEMENT.md                   # Implementation workflow
    ├── state.json                     # Position tracker {milestone, issue, task, branch}
    ├── templates/                     # Reusable templates
    ├── documentation/
    │   ├── PRODUCT-OVERVIEW.md        # Project vision + tech stack
    │   ├── systems/                   # Feature docs (agent-maintained)
    │   │   └── *.md  [CURRENT|LEGACY]
    │   └── project-archive/           # Completed milestone archives
    └── rules/
        ├── PRE-COMMIT-RULES.md        # REQUIRED: validation commands
        ├── CORE-RULES.md
        ├── API-RULES.md
        ├── DATABASE-RULES.md
        └── testing/
            ├── frontend/
            └── backend/

Required Runtime

  • gh CLI (for PRs)
  • Linear MCP (for project management)
  • Optional: any AI agent that reads AGENTS.md

Target AI Tools

Claude Code, Cursor, Codex (and any others). The framework auto-detects agent type and loads agent-specific config (.claude/, .cursor/, .codex/).

Config Files

  • AGENTS.md — master workflow entry point
  • .agents/state.json — position tracker
  • .agents/rules/PRE-COMMIT-RULES.md — required validation commands
  • .agents/documentation/PRODUCT-OVERVIEW.md — project vision
03

Components

Deliberate Agentic Development — Components

Workflow Files

File Purpose
AGENTS.md Master orchestrator — FREEMODE control, context loading instructions, state.json reading
.agents/PLAN.md Planning orchestrator — routes to project vs issue planning
.agents/PLAN-PROJECT.md Project planning — vision, tech stack, milestones, Linear issues
.agents/PLAN-ISSUE.md Issue planning — task breakdown for all milestones
.agents/IMPLEMENT.md Implementation workflow — full task → commit → PR → merge cycle

State Tracker

{
  "project_speed": "fast",
  "project_type": "new",
  "project_phase": "implementing",
  "current": {
    "milestone": "M3",
    "issue": "M3.1",
    "task": "M3.1.1",
    "branch": "{{TICKET_PREFIX}}-21"
  }
}

Documentation System (Agent-maintained)

Path Purpose
documentation/PRODUCT-OVERVIEW.md Project vision, tech stack, target users
documentation/systems/*.md Feature documentation (auto-created/updated by agent)
documentation/project-archive/ Completed project exports with milestone artifacts

Rules System (Developer-controlled)

File Purpose
rules/PRE-COMMIT-RULES.md REQUIRED — validation commands (format, lint, typecheck)
rules/CORE-RULES.md Core coding conventions
rules/API-RULES.md REST conventions, error codes
rules/DATABASE-RULES.md Schema patterns, migrations
rules/testing/frontend/*.md Frontend test rules
rules/testing/backend/*.md Backend test rules

External Integrations

  • Linear MCP — create/update issues, tasks, comments, mark milestones done
  • GitHub CLI (gh) — create PRs, auto-merge

Project Modes

Dimension Options
Speed FAST (manual testing only) / SLOW (TDD, full coverage)
Type NEW (from scratch) / LEGACY (includes M0 analysis phase)
FREEMODE Temporary bypass of all workflow rules
05

Prompts

Deliberate Agentic Development — Prompts

Excerpt 1: AGENTS.md — FREEMODE and Context Loading Instructions (verbatim)

File: AGENTS.md Technique: Escape hatch pattern + mandatory sequential loading protocol. The FREEMODE toggle is explicitly designed to avoid context weight without losing state.

**FREEMODE (Context/Workflow Control):**

FREEMODE allows you to temporarily disable all workflow rules and context loading when you need a lightweight conversation without the full agent system.

**Usage:**
- `FREEMODE START` - Early return from AGENTS.md. Ignore all workflow rules and context loading. Treat the chat like a blank slate.
- `FREEMODE END` - Load AGENTS.md from the beginning and follow all standard workflow rules as normal.

**Note:** FREEMODE does not modify state.json. Your project position is preserved.

## MANDATORY FIRST STEPS - EXECUTE IN ORDER (skip if FREEMODE active):

1. **Check Project State**
   - Read state.json to check workflow phase
   - If no state.json exists:
     a. First time setup → Ask: "Tell me about your project"
     b. Review Required Tools (Section 2) and verify connections

2. **Load Core Documentation**
   - Always load PRODUCT-OVERVIEW.md for product vision and tech stack

3. **Load Phase-Specific Workflow**
   Based on `project_phase` from state.json:
   - `"planning-project"` → Load PLAN.md then PLAN-PROJECT.md
   - `"planning-issue"` → Load PLAN.md then PLAN-ISSUE.md
   - `"implementing"` → Load IMPLEMENT.md

Excerpt 2: IMPLEMENT.md — Smart Context Loading Decision Tree (verbatim)

File: .agents/IMPLEMENT.md Technique: Declarative decision tree for selective context loading. Avoids loading all rules on every turn — infers relevance from filenames without reading content.

**Decision Tree:**
Check project_phase from state.json
│
├─ "planning-project"
│  └─ Load ALL files in rules/
│     (Architecture decisions need full context)
│
└─ "planning-issue" OR "implementing"
   └─ Smart loading based on current work:
      a. List filenames in rules/ and documentation/systems/
      b. Infer relevance from filename (don't search content)
      c. Load only what's relevant to current work

Example: Task "Create user API"
→ Load: API-RULES.md, AUTHENTICATION.md
→ Skip: UI-RULES.md, TESTING.md (unless relevant)
09

Uniqueness

Deliberate Agentic Development — Uniqueness

Differs from Seeds

Closest to agent-os (Archetype 4 — markdown scaffold + workflow files) but with three distinctive additions: (1) Linear integration as first-class PM — agent creates/updates Linear issues, posts commit and PR details as Linear comments, creating a bidirectional link between AI work and human-visible project management; (2) state.json position tracker — enabling precise resume across sessions (agent-os has no equivalent); (3) FAST/SLOW project mode — explicitly toggling TDD enforcement at project initialization time. Unlike kiro, this is not an IDE; unlike taskmaster-ai, the PM tool is Linear (external) rather than a local tasks.json. The FREEMODE escape hatch is a pragmatic design not found in other frameworks — acknowledging that full workflow loading is sometimes counterproductive.

Positioning

DAD positions as a "structured workflow system for AI agents" emphasizing human oversight at every key decision. It occupies the space between fully autonomous AI agents (too risky) and fully manual development (too slow).

Distinctive Opinion

The smart context loading decision tree is architecturally notable: it explicitly encodes token budget management as a workflow instruction — "infer relevance from filename, don't read content" — rather than relying on context compaction tools.

Observable Failure Modes

  1. Linear dependency: The entire PM tracking breaks without Linear MCP configured; alternative PM tools require find/replace in workflow files
  2. Single contributor: One maintainer, contributions not accepted — fork risk
  3. Alpha quality: README warns of "rough edges and active iteration"
  4. No auto-test execution: PRE-COMMIT-RULES.md must be manually configured; if not set up, validation gate is empty
  5. GitHub-only PR creation: gh CLI dependency means GitLab/Bitbucket users must adapt
04

Workflow

Deliberate Agentic Development — Workflow

Planning Phase

Step Action Artifact
1. Vision Define product vision, tech stack, constraints PRODUCT-OVERVIEW.md
2. Milestones Break into milestones (M1, M2, ...) Linear parent ticket
3. Issues Plan tasks per milestone Linear issues with task lists

Implementation Phase (per task)

Step Action Gate
1. Issue Selection Load first/next issue, check dependencies
2. Issue Plan Confirmation Review Linear task list, verify approaches
3. Branch Setup Create feature branch, set issue "In Progress" in Linear
4a. Test Development {{SLOW ONLY}} Write tests (TDD)
4b. Task Implementation Code one task
5. Pre-Commit Validation Run PRE-COMMIT-RULES.md commands
6. Commit Review Present diff to user [CHECKPOINT — Review]
7. Commit git commit with proper format
8. Linear Update Check task in issue, add commit comment
9. State Update Increment task in state.json
10. Docs Check Update documentation/systems/ if needed

PR / Milestone Completion

Step Action Gate
1. State Update Move to next issue in state.json
2. Create PR Push + gh pr create
3. PR Review Present to user [CHECKPOINT — Review]
4. Merge Auto-approve and merge
5. Mark Done Update Linear issue status
6. Milestone Review Present milestone summary [CHECKPOINT — Review]

Approval Gates (3 types)

  1. Commit Review — agent presents diff, waits for approval before commit
  2. PR Review — agent presents PR content, waits before merge
  3. Milestone Review — agent presents milestone summary, waits before proceeding

FAST vs SLOW Mode

Aspect FAST SLOW
Tests Manual only TDD, full coverage
Speed Quick demos Production quality
When Prototypes Production

Artifacts Map

Phase Artifact
Planning Linear parent ticket, issues with task lists
Implementation Feature branch, commits, tests (SLOW)
PR GitHub PR, Linear PR comment
Completion Linear issue Done, project archive
06

Memory Context

Deliberate Agentic Development — Memory & Context

State File: state.json

Primary state tracker. Persists exact project position:

{
  "project_speed": "fast",
  "project_type": "new",
  "project_phase": "implementing",
  "current": {
    "milestone": "M3",
    "issue": "M3.1",
    "task": "M3.1.1",
    "branch": "{{TICKET_PREFIX}}-21"
  }
}

Updated after every task and milestone. Enables precise resume across sessions.

Smart Context Loading

The framework implements explicit context budget management via its decision tree: in planning phase, ALL rules are loaded; in implementing phase, only rules relevant to the current task are loaded (inferred from filename). This is explicit token cost management without automated compaction.

Cross-Session Handoff

Yes — state.json + PRODUCT-OVERVIEW.md + Linear task list provides full project context for any agent that loads AGENTS.md fresh.

Documentation System

Three-tier memory:

  1. System docs (documentation/systems/) — agent-maintained feature documentation, updated after each PR
  2. Rules (rules/) — developer-controlled conventions, loaded selectively
  3. Project archive (project-archive/) — completed milestone exports (permanent historical record)

External Memory: Linear

Linear stores the project's task list, issue states, and all commit/PR details as comments — an external persistent memory layer auditable by humans.

FREEMODE and Memory

FREEMODE START skips all context loading without modifying state.json — preserving position while enabling lightweight chat.

Memory Persistence Level

Project-scoped (.agents/) + external (Linear). State file is git-tracked.

07

Orchestration

Deliberate Agentic Development — Orchestration

Multi-Agent

No. Single-agent framework. Multiple AI tools are supported (Claude Code, Cursor, Codex) but each runs independently; there is no agent-to-agent communication.

Orchestration Pattern

Sequential. Strict linear progression: Vision → Milestones → Issues → Tasks → Commit → PR → Merge.

Execution Mode

Interactive-loop with explicit human checkpoints. Not continuous/autonomous.

Isolation Mechanism

Git branch per issue/feature (implicit convention, not automated by framework itself).

Multi-Model

No. Model-agnostic. Works with any AI tool that reads AGENTS.md.

Consensus Mechanism

None.

Prompt Chaining

Yes. Planning phase output (Linear issues with task lists) is consumed by implementation phase. state.json position is read at every session start to determine what to load next.

Crash Recovery

Yes — state.json persists position. If agent crashes or session ends, next session reads state.json and resumes from exact position.

Context Compaction

Not explicitly handled. Smart context loading (selective rules by filename) partially mitigates the problem.

Linear Integration

Linear MCP provides the bridge between AI workflow and human-visible project management. The agent creates/updates Linear items programmatically, giving teams a real-time view of AI progress.

08

Ui Cli Surface

Deliberate Agentic Development — UI / CLI Surface

CLI Binary

None.

Local UI

None. However, Linear serves as a human-facing project management UI for viewing all AI-created issues, tasks, and progress.

IDE Integration

Multi-tool: Claude Code, Cursor, Codex. The framework auto-loads agent-specific config from .claude/, .cursor/, .codex/.

Required External Tools

  • gh CLI — GitHub PR creation/management
  • Linear MCP — project management integration

Observability

  • Linear — real-time project tracking (issues, task states, commit/PR comments)
  • state.json — precise position tracking (human-readable JSON)
  • documentation/systems/ — auto-maintained feature documentation
  • project-archive/ — historical milestone records

FREEMODE

A lightweight bypass mode (FREEMODE START / FREEMODE END) that disables all workflow rules and context loading for quick conversations, without modifying project state.

Related frameworks

same archetype · same primary tool · same memory type

BMAD-METHOD ★ 48k

Provides a full agile delivery lifecycle with named expert-persona AI collaborators that elicit the human's best thinking rather…

Agent OS ★ 4.6k

Extracts implicit codebase conventions into token-efficient markdown standards files and injects them selectively into AI agent…

Claude Conductor ★ 367

Gives Claude Code a persistent, cross-linked, auto-analyzed documentation system so it retains codebase context across sessions.

Spec-Driver (Greenfield Spec-Driven Development) ★ 25

Prevents spec rot in AI-assisted development by making implementation changes flow back into evergreen, authoritative specs via…

Anthropic Knowledge Work Plugins ★ 16k

Role-specialized plugin bundles with live MCP connectors that turn Claude into a domain expert for enterprise knowledge workers.

Codex Integration for Claude Code (skill-codex) ★ 1.3k

Single Claude Code skill that handles Codex CLI invocation correctly (stdin blocking, thinking token suppression, session resume)…