{"repo":"ChristopherKahler/paul","free":true,"listed":false,"github":"https://github.com/ChristopherKahler/paul","clone":"git clone https://github.com/ChristopherKahler/paul.git","description":"Plan-Apply-Unify Loop — Structured AI-assisted development for Claude Code. Quality over speed-for-speed's-sake.","language":"JavaScript","stars":1175,"topics":["ai-development","ai-tools","claude","claude-code","development-framework","project-orchestration","spec-driven","vibe-coding"],"license":"MIT","category":"dev-tools","readme_excerpt":"PAUL Plan-Apply-Unify Loop — Structured AI-assisted development for Claude Code. Works on Mac, Windows, and Linux. \"Quality over speed-for-speed's-sake. In-session context over subagent sprawl.\" Why PAUL · Getting Started · The Loop · Commands · How It Works --- Why PAUL I build with Claude Code every day. It's incredibly powerful — when you give it the right context. The problem? Context rot. As your session fills up, quality degrades. Subagents spawn with fresh context but return 70% quality work that needs cleanup. Plans get created but never closed. State drifts. You end up debugging AI output instead of shipping features. PAUL fixes this with three principles: 1. Loop integrity — Every plan closes with UNIFY. No orphan plans. UNIFY reconciles what was planned vs what happened, updates state, logs decisions. This is the heartbeat. 2. In-session context — Subagents are expensive and produce lower quality for implementation work. PAUL keeps development in-session with properly managed context. Subagents are reserved for discovery and research — their job IS to gather context. 3. Acceptance-driven development — Acceptance criteria are first-class citizens, not afterthoughts. Define done before starting. Every task references its AC. BDD format: Given [precondition] / When [action] / Then [outcome] . The complexity is in the system, not your workflow. Behind the scenes: structured state management, XML task formatting, loop enforcement. What you see: a few commands that keep ","default_branch":null,"files":null,"tree":[],"storefront":"/r/ChristopherKahler","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ChristopherKahler/paul/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}