qwen-paul 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +302 -0
- package/package.json +3 -2
- package/src/commands/help.md +1 -1
- package/src/references/research-quality-control.md +1 -1
- package/src/references/sonarqube-integration.md +2 -2
- package/src/templates/MILESTONES.md +1 -1
- package/src/templates/codebase/structure.md +2 -2
- package/src/templates/config.md +1 -1
- package/src/templates/milestone-archive.md +4 -4
- package/src/workflows/configure-special-flows.md +1 -1
- package/src/workflows/init-project.md +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
# Qwen-PAUL **Plan-Apply-Unify Loop** — Structured AI-assisted development for Qwen Code.
|
|
2
|
+
|
|
3
|
+
```bash
|
|
4
|
+
npx qwen-paul
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
**Works on Mac, Windows, and Linux.**
|
|
8
|
+
|
|
9
|
+
*"Quality over speed-for-speed's-sake. In-session context over subagent sprawl."*
|
|
10
|
+
|
|
11
|
+
[Why PAUL](#why-paul) · [Getting Started](#getting-started) · [The Loop](#the-loop) · [Commands](#commands) · [How It Works](#how-it-works)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Why PAUL
|
|
16
|
+
|
|
17
|
+
I build with Qwen 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.
|
|
18
|
+
|
|
19
|
+
PAUL fixes this with three principles:
|
|
20
|
+
|
|
21
|
+
1. **Loop integrity** — Every plan closes with UNIFY. No orphan plans. UNIFY reconciles what was planned vs what happened, updates state, logs decisions.
|
|
22
|
+
2. **In-session context** — Subagents are expensive and produce lower quality for implementation work. PAUL keeps development in-session.
|
|
23
|
+
3. **Acceptance-driven development** — Acceptance criteria are first-class citizens, not afterthoughts. BDD format: `Given [precondition] / When [action] / Then [outcome]`.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Who This Is For
|
|
28
|
+
|
|
29
|
+
**Builders who use AI to ship** — software, campaigns, workflows, automations, anything that benefits from structured execution.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Getting Started
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx qwen-paul
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The installer prompts you to choose:
|
|
40
|
+
|
|
41
|
+
1. **Location** — Global (all projects) or local (current project only)
|
|
42
|
+
2. Verify with `/paul:help` inside Qwen Code.
|
|
43
|
+
|
|
44
|
+
### Quick Workflow
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
# 1. Initialize PAUL in your project
|
|
48
|
+
/paul:init
|
|
49
|
+
|
|
50
|
+
# 2. Create a plan
|
|
51
|
+
/paul:plan
|
|
52
|
+
|
|
53
|
+
# 3. Execute the approved plan
|
|
54
|
+
/paul:apply
|
|
55
|
+
|
|
56
|
+
# 4. Close the loop (required!)
|
|
57
|
+
/paul:unify
|
|
58
|
+
|
|
59
|
+
# 5. Check progress anytime
|
|
60
|
+
/paul:progress
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Staying Updated
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npx qwen-paul@latest
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## The Loop
|
|
72
|
+
|
|
73
|
+
Every unit of work follows this cycle:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
┌─────────────────────────────────────┐
|
|
77
|
+
│ PLAN ──▶ APPLY ──▶ UNIFY │
|
|
78
|
+
│ │
|
|
79
|
+
│ Define Execute Reconcile │
|
|
80
|
+
│ work tasks & close │
|
|
81
|
+
└─────────────────────────────────────┘
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### PLAN
|
|
85
|
+
|
|
86
|
+
Create an executable plan with scope-adaptive ceremony:
|
|
87
|
+
|
|
88
|
+
- **Quick-fix** (1 file, 1 change) — Compressed: objective + 1 task + 1 AC.
|
|
89
|
+
- **Standard** (2-5 tasks) — Full plan with boundaries, multiple ACs.
|
|
90
|
+
- **Complex** (6+ tasks) — Full plan + actively recommends splitting.
|
|
91
|
+
|
|
92
|
+
### APPLY
|
|
93
|
+
|
|
94
|
+
Execute the approved plan with built-in quality enforcement:
|
|
95
|
+
|
|
96
|
+
- Tasks follow an **Execute/Qualify loop**
|
|
97
|
+
- **Escalation statuses**: DONE, DONE_WITH_CONCERNS, NEEDS_CONTEXT, BLOCKED
|
|
98
|
+
- Checkpoints pause for human input
|
|
99
|
+
|
|
100
|
+
### UNIFY
|
|
101
|
+
|
|
102
|
+
Close the loop (required!):
|
|
103
|
+
|
|
104
|
+
- Create SUMMARY.md documenting what was built
|
|
105
|
+
- Compare plan vs actual
|
|
106
|
+
- Record decisions and deferred issues
|
|
107
|
+
- Update STATE.md
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Commands
|
|
112
|
+
|
|
113
|
+
PAUL provides 26 commands organized by purpose. Run `/paul:help` for the complete reference.
|
|
114
|
+
|
|
115
|
+
### Core Loop
|
|
116
|
+
|
|
117
|
+
| Command | What it does |
|
|
118
|
+
|---------|--------------|
|
|
119
|
+
| `/paul:init` | Initialize PAUL with type-adapted requirements walkthrough |
|
|
120
|
+
| `/paul:plan [phase]` | Create an executable plan (auto-routes quick-fix/standard/complex) |
|
|
121
|
+
| `/paul:apply [path]` | Execute an approved plan |
|
|
122
|
+
| `/paul:unify [path]` | Reconcile and close the loop |
|
|
123
|
+
| `/paul:help` | Show command reference |
|
|
124
|
+
| `/paul:progress` | Smart status + ONE next action |
|
|
125
|
+
|
|
126
|
+
### Session
|
|
127
|
+
|
|
128
|
+
| Command | What it does |
|
|
129
|
+
|---------|--------------|
|
|
130
|
+
| `/paul:pause [reason]` | Create handoff for session break |
|
|
131
|
+
| `/paul:resume [path]` | Restore context and continue |
|
|
132
|
+
| `/paul:handoff [context]` | Generate comprehensive handoff |
|
|
133
|
+
|
|
134
|
+
### Pre-Planning
|
|
135
|
+
|
|
136
|
+
| Command | What it does |
|
|
137
|
+
|---------|--------------|
|
|
138
|
+
| `/paul:discuss <phase>` | Capture decisions before planning |
|
|
139
|
+
| `/paul:assumptions <phase>` | See Qwen's intended approach |
|
|
140
|
+
| `/paul:discover <topic>` | Explore options before planning |
|
|
141
|
+
| `/paul:consider-issues` | Triage deferred issues |
|
|
142
|
+
|
|
143
|
+
### Research
|
|
144
|
+
|
|
145
|
+
| Command | What it does |
|
|
146
|
+
|---------|--------------|
|
|
147
|
+
| `/paul:research <topic>` | Deploy research agents |
|
|
148
|
+
| `/paul:research-phase <phase>` | Research unknowns for a phase |
|
|
149
|
+
|
|
150
|
+
### Quality
|
|
151
|
+
|
|
152
|
+
| Command | What it does |
|
|
153
|
+
|---------|--------------|
|
|
154
|
+
| `/paul:verify` | Guide manual acceptance testing |
|
|
155
|
+
| `/paul:plan-fix` | Plan fixes for UAT issues |
|
|
156
|
+
| `/paul:audit [path]` | Enterprise architectural audit |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## How It Works
|
|
161
|
+
|
|
162
|
+
### Project Structure
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
.paul/
|
|
166
|
+
├── PROJECT.md # Project context and requirements
|
|
167
|
+
├── ROADMAP.md # Phase breakdown and milestones
|
|
168
|
+
├── STATE.md # Loop position and session state
|
|
169
|
+
├── config.md # Optional integrations
|
|
170
|
+
├── SPECIAL-FLOWS.md # Optional skill requirements
|
|
171
|
+
└── phases/
|
|
172
|
+
├── 01-foundation/
|
|
173
|
+
│ ├── 01-01-PLAN.md
|
|
174
|
+
│ └── 01-01-SUMMARY.md
|
|
175
|
+
└── 02-features/
|
|
176
|
+
├── 02-01-PLAN.md
|
|
177
|
+
└── 02-01-SUMMARY.md
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### What Gets Installed
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
~/.qwen/
|
|
184
|
+
├── commands/qwen-paul/ # 26 slash commands (/paul:init, etc.)
|
|
185
|
+
└── paul-framework/
|
|
186
|
+
├── templates/ # PLAN.md, PROJECT.md, STATE.md, etc.
|
|
187
|
+
├── workflows/ # Execution workflows
|
|
188
|
+
├── references/ # Format guides, best practices
|
|
189
|
+
├── rules/ # Command authoring rules
|
|
190
|
+
└── carl/ # CARL integration files
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### State Management
|
|
194
|
+
|
|
195
|
+
**STATE.md** tracks:
|
|
196
|
+
|
|
197
|
+
- Current phase and plan
|
|
198
|
+
- Loop position (PLAN/APPLY/UNIFY markers)
|
|
199
|
+
- Session continuity
|
|
200
|
+
- Accumulated decisions
|
|
201
|
+
- Blockers and deferred issues
|
|
202
|
+
|
|
203
|
+
### Quality Enforcement
|
|
204
|
+
|
|
205
|
+
**Execute/Qualify Loop:**
|
|
206
|
+
```
|
|
207
|
+
Execute → Report Status → Qualify Against Spec → (fix gaps) → Next Task
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Escalation Statuses:**
|
|
211
|
+
|
|
212
|
+
| Status | Meaning |
|
|
213
|
+
|--------|---------|
|
|
214
|
+
| DONE | Completed, no concerns |
|
|
215
|
+
| DONE_WITH_CONCERNS | Completed, but flagged doubts |
|
|
216
|
+
| NEEDS_CONTEXT | Can't complete — missing information |
|
|
217
|
+
| BLOCKED | Can't complete — structural impediment |
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## CARL Integration
|
|
222
|
+
|
|
223
|
+
PAUL has a companion: **[CARL-Qwen](https://www.npmjs.com/package/carl-qwen)** (Context Augmentation & Reinforcement Layer).
|
|
224
|
+
|
|
225
|
+
CARL is a dynamic rule injection system. Instead of bloating your context with static prompts, CARL loads PAUL rules just-in-time based on what you're doing.
|
|
226
|
+
|
|
227
|
+
**Install both:**
|
|
228
|
+
```bash
|
|
229
|
+
npx carl-qwen # Dynamic rule injection
|
|
230
|
+
npx qwen-paul # Structured development workflow
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
When you type `/paul:plan`, CARL automatically loads the 13 PAUL rules that govern:
|
|
234
|
+
- Loop enforcement (PLAN → APPLY → UNIFY — no shortcuts)
|
|
235
|
+
- Boundary protection (DO NOT CHANGE sections are real)
|
|
236
|
+
- State consistency checks at phase transitions
|
|
237
|
+
- Verification requirements for every task
|
|
238
|
+
- Skill blocking (required skills must load before APPLY)
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Philosophy
|
|
243
|
+
|
|
244
|
+
### Acceptance-Driven Development (A.D.D.)
|
|
245
|
+
|
|
246
|
+
1. **AC defined before tasks** — Know what "done" means
|
|
247
|
+
2. **Tasks reference AC** — Every task links to AC-1, AC-2, etc.
|
|
248
|
+
3. **Verification required** — Every task needs a verify step
|
|
249
|
+
4. **BDD format** — Given/When/Then for testability
|
|
250
|
+
|
|
251
|
+
### In-Session Context
|
|
252
|
+
|
|
253
|
+
PAUL keeps implementation in-session with proper context management. Subagents reserved for discovery and research only.
|
|
254
|
+
|
|
255
|
+
### Loop Integrity
|
|
256
|
+
|
|
257
|
+
The loop isn't optional:
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
PLAN ──▶ APPLY ──▶ UNIFY
|
|
261
|
+
✓ ✓ ✓ [Loop complete]
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
- **No orphan plans** — Every PLAN gets a SUMMARY
|
|
265
|
+
- **State reconciliation** — UNIFY catches drift
|
|
266
|
+
- **Decision logging** — Choices are recorded for future sessions
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## Troubleshooting
|
|
271
|
+
|
|
272
|
+
**Commands not found after install?**
|
|
273
|
+
- Restart Qwen Code to reload slash commands
|
|
274
|
+
- Verify files exist in `~/.qwen/commands/qwen-paul/` (global) or `./.qwen/commands/qwen-paul/` (local)
|
|
275
|
+
|
|
276
|
+
**Commands not working as expected?**
|
|
277
|
+
- Run `/paul:help` to verify installation
|
|
278
|
+
- Re-run `npx qwen-paul` to reinstall
|
|
279
|
+
|
|
280
|
+
**Loop position seems wrong?**
|
|
281
|
+
- Check `.paul/STATE.md` for current state
|
|
282
|
+
- Run `/paul:progress` for guided next action
|
|
283
|
+
|
|
284
|
+
**Resuming after a break?**
|
|
285
|
+
- Run `/paul:resume` — it reads state and handoffs automatically
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## License
|
|
290
|
+
|
|
291
|
+
MIT License. See [LICENSE](LICENSE) for details.
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Author
|
|
296
|
+
|
|
297
|
+
**Chris Kahler** — [Chris AI Systems](https://github.com/ChristopherKahler)
|
|
298
|
+
Adapted for Qwen Code by [tylergriffin1350](https://github.com/tylergriffin1350)
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
**Qwen Code is powerful. PAUL makes it reliable.**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qwen-paul",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Plan-Apply-Unify Loop - A structured AI-assisted development framework for Qwen Code",
|
|
5
5
|
"bin": {
|
|
6
6
|
"qwen-paul": "bin/install.js"
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"src/references",
|
|
13
13
|
"src/workflows",
|
|
14
14
|
"src/rules",
|
|
15
|
-
"src/carl"
|
|
15
|
+
"src/carl",
|
|
16
|
+
"README.md"
|
|
16
17
|
],
|
|
17
18
|
"keywords": [
|
|
18
19
|
"qwen",
|
package/src/commands/help.md
CHANGED
|
@@ -17,7 +17,7 @@ Output ONLY the reference content below. Do NOT add:
|
|
|
17
17
|
<reference>
|
|
18
18
|
# PAUL Command Reference
|
|
19
19
|
|
|
20
|
-
**PAUL** (Plan-Apply-Unify Loop) is a structured AI-assisted development framework for
|
|
20
|
+
**PAUL** (Plan-Apply-Unify Loop) is a structured AI-assisted development framework for Qwen Code.
|
|
21
21
|
|
|
22
22
|
## The Loop
|
|
23
23
|
|
|
@@ -115,7 +115,7 @@ Before trusting any source:
|
|
|
115
115
|
<anti_pattern name="tool_conflation">
|
|
116
116
|
**DON'T:** Assume capabilities are the same across tools/environments.
|
|
117
117
|
|
|
118
|
-
**Problem:** "Claude Desktop supports X" ≠ "
|
|
118
|
+
**Problem:** "Claude Desktop supports X" ≠ "Qwen Code supports X"
|
|
119
119
|
|
|
120
120
|
**Instead:** Document which environment supports which features explicitly.
|
|
121
121
|
</anti_pattern>
|
|
@@ -49,7 +49,7 @@ sonar.exclusions=**/node_modules/**,**/dist/**
|
|
|
49
49
|
|
|
50
50
|
### 3. SonarQube MCP Server
|
|
51
51
|
|
|
52
|
-
Ensure sonarqube MCP is configured in
|
|
52
|
+
Ensure sonarqube MCP is configured in Qwen Code:
|
|
53
53
|
|
|
54
54
|
```json
|
|
55
55
|
{
|
|
@@ -239,6 +239,6 @@ curl http://localhost:9000/api/system/status
|
|
|
239
239
|
### "MCP tools not available"
|
|
240
240
|
|
|
241
241
|
Verify sonarqube MCP server is:
|
|
242
|
-
- Configured in
|
|
242
|
+
- Configured in Qwen Code settings
|
|
243
243
|
- Running without errors
|
|
244
244
|
- Has correct authentication token
|
|
@@ -124,7 +124,7 @@ Include decimal phases in the range when relevant:
|
|
|
124
124
|
- Handoff file generation for session breaks
|
|
125
125
|
- STATE.md Session Continuity section
|
|
126
126
|
- SonarQube integration (optional)
|
|
127
|
-
- Codebase
|
|
127
|
+
- Codebase QWEN.md improvements
|
|
128
128
|
|
|
129
129
|
**Stats:**
|
|
130
130
|
| Metric | Value |
|
|
@@ -147,7 +147,7 @@ paul-framework/
|
|
|
147
147
|
- Subdirectories: None
|
|
148
148
|
|
|
149
149
|
**src/commands/**
|
|
150
|
-
- Purpose: Slash command definitions for
|
|
150
|
+
- Purpose: Slash command definitions for Qwen Code
|
|
151
151
|
- Contains: *.md files (one per command)
|
|
152
152
|
- Key files: init.md, plan.md, apply.md, unify.md
|
|
153
153
|
- Subdirectories: None (flat structure)
|
|
@@ -187,7 +187,7 @@ paul-framework/
|
|
|
187
187
|
|
|
188
188
|
**Documentation:**
|
|
189
189
|
- `README.md` - User-facing installation and usage guide
|
|
190
|
-
- `
|
|
190
|
+
- `QWEN.md` - Instructions for Qwen Code when working in this repo
|
|
191
191
|
|
|
192
192
|
## Naming Conventions
|
|
193
193
|
|
package/src/templates/config.md
CHANGED
|
@@ -63,7 +63,7 @@ enterprise_plan_audit:
|
|
|
63
63
|
- Audit report saved alongside PLAN.md as `{NN}-{PP}-AUDIT.md`
|
|
64
64
|
|
|
65
65
|
**Requirements:**
|
|
66
|
-
- No external dependencies (runs within
|
|
66
|
+
- No external dependencies (runs within Qwen Code session)
|
|
67
67
|
- Best suited for commercial, regulated, or enterprise-grade projects
|
|
68
68
|
|
|
69
69
|
### Future Integrations
|
|
@@ -189,14 +189,14 @@ Plans:
|
|
|
189
189
|
Plans:
|
|
190
190
|
- [x] 08.5-01: SonarQube integration (optional)
|
|
191
191
|
|
|
192
|
-
### Phase 8.6: Codebase
|
|
192
|
+
### Phase 8.6: Codebase QWEN.md [INSERTED]
|
|
193
193
|
|
|
194
|
-
**Goal:** Project-level
|
|
194
|
+
**Goal:** Project-level Qwen Code configuration
|
|
195
195
|
**Depends on:** Phase 8.5
|
|
196
196
|
**Reason:** Improve agent context for PAUL projects
|
|
197
197
|
|
|
198
198
|
Plans:
|
|
199
|
-
- [x] 08.6-01:
|
|
199
|
+
- [x] 08.6-01: QWEN.md template for codebase guidance
|
|
200
200
|
|
|
201
201
|
### Phase 8.7: SonarQube Integration [INSERTED]
|
|
202
202
|
|
|
@@ -213,7 +213,7 @@ Plans:
|
|
|
213
213
|
|
|
214
214
|
**Decimal Phases:**
|
|
215
215
|
- Phase 8.5: Quality Extensions (inserted after Phase 8 for code quality tooling)
|
|
216
|
-
- Phase 8.6: Codebase
|
|
216
|
+
- Phase 8.6: Codebase QWEN.md (inserted after Phase 8.5 for agent context)
|
|
217
217
|
- Phase 8.7: SonarQube Integration (inserted after Phase 8.6 for quality checks)
|
|
218
218
|
|
|
219
219
|
**Key Decisions:**
|
|
@@ -259,7 +259,7 @@ Display current configuration:
|
|
|
259
259
|
**No .qwen/commands/ directory:**
|
|
260
260
|
```
|
|
261
261
|
No skills directory found at ~/.qwen/commands/
|
|
262
|
-
Add skills to your
|
|
262
|
+
Add skills to your Qwen Code configuration first.
|
|
263
263
|
|
|
264
264
|
You can still manually specify skill names.
|
|
265
265
|
Enter skill names (comma-separated) or "skip":
|
|
@@ -228,7 +228,7 @@ SEED produces a PLANNING.md that PAUL can consume directly.
|
|
|
228
228
|
Wait for user response.
|
|
229
229
|
|
|
230
230
|
**If "1" or "install":**
|
|
231
|
-
1. Run: `npx paul
|
|
231
|
+
1. Run: `npx qwen-paul add-skill seed` (or applicable install command)
|
|
232
232
|
2. Display: "SEED installed. Starting ideation with your project context..."
|
|
233
233
|
3. Hand off to `/seed` — pass project_name, description, core_value, project_type, and any gathered requirements as context
|
|
234
234
|
4. Exit init workflow (SEED will handle the rest; user returns via `/seed launch`)
|