qwen-seed 1.0.0
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 +210 -0
- package/bin/install.js +185 -0
- package/checklists/planning-quality.md +55 -0
- package/data/application/config.md +21 -0
- package/data/application/guide.md +51 -0
- package/data/application/skill-loadout.md +11 -0
- package/data/campaign/config.md +18 -0
- package/data/campaign/guide.md +36 -0
- package/data/campaign/skill-loadout.md +10 -0
- package/data/client/config.md +18 -0
- package/data/client/guide.md +36 -0
- package/data/client/skill-loadout.md +11 -0
- package/data/utility/config.md +18 -0
- package/data/utility/guide.md +31 -0
- package/data/utility/skill-loadout.md +8 -0
- package/data/workflow/config.md +19 -0
- package/data/workflow/guide.md +41 -0
- package/data/workflow/skill-loadout.md +10 -0
- package/package.json +41 -0
- package/seed.md +81 -0
- package/tasks/add-type.md +164 -0
- package/tasks/graduate.md +182 -0
- package/tasks/ideate.md +196 -0
- package/tasks/launch.md +137 -0
- package/tasks/status.md +71 -0
- package/templates/planning-application.md +193 -0
- package/templates/planning-campaign.md +138 -0
- package/templates/planning-client.md +149 -0
- package/templates/planning-utility.md +112 -0
- package/templates/planning-workflow.md +125 -0
package/README.md
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# Qwen-SEED **Structured Evaluation & Engineering Design** — Your AI project incubator for Qwen Code.
|
|
2
|
+
|
|
3
|
+
```bash
|
|
4
|
+
npx qwen-seed
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
**Works on Mac, Windows, and Linux.**
|
|
8
|
+
|
|
9
|
+
*"The coach, not the interrogator."*
|
|
10
|
+
|
|
11
|
+
[What SEED Does](#what-seed-does) · [Commands](#commands) · [Project Types](#project-types) · [How It Works](#how-it-works) · [Architecture](#architecture) · [The PAUL Connection](#the-paul-connection) · [Install](#install)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## What SEED Does
|
|
16
|
+
|
|
17
|
+
You have an idea. Maybe it's an app, a workflow, a client site, a utility, or a content campaign. Before you start building, you need to answer the right questions — and the right questions depend on what type of project it is.
|
|
18
|
+
|
|
19
|
+
SEED is a typed project incubator for Qwen Code. It guides you through collaborative exploration shaped by your project type, produces a structured PLANNING.md, and graduates mature plans into buildable project directories. If you use PAUL, it can initialize a managed build from your plan without re-asking questions you already answered.
|
|
20
|
+
|
|
21
|
+
**The coach, not the interrogator.** SEED brainstorms alongside you, offers suggestions when you're stuck, and pushes toward decisions when it's time. It doesn't fire questions at you — it thinks with you.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Commands
|
|
26
|
+
|
|
27
|
+
| Command | What It Does |
|
|
28
|
+
|---------|-------------|
|
|
29
|
+
| `/seed` | Start a guided ideation session (default) |
|
|
30
|
+
| `/seed graduate` | Move completed ideation to `apps/` with git repo and synthesized README |
|
|
31
|
+
| `/seed launch` | Graduate + initialize PAUL for managed build (one command) |
|
|
32
|
+
| `/seed status` | Show all projects in the ideation pipeline |
|
|
33
|
+
| `/seed add-type` | Create a custom project type for SEED's data layer |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Project Types
|
|
38
|
+
|
|
39
|
+
SEED ships with 5 default types. Each type shapes the conversation differently:
|
|
40
|
+
|
|
41
|
+
| Type | Rigor | Sections | What It's For |
|
|
42
|
+
|------|-------|----------|---------------|
|
|
43
|
+
| **Application** | Deep | 10 | Software with UI, data model, API, deployment |
|
|
44
|
+
| **Workflow** | Standard | 8 | Qwen Code commands, hooks, CARL domains, skills |
|
|
45
|
+
| **Client** | Standard | 7 | Client websites — business context, conversion, content |
|
|
46
|
+
| **Utility** | Tight | 6 | Small tools, scripts, single-purpose — resists expansion |
|
|
47
|
+
| **Campaign** | Creative | 7 | Content, marketing, launches — timeline-driven |
|
|
48
|
+
|
|
49
|
+
**Rigor adapts behavior:**
|
|
50
|
+
- **Tight** — Move fast, resist scope creep, done in one session
|
|
51
|
+
- **Standard** — Balanced exploration with clear boundaries
|
|
52
|
+
- **Deep** — Thorough, architecture matters, don't rush
|
|
53
|
+
- **Creative** — Loose and generative, but always anchored to a measurable goal
|
|
54
|
+
|
|
55
|
+
Types are composable. Run `/seed add-type` to create your own — just drop files in `data/{type}/` and it works immediately. No code changes needed.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## How It Works
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
/seed /seed graduate /seed launch
|
|
63
|
+
│ │ │
|
|
64
|
+
▼ ▼ ▼
|
|
65
|
+
Select type ──▶ Guided ──▶ PLANNING.md ──▶ apps/{name}/ ──▶ .paul/ init
|
|
66
|
+
(or discover) ideation (populated) git + README (headless)
|
|
67
|
+
│ │
|
|
68
|
+
▼ ▼
|
|
69
|
+
Load data/ Coach persona
|
|
70
|
+
{type}/ adapts rigor
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
1. **Type first.** SEED determines your project type before anything else. Type shapes everything downstream.
|
|
74
|
+
2. **Guided exploration.** Conversation sections load from `data/{type}/guide.md`. Each section has prompts and suggestions.
|
|
75
|
+
3. **PLANNING.md output.** When you're ready, SEED populates a type-specific template.
|
|
76
|
+
4. **Graduate.** Moves the project to `apps/{name}/` with git init and a synthesized README.
|
|
77
|
+
5. **Launch.** Wraps graduation + headless PAUL init. Zero re-asking.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Architecture
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
commands/qwen-seed/
|
|
85
|
+
├── seed.md Entry point (routing + persona)
|
|
86
|
+
├── tasks/
|
|
87
|
+
│ ├── ideate.md Type-first guided ideation
|
|
88
|
+
│ ├── graduate.md Project graduation to apps/
|
|
89
|
+
│ ├── launch.md Graduate + PAUL init wrapper
|
|
90
|
+
│ ├── status.md Pipeline visibility
|
|
91
|
+
│ └── add-type.md User-extensible type system
|
|
92
|
+
├── data/ Composable per-type data
|
|
93
|
+
│ ├── application/
|
|
94
|
+
│ │ ├── guide.md
|
|
95
|
+
│ │ ├── config.md
|
|
96
|
+
│ │ └── skill-loadout.md
|
|
97
|
+
│ ├── workflow/ Same structure
|
|
98
|
+
│ ├── client/ Same structure
|
|
99
|
+
│ ├── utility/ Same structure
|
|
100
|
+
│ └── campaign/ Same structure
|
|
101
|
+
├── templates/
|
|
102
|
+
│ ├── planning-application.md
|
|
103
|
+
│ ├── planning-workflow.md
|
|
104
|
+
│ ├── planning-client.md
|
|
105
|
+
│ ├── planning-utility.md
|
|
106
|
+
│ └── planning-campaign.md
|
|
107
|
+
└── checklists/
|
|
108
|
+
└── planning-quality.md Quality gate for graduation
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**The key design decision:** Type-specific content lives in `data/{type}/` files, not hardcoded in task files. Adding a new type = dropping 3 files in a new `data/` directory.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## The PAUL Connection — Ideation to Managed Build
|
|
116
|
+
|
|
117
|
+
This is where SEED pays off. The entire ideation flow is designed so that the PLANNING.md it produces contains everything [PAUL](https://github.com/tylergriffin1350/qwen-paul) needs to set up a structured build — without asking you anything twice.
|
|
118
|
+
|
|
119
|
+
### How SEED Solves It
|
|
120
|
+
|
|
121
|
+
`/seed launch` runs the full graduation flow and then initializes PAUL with **headless context**:
|
|
122
|
+
|
|
123
|
+
1. SEED produces a rich PLANNING.md during ideation (type-aware, quality-gated)
|
|
124
|
+
2. `/seed launch` graduates the project to `apps/{name}/` with git
|
|
125
|
+
3. PAUL reads the PLANNING.md and derives its entire project structure from it
|
|
126
|
+
4. PAUL proposes milestones, phases, and tech stack — you review and approve
|
|
127
|
+
5. You're immediately ready to run `/paul:plan` for Phase 1
|
|
128
|
+
|
|
129
|
+
**No re-asking.** PAUL doesn't ask "What's this project?" or "What's the tech stack?" — those answers are already in the PLANNING.md.
|
|
130
|
+
|
|
131
|
+
### Without PAUL
|
|
132
|
+
|
|
133
|
+
Don't use PAUL? `/seed graduate` works standalone — you get a clean `apps/{name}/` directory with git and a synthesized README. Build however you want. PAUL is additive, not required.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Install
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
npx qwen-seed
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
The installer prompts you to choose:
|
|
144
|
+
|
|
145
|
+
1. **Global** (recommended) — Available in all Qwen Code projects
|
|
146
|
+
2. **Local** — Available in current project only
|
|
147
|
+
|
|
148
|
+
### What Gets Installed
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
~/.qwen/commands/qwen-seed/
|
|
152
|
+
├── seed.md Entry point (routing + persona)
|
|
153
|
+
├── tasks/ 5 task files
|
|
154
|
+
├── data/ 15 type-specific data files (5 types × 3 files)
|
|
155
|
+
├── templates/ 5 PLANNING.md output templates
|
|
156
|
+
└── checklists/ Planning quality gate
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
No hooks, no MCP servers, no workspace data. SEED is pure markdown — zero runtime dependencies.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Ecosystem
|
|
164
|
+
|
|
165
|
+
SEED works standalone but integrates with the broader Qwen ecosystem:
|
|
166
|
+
|
|
167
|
+
| Tool | How SEED Uses It |
|
|
168
|
+
|------|-----------------|
|
|
169
|
+
| **qwen-paul** | `/seed launch` initializes PAUL with headless context from PLANNING.md — zero-friction handoff from ideation to managed build |
|
|
170
|
+
| **carl-qwen** | Type-specific CARL domains load automatically during build |
|
|
171
|
+
| **qwen-skillsmith** | SEED follows Skillsmith format — compliant entry point + tasks |
|
|
172
|
+
| **qwen-aegis** | Recommended post-build audit for application-type projects |
|
|
173
|
+
| **qwen-base** | Graduate updates workspace-level project tracking |
|
|
174
|
+
|
|
175
|
+
All integrations are additive. SEED works without any of them installed.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Quick Workflow
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
# 1. Start ideation session
|
|
183
|
+
/seed
|
|
184
|
+
|
|
185
|
+
# 2. Shape your idea with type-specific guidance
|
|
186
|
+
# (guided conversation → PLANNING.md)
|
|
187
|
+
|
|
188
|
+
# 3. Graduate to buildable project
|
|
189
|
+
/seed graduate
|
|
190
|
+
|
|
191
|
+
# OR graduate + PAUL in one step:
|
|
192
|
+
/seed launch
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## License
|
|
198
|
+
|
|
199
|
+
MIT License.
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Author
|
|
204
|
+
|
|
205
|
+
**Chris Kahler** — [Chris AI Systems](https://github.com/ChristopherKahler)
|
|
206
|
+
Adapted for Qwen Code by [tylergriffin1350](https://github.com/tylergriffin1350)
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
**Qwen Code is powerful. SEED makes it strategic.**
|
package/bin/install.js
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const os = require('os');
|
|
6
|
+
|
|
7
|
+
// Colors
|
|
8
|
+
const green = '\x1b[32m';
|
|
9
|
+
const cyan = '\x1b[36m';
|
|
10
|
+
const yellow = '\x1b[33m';
|
|
11
|
+
const dim = '\x1b[2m';
|
|
12
|
+
const reset = '\x1b[0m';
|
|
13
|
+
|
|
14
|
+
// Get version from package.json
|
|
15
|
+
const pkg = require('../package.json');
|
|
16
|
+
|
|
17
|
+
const banner = `
|
|
18
|
+
${green} \u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557
|
|
19
|
+
\u2588\u2588\u2554\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557
|
|
20
|
+
\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551
|
|
21
|
+
\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551
|
|
22
|
+
\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551
|
|
23
|
+
\u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u255d \u255a\u2550\u255d\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d\u255a\u2550\u2550\u2550\u2550\u2550\u255d${reset}
|
|
24
|
+
|
|
25
|
+
SEED ${dim}v${pkg.version}${reset}
|
|
26
|
+
Structured Evaluation & Engineering Design
|
|
27
|
+
for Qwen Code
|
|
28
|
+
`;
|
|
29
|
+
|
|
30
|
+
// Parse args
|
|
31
|
+
const args = process.argv.slice(2);
|
|
32
|
+
const hasHelp = args.includes('--help') || args.includes('-h');
|
|
33
|
+
const hasLocal = args.includes('--local') || args.includes('-l');
|
|
34
|
+
|
|
35
|
+
// Parse --config-dir argument
|
|
36
|
+
function parseConfigDirArg() {
|
|
37
|
+
const idx = args.findIndex(arg => arg === '--config-dir' || arg === '-c');
|
|
38
|
+
if (idx !== -1) {
|
|
39
|
+
const nextArg = args[idx + 1];
|
|
40
|
+
if (!nextArg || nextArg.startsWith('-')) {
|
|
41
|
+
console.error(` ${yellow}--config-dir requires a path argument${reset}`);
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
return nextArg;
|
|
45
|
+
}
|
|
46
|
+
const configDirArg = args.find(arg => arg.startsWith('--config-dir=') || arg.startsWith('-c='));
|
|
47
|
+
if (configDirArg) {
|
|
48
|
+
return configDirArg.split('=')[1];
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Expand ~ to home directory
|
|
55
|
+
*/
|
|
56
|
+
function expandTilde(filePath) {
|
|
57
|
+
if (filePath && filePath.startsWith('~/')) {
|
|
58
|
+
return path.join(os.homedir(), filePath.slice(2));
|
|
59
|
+
}
|
|
60
|
+
return filePath;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Recursively copy directory, skipping .paul/, .git/, node_modules/, bin/
|
|
65
|
+
*/
|
|
66
|
+
function copyDir(srcDir, destDir, skipDirs = []) {
|
|
67
|
+
fs.mkdirSync(destDir, { recursive: true });
|
|
68
|
+
const entries = fs.readdirSync(srcDir, { withFileTypes: true });
|
|
69
|
+
for (const entry of entries) {
|
|
70
|
+
if (skipDirs.includes(entry.name)) continue;
|
|
71
|
+
const srcPath = path.join(srcDir, entry.name);
|
|
72
|
+
const destPath = path.join(destDir, entry.name);
|
|
73
|
+
if (entry.isDirectory()) {
|
|
74
|
+
copyDir(srcPath, destPath, skipDirs);
|
|
75
|
+
} else {
|
|
76
|
+
fs.copyFileSync(srcPath, destPath);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Count files recursively
|
|
83
|
+
*/
|
|
84
|
+
function countFiles(dir, ext) {
|
|
85
|
+
let count = 0;
|
|
86
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
87
|
+
for (const entry of entries) {
|
|
88
|
+
const fullPath = path.join(dir, entry.name);
|
|
89
|
+
if (entry.isDirectory()) {
|
|
90
|
+
count += countFiles(fullPath, ext);
|
|
91
|
+
} else if (!ext || entry.name.endsWith(ext)) {
|
|
92
|
+
count++;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return count;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
console.log(banner);
|
|
99
|
+
|
|
100
|
+
// Show help
|
|
101
|
+
if (hasHelp) {
|
|
102
|
+
console.log(` ${yellow}Usage:${reset} npx qwen-seed [options]
|
|
103
|
+
|
|
104
|
+
${yellow}Options:${reset}
|
|
105
|
+
${cyan}-l, --local${reset} Install to ./.qwen/commands/ instead of global
|
|
106
|
+
${cyan}-c, --config-dir <path>${reset} Specify custom Qwen config directory
|
|
107
|
+
${cyan}-h, --help${reset} Show this help message
|
|
108
|
+
|
|
109
|
+
${yellow}Examples:${reset}
|
|
110
|
+
${dim}# Install globally (default) — available in all workspaces${reset}
|
|
111
|
+
npx qwen-seed
|
|
112
|
+
|
|
113
|
+
${dim}# Install to current project only${reset}
|
|
114
|
+
npx qwen-seed --local
|
|
115
|
+
|
|
116
|
+
${yellow}What gets installed:${reset}
|
|
117
|
+
${cyan}commands/qwen-seed/${reset}
|
|
118
|
+
seed.md Entry point (routing + persona)
|
|
119
|
+
tasks/ 5 task files (ideate, graduate, launch, status, add-type)
|
|
120
|
+
data/ 15 type-specific data files (5 types x 3 files)
|
|
121
|
+
templates/ 5 PLANNING.md output templates
|
|
122
|
+
checklists/ Planning quality gate
|
|
123
|
+
`);
|
|
124
|
+
process.exit(0);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Determine install target
|
|
128
|
+
const explicitConfigDir = parseConfigDirArg();
|
|
129
|
+
const configDir = expandTilde(explicitConfigDir) || expandTilde(process.env.QWEN_CONFIG_DIR);
|
|
130
|
+
const globalDir = configDir || path.join(os.homedir(), '.qwen');
|
|
131
|
+
const qwenDir = hasLocal ? path.join(process.cwd(), '.qwen') : globalDir;
|
|
132
|
+
const seedDest = path.join(qwenDir, 'commands', 'qwen-seed');
|
|
133
|
+
|
|
134
|
+
const locationLabel = hasLocal
|
|
135
|
+
? seedDest.replace(process.cwd(), '.')
|
|
136
|
+
: seedDest.replace(os.homedir(), '~');
|
|
137
|
+
|
|
138
|
+
// Check if already installed
|
|
139
|
+
if (fs.existsSync(seedDest)) {
|
|
140
|
+
console.log(` ${yellow}Existing installation found at ${locationLabel}${reset}`);
|
|
141
|
+
console.log(` Updating...`);
|
|
142
|
+
fs.rmSync(seedDest, { recursive: true, force: true });
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
console.log(` Installing to ${cyan}${locationLabel}${reset}\n`);
|
|
146
|
+
|
|
147
|
+
// Copy skill files
|
|
148
|
+
const src = path.join(__dirname, '..');
|
|
149
|
+
|
|
150
|
+
// Copy entry point
|
|
151
|
+
fs.mkdirSync(seedDest, { recursive: true });
|
|
152
|
+
fs.copyFileSync(path.join(src, 'seed.md'), path.join(seedDest, 'seed.md'));
|
|
153
|
+
console.log(` ${green}+${reset} seed.md ${dim}(entry point)${reset}`);
|
|
154
|
+
|
|
155
|
+
// Copy tasks
|
|
156
|
+
const tasksSrc = path.join(src, 'tasks');
|
|
157
|
+
const tasksDest = path.join(seedDest, 'tasks');
|
|
158
|
+
copyDir(tasksSrc, tasksDest);
|
|
159
|
+
const taskCount = countFiles(tasksSrc, '.md');
|
|
160
|
+
console.log(` ${green}+${reset} tasks/ ${dim}(${taskCount} task files)${reset}`);
|
|
161
|
+
|
|
162
|
+
// Copy data
|
|
163
|
+
const dataSrc = path.join(src, 'data');
|
|
164
|
+
const dataDest = path.join(seedDest, 'data');
|
|
165
|
+
copyDir(dataSrc, dataDest);
|
|
166
|
+
const dataCount = countFiles(dataSrc, '.md');
|
|
167
|
+
const typeCount = fs.readdirSync(dataSrc, { withFileTypes: true }).filter(e => e.isDirectory()).length;
|
|
168
|
+
console.log(` ${green}+${reset} data/ ${dim}(${typeCount} types, ${dataCount} files)${reset}`);
|
|
169
|
+
|
|
170
|
+
// Copy templates
|
|
171
|
+
const templatesSrc = path.join(src, 'templates');
|
|
172
|
+
const templatesDest = path.join(seedDest, 'templates');
|
|
173
|
+
copyDir(templatesSrc, templatesDest);
|
|
174
|
+
const templateCount = countFiles(templatesSrc, '.md');
|
|
175
|
+
console.log(` ${green}+${reset} templates/ ${dim}(${templateCount} planning templates)${reset}`);
|
|
176
|
+
|
|
177
|
+
// Copy checklists
|
|
178
|
+
const checklistsSrc = path.join(src, 'checklists');
|
|
179
|
+
const checklistsDest = path.join(seedDest, 'checklists');
|
|
180
|
+
copyDir(checklistsSrc, checklistsDest);
|
|
181
|
+
console.log(` ${green}+${reset} checklists/ ${dim}(planning quality gate)${reset}`);
|
|
182
|
+
|
|
183
|
+
console.log(`
|
|
184
|
+
${green}Done!${reset} Open Qwen Code and type ${cyan}/seed${reset} to start.
|
|
185
|
+
`);
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Planning Quality Checklist
|
|
2
|
+
|
|
3
|
+
Quality gate for `/seed graduate` and `/seed launch`. Determines if a PLANNING.md is rich enough for clean graduation and headless PAUL initialization.
|
|
4
|
+
|
|
5
|
+
## Universal Checks (All Types)
|
|
6
|
+
|
|
7
|
+
- [ ] **Type metadata** present in header (Application, Workflow, Client, Utility, Campaign, or custom)
|
|
8
|
+
- [ ] **Problem statement** is specific — names the problem, the audience, and why it matters
|
|
9
|
+
- [ ] **Design decisions** documented — at least 1 resolved decision with rationale
|
|
10
|
+
- [ ] **Open questions** section exists (even if "None")
|
|
11
|
+
- [ ] **Next actions** defined — at least 1 concrete next step
|
|
12
|
+
- [ ] **Skill Loadout** noted — which ecosystem tools apply to this build
|
|
13
|
+
|
|
14
|
+
## Type-Specific Checks
|
|
15
|
+
|
|
16
|
+
Reference `data/{type}/config.md` for the authority on required vs optional sections.
|
|
17
|
+
|
|
18
|
+
- [ ] **All required sections** (per config.md) have substantive content — not just headers or placeholders
|
|
19
|
+
- [ ] **Optional sections** either covered or explicitly marked as N/A
|
|
20
|
+
- [ ] **Section depth matches rigor** — tight types (utility) can be brief; deep types (application) need thorough coverage
|
|
21
|
+
|
|
22
|
+
### Quick Reference
|
|
23
|
+
|
|
24
|
+
| Type | Required Sections | Rigor |
|
|
25
|
+
|------|------------------|-------|
|
|
26
|
+
| Application | 8 of 10 | deep — thorough coverage expected |
|
|
27
|
+
| Workflow | 6 of 8 | standard — balanced |
|
|
28
|
+
| Client | 6 of 7 | standard — business-focused |
|
|
29
|
+
| Utility | 6 of 6 | tight — all required, but brief |
|
|
30
|
+
| Campaign | 6 of 7 | creative — can be loose, but measurable goal required |
|
|
31
|
+
|
|
32
|
+
## PAUL-Readiness Checks (for /seed launch)
|
|
33
|
+
|
|
34
|
+
These are only required if the user intends to run `/seed launch` (graduate + PAUL init). Skip for `/seed graduate` alone.
|
|
35
|
+
|
|
36
|
+
- [ ] **Phase breakdown** exists with independently shippable milestones
|
|
37
|
+
- [ ] **Each phase** has build, testable, and outcome defined
|
|
38
|
+
- [ ] **Tech stack decisions** are resolved — no critical "TBD" items
|
|
39
|
+
- [ ] **Enough detail** that PAUL can derive milestones, phases, and structure without re-asking questions
|
|
40
|
+
|
|
41
|
+
## Assessment
|
|
42
|
+
|
|
43
|
+
| Result | Criteria | Action |
|
|
44
|
+
|--------|----------|--------|
|
|
45
|
+
| **Pass** | All universal checks + all required type-specific sections | Proceed with graduation |
|
|
46
|
+
| **Warn** | Missing optional sections or thin content in some areas | Note gaps, ask user if they want to flesh out or proceed |
|
|
47
|
+
| **Fail** | Missing required sections or no problem statement | Recommend returning to `/seed` to complete ideation |
|
|
48
|
+
|
|
49
|
+
## Usage
|
|
50
|
+
|
|
51
|
+
This checklist is referenced by:
|
|
52
|
+
- `tasks/graduate.md` — step `quality_check` (before creating app directory)
|
|
53
|
+
- `tasks/launch.md` — inherited via graduate delegation
|
|
54
|
+
|
|
55
|
+
It is NOT a scorecard with numbers. It's a qualitative assessment that the coach persona uses to decide whether to warn the user or proceed.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Application — Configuration
|
|
2
|
+
|
|
3
|
+
| Setting | Value |
|
|
4
|
+
|---------|-------|
|
|
5
|
+
| Rigor | deep |
|
|
6
|
+
| Demeanor | Thorough and architectural — explore trade-offs, push for clarity on data model and deployment before moving on. Applications have the highest complexity ceiling, so don't rush. |
|
|
7
|
+
| Sections | 10 |
|
|
8
|
+
|
|
9
|
+
## Required Sections
|
|
10
|
+
- Problem Statement
|
|
11
|
+
- Tech Stack
|
|
12
|
+
- Data Model
|
|
13
|
+
- API Surface
|
|
14
|
+
- Deployment Strategy
|
|
15
|
+
- Security Considerations
|
|
16
|
+
- UI/UX Needs
|
|
17
|
+
- Phase Breakdown
|
|
18
|
+
|
|
19
|
+
## Optional Sections
|
|
20
|
+
- Integration Points
|
|
21
|
+
- Skill Loadout
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Application — Conversation Guide
|
|
2
|
+
|
|
3
|
+
## Section 1: Problem Statement
|
|
4
|
+
**Explore:** What does this solve? Who's it for — just you, a team, the public? Why build it instead of buying something off the shelf? What's the pain point that makes this worth the effort?
|
|
5
|
+
**Suggest:** If the user is vague, try: "What's the one thing a user would do in their first 5 minutes?" If they're solving their own problem, that's valid — note it as "dogfooding" and move on.
|
|
6
|
+
**Depth:** required
|
|
7
|
+
|
|
8
|
+
## Section 2: Tech Stack
|
|
9
|
+
**Explore:** Do you have a stack in mind, or are you exploring? What's the deployment target — local, cloud, edge? Any constraints from the team or existing infrastructure? Why this stack over alternatives?
|
|
10
|
+
**Suggest:** For solo builders: Next.js + SQLite is fast to ship. For teams: consider what everyone knows. If they mention unfamiliar tech, suggest `/paul:discover` for research before committing.
|
|
11
|
+
**Depth:** required
|
|
12
|
+
|
|
13
|
+
## Section 3: Data Model
|
|
14
|
+
**Explore:** What are the core things this app tracks? How do they relate to each other? What's the most important entity — the one everything else connects to?
|
|
15
|
+
**Suggest:** Start with 3-5 entities max. Draw the relationships: "A User has many X, each X belongs to one Y." If it's getting complex, suggest starting with the minimum viable schema and evolving.
|
|
16
|
+
**Depth:** required
|
|
17
|
+
|
|
18
|
+
## Section 4: API Surface
|
|
19
|
+
**Explore:** What endpoints does this need? Is there auth? Internal-only or public API? REST, GraphQL, or tRPC? What's the most critical endpoint — the one that delivers core value?
|
|
20
|
+
**Suggest:** For MVPs: REST is fastest to build. Auth: start with JWT or session-based, don't over-engineer. If they need real-time: consider SSE over WebSockets for simplicity.
|
|
21
|
+
**Depth:** required
|
|
22
|
+
|
|
23
|
+
## Section 5: Deployment Strategy
|
|
24
|
+
**Explore:** Where does this run? Local dev setup, staging, production — what's the plan for each? Docker or bare metal? CI/CD pipeline needed?
|
|
25
|
+
**Suggest:** For solo projects: Railway or Vercel for zero-config deploys. For Docker: suggest a compose file early. If they need a database: managed > self-hosted for MVPs.
|
|
26
|
+
**Depth:** required
|
|
27
|
+
|
|
28
|
+
## Section 6: Security Considerations
|
|
29
|
+
**Explore:** What's the auth model? What data is sensitive? Any compliance requirements (HIPAA, SOC2, GDPR)? What are the OWASP risks specific to THIS app?
|
|
30
|
+
**Suggest:** At minimum: input validation, parameterized queries, CSRF protection, rate limiting. If handling PII: encryption at rest. Don't over-engineer security for internal tools.
|
|
31
|
+
**Depth:** required
|
|
32
|
+
|
|
33
|
+
## Section 7: UI/UX Needs
|
|
34
|
+
**Explore:** What does the user see? Key views/pages? Design system or freestyle? Mobile-responsive needed? Any real-time UI requirements (dashboards, notifications)?
|
|
35
|
+
**Suggest:** For MVPs: Tailwind + shadcn/ui gets you 80% there. If they have design ideas, suggest ui-ux-pro-max for implementation. If not, suggest starting with a wireframe conversation.
|
|
36
|
+
**Depth:** required
|
|
37
|
+
|
|
38
|
+
## Section 8: Integration Points
|
|
39
|
+
**Explore:** What external systems does this talk to? APIs, webhooks, MCP servers, third-party services? What happens if an integration is down?
|
|
40
|
+
**Suggest:** List each integration with: what data flows, which direction, what auth is needed. For MCP servers: check if one already exists in the workspace before building new.
|
|
41
|
+
**Depth:** optional
|
|
42
|
+
|
|
43
|
+
## Section 9: Phase Breakdown
|
|
44
|
+
**Explore:** What's the minimum slice that proves the concept? What comes after that? Can you ship something useful in 3-5 phases? What's the "it works" moment for each phase?
|
|
45
|
+
**Suggest:** Phase 1 should be the smallest thing that delivers value. Each phase should be independently testable. If they're planning more than 7 phases, the scope might be too big.
|
|
46
|
+
**Depth:** required
|
|
47
|
+
|
|
48
|
+
## Section 10: Skill Loadout
|
|
49
|
+
**Explore:** Which ecosystem tools make sense for this build? Need code quality scanning? UI design help? Structured development workflow?
|
|
50
|
+
**Suggest:** Load skill-loadout.md recommendations. For most applications: PAUL (required for managed build), AEGIS (recommended post-build audit), ui-ux-pro-max (if frontend-heavy).
|
|
51
|
+
**Depth:** optional
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Application — Skill Loadout
|
|
2
|
+
|
|
3
|
+
## Recommended Tools
|
|
4
|
+
|
|
5
|
+
| Tool | Priority | Why |
|
|
6
|
+
|------|----------|-----|
|
|
7
|
+
| PAUL | required | Structured milestones and phases for managed build — applications are too complex for ad-hoc development |
|
|
8
|
+
| AEGIS | recommended | Post-build security and quality audit — catches OWASP issues, scalability gaps |
|
|
9
|
+
| ui-ux-pro-max | recommended | Frontend design system, component patterns, responsive layouts — if the app has a UI |
|
|
10
|
+
| sonarqube | optional | Continuous code quality scanning — useful for larger codebases or team projects |
|
|
11
|
+
| use-railway | optional | If deploying to Railway — handles project creation, env vars, domains |
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Campaign — Configuration
|
|
2
|
+
|
|
3
|
+
| Setting | Value |
|
|
4
|
+
|---------|-------|
|
|
5
|
+
| Rigor | creative |
|
|
6
|
+
| Demeanor | Loose and generative — let ideas flow, explore angles, brainstorm freely. But always anchor back to the measurable goal. Campaigns are timeline-driven, not architecture-driven. |
|
|
7
|
+
| Sections | 7 |
|
|
8
|
+
|
|
9
|
+
## Required Sections
|
|
10
|
+
- Strategy & Goal
|
|
11
|
+
- Audience
|
|
12
|
+
- Deliverables List
|
|
13
|
+
- Channels & Platforms
|
|
14
|
+
- Timeline
|
|
15
|
+
- Success Metrics
|
|
16
|
+
|
|
17
|
+
## Optional Sections
|
|
18
|
+
- Skill Loadout
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Campaign — Conversation Guide
|
|
2
|
+
|
|
3
|
+
## Section 1: Strategy & Goal
|
|
4
|
+
**Explore:** What's the specific measurable objective? Not "grow the channel" — something like "launch 10 shorts in 2 weeks" or "generate 50 leads from webinar." What's the thesis?
|
|
5
|
+
**Suggest:** If the goal is vague, push for a number: "How will you know this worked? What's the metric?" If they can't answer, the campaign isn't ready to plan — it needs more strategic thinking first.
|
|
6
|
+
**Depth:** required
|
|
7
|
+
|
|
8
|
+
## Section 2: Audience
|
|
9
|
+
**Explore:** Who is this for — existing audience or new acquisition? What are their pain points? What language do they use? Where do they hang out online?
|
|
10
|
+
**Suggest:** Be specific: "Agency owners who use GoHighLevel and feel overwhelmed by AI" is better than "business owners." If targeting existing audience, note the platform where they already are.
|
|
11
|
+
**Depth:** required
|
|
12
|
+
|
|
13
|
+
## Section 3: Deliverables List
|
|
14
|
+
**Explore:** Enumerate EVERY output. For each: format, length, platform, due date. What gets created first? What depends on what?
|
|
15
|
+
**Suggest:** Table it: Deliverable | Format | Platform | Length | Due Date. If the list is longer than 15 items, consider splitting into multiple campaigns. If it's under 3, it might not need SEED — just do it.
|
|
16
|
+
**Depth:** required
|
|
17
|
+
|
|
18
|
+
## Section 4: Channels & Platforms
|
|
19
|
+
**Explore:** Where does each deliverable go? Cross-posting strategy? Platform-specific adaptations needed? What's the primary channel vs amplification?
|
|
20
|
+
**Suggest:** Pick one primary channel and 2-3 amplification channels. Don't try to be everywhere. For shortform: IG Reels → TikTok → YT Shorts → FB Reels is the standard cross-post chain.
|
|
21
|
+
**Depth:** required
|
|
22
|
+
|
|
23
|
+
## Section 5: Timeline
|
|
24
|
+
**Explore:** What are the dates? What depends on what? What's the critical path? Any external deadlines (launches, events, partner commitments)?
|
|
25
|
+
**Suggest:** Work backwards from the launch date. Build in buffer for content creation (it always takes longer). If there are dependencies (e.g., "can't post until site launches"), mark them as blockers.
|
|
26
|
+
**Depth:** required
|
|
27
|
+
|
|
28
|
+
## Section 6: Success Metrics
|
|
29
|
+
**Explore:** Define metrics BEFORE execution, not after. What's the baseline? What's the target? How will you measure?
|
|
30
|
+
**Suggest:** Pick 2-3 metrics max. For content: views, engagement rate, conversion to next step. For launches: signups, revenue, retention. Don't track everything — track what matters.
|
|
31
|
+
**Depth:** required
|
|
32
|
+
|
|
33
|
+
## Section 7: Skill Loadout
|
|
34
|
+
**Explore:** Which ecosystem tools help with this campaign? Content strategy? Distribution optimization? Script writing?
|
|
35
|
+
**Suggest:** Load skill-loadout.md recommendations. For most campaigns: content-flywheel-strategist (for multi-platform strategy), content-manager (for pipeline tracking), revops-expert (for conversion copy).
|
|
36
|
+
**Depth:** optional
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Campaign — Skill Loadout
|
|
2
|
+
|
|
3
|
+
## Recommended Tools
|
|
4
|
+
|
|
5
|
+
| Tool | Priority | Why |
|
|
6
|
+
|------|----------|-----|
|
|
7
|
+
| content-flywheel-strategist | recommended | Multi-platform content strategy — transform core content into platform-specific formats |
|
|
8
|
+
| revops-expert | recommended | Conversion copywriting frameworks for landing pages, emails, webinar scripts |
|
|
9
|
+
| content-manager | recommended | Pipeline tracking — manage scripts through triage → recording → editing → publishing |
|
|
10
|
+
| PAUL | optional | Only if the campaign has a complex build component (e.g., landing page + email sequence + webinar) |
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Client — Configuration
|
|
2
|
+
|
|
3
|
+
| Setting | Value |
|
|
4
|
+
|---------|-------|
|
|
5
|
+
| Rigor | standard |
|
|
6
|
+
| Demeanor | Business-focused and practical — understand the client's goals, push for conversion clarity, keep tech decisions simple. The client cares about results, not architecture. |
|
|
7
|
+
| Sections | 7 |
|
|
8
|
+
|
|
9
|
+
## Required Sections
|
|
10
|
+
- Business Context
|
|
11
|
+
- Competitor Analysis
|
|
12
|
+
- Conversion Strategy
|
|
13
|
+
- Content Needs
|
|
14
|
+
- Tech Approach
|
|
15
|
+
- Timeline & Deliverables
|
|
16
|
+
|
|
17
|
+
## Optional Sections
|
|
18
|
+
- Skill Loadout
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Client — Conversation Guide
|
|
2
|
+
|
|
3
|
+
## Section 1: Business Context
|
|
4
|
+
**Explore:** Who's the client? What industry? Who's the target audience? What's the brand personality? Do they have an existing site?
|
|
5
|
+
**Suggest:** If they have an existing site, suggest running `business-context-extractor` to pull structured context automatically. If not, build the context from conversation: industry, audience demographics, competitive positioning.
|
|
6
|
+
**Depth:** required
|
|
7
|
+
|
|
8
|
+
## Section 2: Competitor Analysis
|
|
9
|
+
**Explore:** Who are 3-5 competitors? What are they doing well? Where's the positioning opportunity — what gap can this client fill? What's the differentiator?
|
|
10
|
+
**Suggest:** Focus on positioning, not feature comparison. "They all do X, but none of them do Y" is the goal. If the user doesn't know competitors, suggest searching the client's industry + location.
|
|
11
|
+
**Depth:** required
|
|
12
|
+
|
|
13
|
+
## Section 3: Conversion Strategy
|
|
14
|
+
**Explore:** What's the primary CTA? What's the funnel — visitor → lead → customer? What objections does the audience have? How does the site overcome them?
|
|
15
|
+
**Suggest:** Every page needs a clear next step. For service businesses: contact form or calendar booking. For products: add to cart or free trial. Map the objection → response pairs.
|
|
16
|
+
**Depth:** required
|
|
17
|
+
|
|
18
|
+
## Section 4: Content Needs
|
|
19
|
+
**Explore:** What content exists already? What needs to be written? Who writes it — the client, you, AI-assisted? Any brand guidelines or tone requirements?
|
|
20
|
+
**Suggest:** Start with the minimum: hero copy, about section, service descriptions, testimonials. Don't plan a blog unless the client will actually write posts. Real content > placeholder content.
|
|
21
|
+
**Depth:** required
|
|
22
|
+
|
|
23
|
+
## Section 5: Tech Approach
|
|
24
|
+
**Explore:** site-launcher-wp or custom build? What's the hosting situation? Domain owned? Any existing tech constraints (CMS, hosting provider)?
|
|
25
|
+
**Suggest:** For most client sites: site-launcher-wp is fastest to production. Custom only if the client needs something the template can't handle. Always ask about domain and hosting first.
|
|
26
|
+
**Depth:** required
|
|
27
|
+
|
|
28
|
+
## Section 6: Timeline & Deliverables
|
|
29
|
+
**Explore:** What's the deadline? Are there client review checkpoints? What are the deliverables at each stage? Who approves what?
|
|
30
|
+
**Suggest:** Suggest a 3-phase approach: (1) Design/content draft → client review, (2) Build → client review, (3) Launch prep → go live. Build in buffer for client feedback cycles.
|
|
31
|
+
**Depth:** required
|
|
32
|
+
|
|
33
|
+
## Section 7: Skill Loadout
|
|
34
|
+
**Explore:** Which ecosystem tools will speed up this project? Need business context extraction? Conversion copywriting help? Design system?
|
|
35
|
+
**Suggest:** Load skill-loadout.md recommendations. For most client sites: business-context-extractor (required if existing site), revops-expert (for conversion copy), ui-ux-pro-max (for design).
|
|
36
|
+
**Depth:** optional
|