PAUL Framework
PAUL (Plan-Apply-Unify Loop) is an AI-assisted development framework designed to bring structure and integrity to projects built using Claude Code. Currently at version 1.2.0, the framework emphasizes disciplined execution through a cyclical process: Plan, Apply, and Unify. It aims to combat "context rot" and improve the reliability of AI-generated output by enforcing loop integrity, prioritizing in-session context, and driving development with acceptance criteria. PAUL ensures that plans are closed, state is consistently managed, and decisions are logged, significantly reducing the debugging of AI output. It is not limited to software development but can manage diverse projects like marketing campaigns and workflows. Releases are driven by user feedback, focusing on enhancing workflow quality and depth, with the latest v1.2.0 introducing significant improvements to the initialization process.
Common errors
-
Error: Command '/paul:init' not found (or similar)
cause Attempting to run PAUL's internal commands outside of the Claude Code environment.fixExecute all `/paul:` commands directly within a Claude Code session where the PAUL framework is active. -
PAUL loop integrity compromised: Plan not closed. Run /paul:unify.
cause The Plan-Apply-Unify loop was not completed, meaning work was applied but not reconciled or finalized.fixExecute `/paul:unify` after completing the `/paul:apply` phase to close the loop, update project state, and log decisions. -
Error: Project not initialized. Run /paul:init first.
cause Attempting to use PAUL commands like `/paul:plan` or `/paul:apply` before the project has been properly set up.fixStart your PAUL workflow by running `/paul:init` to initialize the project and gather initial requirements.
Warnings
- breaking The `/paul:init` command behavior has changed significantly in v1.2.0. It no longer generates skeleton files with placeholder text. Instead, it initiates a 'type-adapted requirements conversation' to produce a populated `PROJECT.md`.
- gotcha Failing to execute the `/paul:unify` command after `/paul:apply` will break the 'loop integrity,' leading to state inconsistencies, unclosed plans, and loss of critical decision logs.
- gotcha PAUL commands (`/paul:init`, `/paul:plan`, etc.) are designed exclusively for the Claude Code environment. Attempting to run them in a standard terminal or shell will result in 'command not found' errors or similar execution failures.
Install
-
npm install paul-framework -
yarn add paul-framework -
pnpm add paul-framework
Imports
- paul-framework CLI installation/setup
npm install paul-framework; paul-framework
npx paul-framework
- /paul:init command
paul init
/paul:init
- /paul:unify command
Simply ending a session after /paul:apply
/paul:unify
Quickstart
npx paul-framework # Choose location (Global or local) # Verify installation inside Claude Code: /paul:help # Quick Workflow inside Claude Code: # 1. Initialize PAUL in your project with a type-adapted requirements conversation /paul:init # 2. Create a plan for your work, auto-detecting scope and validating coherence /paul:plan # 3. Execute the approved plan, with each task going through Execute/Qualify loop /paul:apply # 4. Close the loop, reconciling planned vs. actual outcomes and updating state /paul:unify # 5. Check progress anytime /paul:progress