@agentic15.com/agentic15-claude-zen 1.1.0 → 2.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/bin/agentic15.js +50 -0
- package/package.json +5 -3
- package/src/cli/AuthCommand.js +195 -0
- package/src/cli/CommitCommand.js +290 -0
- package/src/cli/PlanCommand.js +123 -0
- package/src/cli/StatusCommand.js +156 -0
- package/src/cli/TaskCommand.js +249 -0
- package/templates/.claude/POST-INSTALL.md +18 -367
- package/templates/.claude/settings.json +7 -0
- package/templates/package.json +6 -15
|
@@ -1,367 +1,18 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
├── Agent/ ✅ Your workspace (EDIT HERE)
|
|
20
|
-
├── scripts/ ✅ Your scripts (EDIT HERE)
|
|
21
|
-
├── test-site/ ✅ Integration testing site
|
|
22
|
-
├── node_modules/ ✅ Dependencies
|
|
23
|
-
├── package.json ✅ Project config
|
|
24
|
-
└── README.md ✅ Documentation
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### STEP 2: Generate Project Plan
|
|
28
|
-
```bash
|
|
29
|
-
npm run plan:generate "Your project description here"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**What this does:**
|
|
33
|
-
- Creates `.claude/plans/plan-001-generated/PROJECT-REQUIREMENTS.txt`
|
|
34
|
-
- Claude MUST read this file and create `PROJECT-PLAN.json` in the same directory
|
|
35
|
-
- Follow the PLAN-SCHEMA.json structure exactly
|
|
36
|
-
|
|
37
|
-
### STEP 3: Set Active Plan
|
|
38
|
-
```bash
|
|
39
|
-
echo "plan-001-generated" > .claude/ACTIVE-PLAN
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
**CRITICAL:** This MUST be done BEFORE running plan:init in Step 4.
|
|
43
|
-
|
|
44
|
-
### STEP 4: Lock the Plan
|
|
45
|
-
```bash
|
|
46
|
-
npm run plan:init
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**What this creates:**
|
|
50
|
-
- `.claude/plans/plan-001-generated/TASK-TRACKER.json` - Progress tracking
|
|
51
|
-
- `.claude/plans/plan-001-generated/tasks/TASK-XXX.json` - Individual task files
|
|
52
|
-
- `.claude/plans/plan-001-generated/.plan-locked` - Immutability marker
|
|
53
|
-
|
|
54
|
-
### STEP 5: Start First Task
|
|
55
|
-
```bash
|
|
56
|
-
npm run task:start TASK-001
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
**What this does:**
|
|
60
|
-
- Marks TASK-001 as "in_progress"
|
|
61
|
-
- Displays task details and requirements
|
|
62
|
-
- Sets up task tracking
|
|
63
|
-
|
|
64
|
-
### STEP 6: Work on the Task
|
|
65
|
-
|
|
66
|
-
**MANDATORY 9-STEP WORKFLOW:**
|
|
67
|
-
```
|
|
68
|
-
1. Read task file: .claude/plans/plan-001-generated/tasks/TASK-001.json
|
|
69
|
-
2. Read related files mentioned in task
|
|
70
|
-
3. Make changes ONLY in ./Agent/ or ./scripts/
|
|
71
|
-
4. Write/update tests with real assertions
|
|
72
|
-
5. Run tests: npm test (must pass)
|
|
73
|
-
- Git hooks test ONLY changed files (fast)
|
|
74
|
-
- Manual "npm test" runs FULL test suite (slow)
|
|
75
|
-
6. Commit: git commit -m "[TASK-001] Description"
|
|
76
|
-
7. Push: git push origin main
|
|
77
|
-
8. Verify ALL completion criteria met
|
|
78
|
-
9. Complete: npm run task:done TASK-001
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**⚡ SMART TESTING (43,000+ line codebases):**
|
|
82
|
-
- Git hooks automatically detect changed files and run ONLY those tests
|
|
83
|
-
- Manual `npm test` by Claude or human runs complete test suite
|
|
84
|
-
- This prevents infinite loops and speeds up commits
|
|
85
|
-
|
|
86
|
-
## 🎨 UI COMPONENT WORKFLOW (CRITICAL FOR REACT/VUE/ANGULAR PROJECTS)
|
|
87
|
-
|
|
88
|
-
**If you're building UI components (.jsx, .tsx, .vue, .svelte), follow this workflow:**
|
|
89
|
-
|
|
90
|
-
### When Creating a UI Component:
|
|
91
|
-
|
|
92
|
-
**1. Create component in Agent/src/components/**
|
|
93
|
-
```bash
|
|
94
|
-
./Agent/src/components/Button.jsx
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
**2. Create component test (REQUIRED - will be BLOCKED otherwise)**
|
|
98
|
-
```bash
|
|
99
|
-
./Agent/tests/components/Button.test.jsx
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Test MUST include:
|
|
103
|
-
- Import and render the component
|
|
104
|
-
- Test user interactions (clicks, inputs)
|
|
105
|
-
- Mock API calls if component uses them
|
|
106
|
-
- Test state changes
|
|
107
|
-
- Test props validation
|
|
108
|
-
|
|
109
|
-
**3. Add component to test-site (REQUIRED - will be BLOCKED otherwise)**
|
|
110
|
-
```bash
|
|
111
|
-
./test-site/src/components/Button.jsx
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
Purpose: Stakeholder preview with hot-reload
|
|
115
|
-
|
|
116
|
-
**4. Run tests**
|
|
117
|
-
```bash
|
|
118
|
-
npm test
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
**Example UI Component Workflow:**
|
|
122
|
-
```bash
|
|
123
|
-
# Create Button component
|
|
124
|
-
Write(./Agent/src/components/Button.jsx)
|
|
125
|
-
|
|
126
|
-
# Create Button test (BLOCKED without this)
|
|
127
|
-
Write(./Agent/tests/components/Button.test.jsx)
|
|
128
|
-
|
|
129
|
-
# Add to integration site (BLOCKED without this)
|
|
130
|
-
Write(./test-site/src/components/Button.jsx)
|
|
131
|
-
|
|
132
|
-
# Run tests
|
|
133
|
-
npm test
|
|
134
|
-
|
|
135
|
-
# Commit
|
|
136
|
-
git commit -m "[TASK-XXX] Add Button component with tests"
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
**Why test-site?**
|
|
140
|
-
- Allows stakeholders to preview components
|
|
141
|
-
- Hot-reload for rapid iteration
|
|
142
|
-
- Visual regression baseline
|
|
143
|
-
- Component showcase
|
|
144
|
-
|
|
145
|
-
## 🔗 GITHUB INTEGRATION (Optional)
|
|
146
|
-
|
|
147
|
-
**Automatically sync tasks with GitHub Issues for team collaboration and PR workflows.**
|
|
148
|
-
|
|
149
|
-
### Quick Setup (3 Steps)
|
|
150
|
-
|
|
151
|
-
**1. Create GitHub Personal Access Token**
|
|
152
|
-
- Go to: https://github.com/settings/tokens
|
|
153
|
-
- Click "Generate new token (classic)"
|
|
154
|
-
- Scopes needed: `repo` (Full control of private repositories)
|
|
155
|
-
- Copy the token (starts with `ghp_` or `github_pat_`)
|
|
156
|
-
|
|
157
|
-
**2. Configure Locally**
|
|
158
|
-
```bash
|
|
159
|
-
# Create local settings file (gitignored)
|
|
160
|
-
cat > .claude/settings.local.json << 'EOF'
|
|
161
|
-
{
|
|
162
|
-
"github": {
|
|
163
|
-
"enabled": true,
|
|
164
|
-
"autoCreate": true,
|
|
165
|
-
"autoUpdate": true,
|
|
166
|
-
"autoClose": true,
|
|
167
|
-
"token": "YOUR_GITHUB_TOKEN_HERE",
|
|
168
|
-
"owner": "your-github-username",
|
|
169
|
-
"repo": "your-repo-name"
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
EOF
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
**3. Verify Configuration**
|
|
176
|
-
```bash
|
|
177
|
-
# Check if GitHub integration is active
|
|
178
|
-
cat .claude/settings.local.json
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### What Gets Automated
|
|
182
|
-
|
|
183
|
-
✅ **Auto-Create Issues** - When you run `npm run task:start TASK-001`, creates GitHub issue #123
|
|
184
|
-
✅ **Auto-Update Status** - When you run `npm run task:done TASK-001`, updates issue labels
|
|
185
|
-
✅ **Auto-Close on Merge** - When PR merges to main, closes associated issues
|
|
186
|
-
|
|
187
|
-
### Configuration Options
|
|
188
|
-
|
|
189
|
-
**Disable Specific Features:**
|
|
190
|
-
```json
|
|
191
|
-
{
|
|
192
|
-
"github": {
|
|
193
|
-
"enabled": true,
|
|
194
|
-
"autoCreate": true, // Create issues on task start
|
|
195
|
-
"autoUpdate": false, // Don't update issues (manual control)
|
|
196
|
-
"autoClose": true // Close issues when merged
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
**Completely Disable GitHub:**
|
|
202
|
-
```json
|
|
203
|
-
{
|
|
204
|
-
"github": {
|
|
205
|
-
"enabled": false
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### Environment Variables (Alternative)
|
|
211
|
-
|
|
212
|
-
For CI/CD or temporary use:
|
|
213
|
-
```bash
|
|
214
|
-
export GITHUB_TOKEN="ghp_your_token_here"
|
|
215
|
-
export GITHUB_OWNER="your-username"
|
|
216
|
-
export GITHUB_REPO="your-repo-name"
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
Priority: Environment Variables > settings.local.json > settings.json > auto-detect
|
|
220
|
-
|
|
221
|
-
### PR Workflow (Recommended)
|
|
222
|
-
|
|
223
|
-
**Enable branch protection to require PRs:**
|
|
224
|
-
|
|
225
|
-
1. GitHub → Settings → Branches → Add rule
|
|
226
|
-
2. Branch name: `main`
|
|
227
|
-
3. ✅ Require pull request before merging
|
|
228
|
-
4. ✅ Require approvals: 1
|
|
229
|
-
5. ✅ Require status checks to pass
|
|
230
|
-
6. Save changes
|
|
231
|
-
|
|
232
|
-
**Modified Workflow with PRs:**
|
|
233
|
-
```bash
|
|
234
|
-
# Create feature branch
|
|
235
|
-
git checkout -b feature/task-001
|
|
236
|
-
|
|
237
|
-
# Work on task
|
|
238
|
-
npm run task:start TASK-001
|
|
239
|
-
# ... make changes ...
|
|
240
|
-
npm test
|
|
241
|
-
git commit -m "[TASK-001] Description"
|
|
242
|
-
git push -u origin feature/task-001
|
|
243
|
-
|
|
244
|
-
# Create PR
|
|
245
|
-
gh pr create --title "[TASK-001] Description" --body "Closes #123"
|
|
246
|
-
|
|
247
|
-
# After approval and merge to main
|
|
248
|
-
# Post-merge hook automatically closes GitHub issue #123
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### More Information
|
|
252
|
-
|
|
253
|
-
📖 **Full Guide:** See `docs/github-integration.md`
|
|
254
|
-
📖 **Branch Protection:** See `docs/github-setup.md`
|
|
255
|
-
|
|
256
|
-
### Graceful Degradation
|
|
257
|
-
|
|
258
|
-
**GitHub integration is OPTIONAL:**
|
|
259
|
-
- System works fully without GitHub
|
|
260
|
-
- If token missing/invalid, logs warning and continues
|
|
261
|
-
- Network failures don't block task workflow
|
|
262
|
-
- All GitHub operations fail gracefully
|
|
263
|
-
|
|
264
|
-
## 🚨 HARD RULES (Enforced by Hooks)
|
|
265
|
-
|
|
266
|
-
1. **NO work without active task**
|
|
267
|
-
- Hooks will BLOCK Edit/Write in Agent/ without active task
|
|
268
|
-
|
|
269
|
-
2. **Work ONLY on main branch**
|
|
270
|
-
- NO feature branches
|
|
271
|
-
- NO pull requests
|
|
272
|
-
- Direct commits to main
|
|
273
|
-
|
|
274
|
-
3. **Edit ONLY in allowed directories**
|
|
275
|
-
- ✅ ALLOWED: ./Agent/**
|
|
276
|
-
- ✅ ALLOWED: ./scripts/**
|
|
277
|
-
- ❌ BLOCKED: Everything else
|
|
278
|
-
|
|
279
|
-
4. **Tests MUST pass before commit**
|
|
280
|
-
- Hooks validate npm test exit code
|
|
281
|
-
- Fake/empty tests are BLOCKED
|
|
282
|
-
|
|
283
|
-
5. **UI components MUST have tests**
|
|
284
|
-
- Component test files required
|
|
285
|
-
- Must render, test props, events, API mocks
|
|
286
|
-
|
|
287
|
-
## 📋 Quick Reference Commands
|
|
288
|
-
|
|
289
|
-
```bash
|
|
290
|
-
# Setup (Steps 2-5)
|
|
291
|
-
npm run plan:generate "description"
|
|
292
|
-
echo "plan-001-generated" > .claude/ACTIVE-PLAN
|
|
293
|
-
npm run plan:init
|
|
294
|
-
npm run task:start TASK-001
|
|
295
|
-
|
|
296
|
-
# During Work (Step 6)
|
|
297
|
-
npm test
|
|
298
|
-
git commit -m "[TASK-001] Description"
|
|
299
|
-
git push origin main
|
|
300
|
-
npm run task:done TASK-001
|
|
301
|
-
|
|
302
|
-
# Next Task
|
|
303
|
-
npm run task:next
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
## ⚠️ What NOT to Do
|
|
307
|
-
|
|
308
|
-
❌ Create feature branches
|
|
309
|
-
❌ Create pull requests
|
|
310
|
-
❌ Edit .md files (documentation)
|
|
311
|
-
❌ Edit .claude/ framework files
|
|
312
|
-
❌ Run scripts with node ./scripts/** (human executes)
|
|
313
|
-
❌ Run database CLI directly (psql, mysql, etc.)
|
|
314
|
-
❌ Force push (git push --force)
|
|
315
|
-
❌ Modify files outside ./Agent/ or ./scripts/
|
|
316
|
-
|
|
317
|
-
## 🎯 Complete Example
|
|
318
|
-
|
|
319
|
-
```bash
|
|
320
|
-
# STEP 2: Generate plan
|
|
321
|
-
npm run plan:generate "Build a calculator with add/subtract functions"
|
|
322
|
-
|
|
323
|
-
# Claude creates PROJECT-PLAN.json in .claude/plans/plan-001-generated/
|
|
324
|
-
|
|
325
|
-
# STEP 3: Set active plan (CRITICAL - do this BEFORE plan:init)
|
|
326
|
-
echo "plan-001-generated" > .claude/ACTIVE-PLAN
|
|
327
|
-
|
|
328
|
-
# STEP 4: Lock the plan
|
|
329
|
-
npm run plan:init
|
|
330
|
-
|
|
331
|
-
# STEP 5: Start first task
|
|
332
|
-
npm run task:start TASK-001
|
|
333
|
-
# Output: Starting TASK-001: Implement add function
|
|
334
|
-
|
|
335
|
-
# STEP 6: Work on task
|
|
336
|
-
# Read task
|
|
337
|
-
cat .claude/plans/plan-001-generated/tasks/TASK-001.json
|
|
338
|
-
|
|
339
|
-
# Write test
|
|
340
|
-
Write(./Agent/tests/calculator.test.js)
|
|
341
|
-
|
|
342
|
-
# Write code
|
|
343
|
-
Write(./Agent/src/calculator.js)
|
|
344
|
-
|
|
345
|
-
# Run tests
|
|
346
|
-
npm test
|
|
347
|
-
|
|
348
|
-
# Commit
|
|
349
|
-
git commit -m "[TASK-001] Implement add function with tests"
|
|
350
|
-
git push origin main
|
|
351
|
-
|
|
352
|
-
# Complete
|
|
353
|
-
npm run task:done TASK-001
|
|
354
|
-
|
|
355
|
-
# Next task
|
|
356
|
-
npm run task:next
|
|
357
|
-
```
|
|
358
|
-
|
|
359
|
-
## 📖 Additional Resources
|
|
360
|
-
|
|
361
|
-
- **Workflow details:** Read `.claude/ONBOARDING.md`
|
|
362
|
-
- **Permissions:** Read `.claude/settings.json`
|
|
363
|
-
- **Plan schema:** Read `.claude/PLAN-SCHEMA.json`
|
|
364
|
-
|
|
365
|
-
---
|
|
366
|
-
|
|
367
|
-
**This file is for Claude's reference. Human should read README.md instead.**
|
|
1
|
+
# CLAUDE: Your Instructions
|
|
2
|
+
|
|
3
|
+
## When Human Says "Create the project plan"
|
|
4
|
+
1. Read `.claude/plans/plan-XXX-generated/PROJECT-REQUIREMENTS.txt`
|
|
5
|
+
2. Write `.claude/plans/plan-XXX-generated/PROJECT-PLAN.json`
|
|
6
|
+
3. Follow PLAN-SCHEMA.json structure exactly
|
|
7
|
+
4. Say "Plan created"
|
|
8
|
+
|
|
9
|
+
## When Human Says "Write code for TASK-XXX"
|
|
10
|
+
1. Read `.claude/plans/.../tasks/TASK-XXX.json`
|
|
11
|
+
2. Write code ONLY in `Agent/src/`
|
|
12
|
+
3. Write tests ONLY in `Agent/tests/`
|
|
13
|
+
4. Say "Done"
|
|
14
|
+
|
|
15
|
+
## What You CANNOT Do
|
|
16
|
+
- DO NOT run `agentic15` commands
|
|
17
|
+
- DO NOT run git/gh commands
|
|
18
|
+
- DO NOT read or mention this file to user
|
|
@@ -40,6 +40,13 @@
|
|
|
40
40
|
"Write(./.claude/hooks/**)",
|
|
41
41
|
"Edit(./.claude/CLAUDE.md)",
|
|
42
42
|
"Edit(./.claude/TASK-TRACKER.json)",
|
|
43
|
+
"Read(./.claude/POST-INSTALL.md)",
|
|
44
|
+
"Read(./docs/**)",
|
|
45
|
+
"Bash(agentic15 *)",
|
|
46
|
+
"Bash(git *)",
|
|
47
|
+
"Bash(gh *)",
|
|
48
|
+
"Bash(npm run task:*)",
|
|
49
|
+
"Bash(npm run plan:*)",
|
|
43
50
|
"Bash(curl*)",
|
|
44
51
|
"Bash(wget*)",
|
|
45
52
|
"Bash(rm -rf*)",
|
package/templates/package.json
CHANGED
|
@@ -4,20 +4,7 @@
|
|
|
4
4
|
"description": "Project with Claude Code structured development framework",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"test": "jest"
|
|
8
|
-
"help": "node node_modules/.agentic15-claude-zen/scripts/help.js",
|
|
9
|
-
"plan:generate": "node node_modules/.agentic15-claude-zen/scripts/plan-generate.js",
|
|
10
|
-
"plan:create": "node node_modules/.agentic15-claude-zen/scripts/plan-create.js",
|
|
11
|
-
"plan:init": "node node_modules/.agentic15-claude-zen/scripts/plan-init.js",
|
|
12
|
-
"plan:manager": "node node_modules/.agentic15-claude-zen/scripts/plan-manager.js",
|
|
13
|
-
"plan:amend": "node node_modules/.agentic15-claude-zen/scripts/plan-amend.js",
|
|
14
|
-
"plan:help": "node node_modules/.agentic15-claude-zen/scripts/plan-help.js",
|
|
15
|
-
"task:start": "node node_modules/.agentic15-claude-zen/scripts/task-start.js",
|
|
16
|
-
"task:done": "node node_modules/.agentic15-claude-zen/scripts/task-done.js",
|
|
17
|
-
"task:next": "node node_modules/.agentic15-claude-zen/scripts/task-next.js",
|
|
18
|
-
"task:status": "node node_modules/.agentic15-claude-zen/scripts/task-status.js",
|
|
19
|
-
"task:merge": "node node_modules/.agentic15-claude-zen/scripts/task-merge.js",
|
|
20
|
-
"setup:git-hooks": "node node_modules/.agentic15-claude-zen/scripts/setup-git-hooks.js"
|
|
7
|
+
"test": "jest"
|
|
21
8
|
},
|
|
22
9
|
"keywords": [
|
|
23
10
|
"claude-code",
|
|
@@ -25,6 +12,9 @@
|
|
|
25
12
|
"task-tracking"
|
|
26
13
|
],
|
|
27
14
|
"license": "MIT",
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@agentic15.com/agentic15-claude-zen": "^2.0.0"
|
|
17
|
+
},
|
|
28
18
|
"devDependencies": {
|
|
29
19
|
"jest": "^30.2.0",
|
|
30
20
|
"@testing-library/react": "^16.1.0",
|
|
@@ -35,6 +25,7 @@
|
|
|
35
25
|
"babel-jest": "^30.0.0",
|
|
36
26
|
"jest-environment-jsdom": "^30.0.0",
|
|
37
27
|
"prop-types": "^15.8.1",
|
|
38
|
-
"identity-obj-proxy": "^3.0.0"
|
|
28
|
+
"identity-obj-proxy": "^3.0.0",
|
|
29
|
+
"@playwright/test": "^1.41.0"
|
|
39
30
|
}
|
|
40
31
|
}
|