agileflow 2.37.1 → 2.37.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/package.json +1 -1
- package/src/core/agents/configuration/archival.md +2 -0
- package/src/core/agents/configuration/attribution.md +2 -0
- package/src/core/agents/configuration/ci.md +2 -0
- package/src/core/agents/configuration/git-config.md +2 -0
- package/src/core/agents/configuration/hooks.md +2 -0
- package/src/core/agents/configuration/status-line.md +2 -0
- package/src/core/agents/configuration/verify.md +97 -43
- package/src/core/commands/babysit.md +2 -0
- package/src/core/commands/configure.md +2 -0
- package/src/core/commands/readme-sync.md +37 -4
- package/src/core/commands/story.md +2 -0
package/package.json
CHANGED
|
@@ -20,6 +20,8 @@ Configure auto-archival system to manage status.json file size.
|
|
|
20
20
|
|
|
21
21
|
ROLE: Auto-Archival Configurator
|
|
22
22
|
|
|
23
|
+
🔴 **AskUserQuestion Format**: NEVER ask users to "type" anything. Use proper options with XML invoke format. See `docs/02-practices/ask-user-question.md`.
|
|
24
|
+
|
|
23
25
|
OBJECTIVE
|
|
24
26
|
Configure the auto-archival system that prevents `docs/09-agents/status.json` from exceeding Claude Code's token limit by automatically moving old completed stories to an archive.
|
|
25
27
|
|
|
@@ -20,6 +20,8 @@ Configure CLAUDE.md file with git attribution preferences.
|
|
|
20
20
|
|
|
21
21
|
ROLE: Attribution Configurator
|
|
22
22
|
|
|
23
|
+
🔴 **AskUserQuestion Format**: NEVER ask users to "type" anything. Use proper options with XML invoke format. See `docs/02-practices/ask-user-question.md`.
|
|
24
|
+
|
|
23
25
|
OBJECTIVE
|
|
24
26
|
Create or update CLAUDE.md with user's git attribution preferences. CLAUDE.md is the AI assistant's primary configuration file and controls whether Claude Code adds attribution to git commits.
|
|
25
27
|
|
|
@@ -20,6 +20,8 @@ Configure automated CI/CD workflow for testing, linting, and quality checks.
|
|
|
20
20
|
|
|
21
21
|
ROLE: CI/CD Configurator
|
|
22
22
|
|
|
23
|
+
🔴 **AskUserQuestion Format**: NEVER ask users to "type" anything. Use proper options with XML invoke format. See `docs/02-practices/ask-user-question.md`.
|
|
24
|
+
|
|
23
25
|
OBJECTIVE
|
|
24
26
|
Set up continuous integration and deployment workflows to automate testing, linting, type checking, and build verification on every commit/PR.
|
|
25
27
|
|
|
@@ -20,6 +20,8 @@ Configure git initialization and remote repository connection.
|
|
|
20
20
|
|
|
21
21
|
ROLE: Git Configuration Specialist
|
|
22
22
|
|
|
23
|
+
🔴 **AskUserQuestion Format**: NEVER ask users to "type" anything. Use proper options with XML invoke format. See `docs/02-practices/ask-user-question.md`.
|
|
24
|
+
|
|
23
25
|
OBJECTIVE
|
|
24
26
|
Set up git repository with remote connection to enable version control, team collaboration, and backup for the AgileFlow project.
|
|
25
27
|
|
|
@@ -19,6 +19,8 @@ Configure hooks system for event-driven automation in Claude Code.
|
|
|
19
19
|
|
|
20
20
|
ROLE: Hooks System Configurator
|
|
21
21
|
|
|
22
|
+
🔴 **AskUserQuestion Format**: NEVER ask users to "type" anything. Use proper options with XML invoke format. See `docs/02-practices/ask-user-question.md`.
|
|
23
|
+
|
|
22
24
|
OBJECTIVE
|
|
23
25
|
Set up the hooks system that enables event-driven automation in Claude Code. Hooks automatically execute shell commands when Claude Code lifecycle events occur (SessionStart, UserPromptSubmit, Stop).
|
|
24
26
|
|
|
@@ -19,6 +19,8 @@ Configure a custom status line for Claude Code that displays AgileFlow project c
|
|
|
19
19
|
|
|
20
20
|
ROLE: Status Line Configurator
|
|
21
21
|
|
|
22
|
+
🔴 **AskUserQuestion Format**: NEVER ask users to "type" anything. Use proper multi-select options with XML invoke format. See `docs/02-practices/ask-user-question.md`.
|
|
23
|
+
|
|
22
24
|
OBJECTIVE
|
|
23
25
|
Set up a custom AgileFlow status line that displays contextual information at the bottom of Claude Code. The status line shows current story, work-in-progress count, context usage, session cost, and git branch.
|
|
24
26
|
|
|
@@ -20,6 +20,8 @@ Verify that configurations work and handle authentication for private repositori
|
|
|
20
20
|
|
|
21
21
|
ROLE: Configuration Verification Specialist
|
|
22
22
|
|
|
23
|
+
🔴 **AskUserQuestion Format**: NEVER ask users to "type" anything. Use proper options with XML invoke format. See `docs/02-practices/ask-user-question.md`.
|
|
24
|
+
|
|
23
25
|
OBJECTIVE
|
|
24
26
|
Verify that configurations actually work by running test commands and checking results. Handle authentication tokens securely for private repositories.
|
|
25
27
|
|
|
@@ -82,37 +84,61 @@ fi
|
|
|
82
84
|
|
|
83
85
|
**ALWAYS ask permission first**:
|
|
84
86
|
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
87
|
+
```xml
|
|
88
|
+
<invoke name="AskUserQuestion">
|
|
89
|
+
<parameter name="questions">[{
|
|
90
|
+
"question": "Verification requires a GitHub personal access token. Do you want to provide one?",
|
|
91
|
+
"header": "Token",
|
|
92
|
+
"multiSelect": false,
|
|
93
|
+
"options": [
|
|
94
|
+
{"label": "Yes, provide token (Recommended)", "description": "I'll enter my GitHub PAT for verification"},
|
|
95
|
+
{"label": "No, skip verification", "description": "Skip verification - configure manually later"}
|
|
96
|
+
]
|
|
97
|
+
}]</parameter>
|
|
98
|
+
</invoke>
|
|
95
99
|
```
|
|
96
100
|
|
|
97
|
-
|
|
101
|
+
If user selects "No, skip verification":
|
|
102
|
+
```bash
|
|
103
|
+
echo "⏭️ Skipping verification"
|
|
104
|
+
exit 0
|
|
105
|
+
```
|
|
98
106
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
107
|
+
**Then ask for token** (user selects "Other" to enter custom text):
|
|
108
|
+
|
|
109
|
+
```xml
|
|
110
|
+
<invoke name="AskUserQuestion">
|
|
111
|
+
<parameter name="questions">[{
|
|
112
|
+
"question": "Enter your GitHub personal access token. Create at: github.com/settings/tokens/new (scopes: repo, workflow)",
|
|
113
|
+
"header": "Token",
|
|
114
|
+
"multiSelect": false,
|
|
115
|
+
"options": [
|
|
116
|
+
{"label": "Skip - I'll enter later", "description": "Skip token entry for now"},
|
|
117
|
+
{"label": "Other", "description": "Enter token (select this, paste ghp_xxx in text field)"}
|
|
118
|
+
]
|
|
119
|
+
}]</parameter>
|
|
120
|
+
</invoke>
|
|
103
121
|
```
|
|
104
122
|
|
|
105
123
|
**Offer to save token**:
|
|
106
124
|
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
125
|
+
```xml
|
|
126
|
+
<invoke name="AskUserQuestion">
|
|
127
|
+
<parameter name="questions">[{
|
|
128
|
+
"question": "Save token to .claude/settings.local.json for future use?",
|
|
129
|
+
"header": "Save token",
|
|
130
|
+
"multiSelect": false,
|
|
131
|
+
"options": [
|
|
132
|
+
{"label": "Yes, save token (Recommended)", "description": "Store securely in .claude/settings.local.json (gitignored)"},
|
|
133
|
+
{"label": "No, use once only", "description": "Don't save - you'll be asked again next time"}
|
|
134
|
+
]
|
|
135
|
+
}]</parameter>
|
|
136
|
+
</invoke>
|
|
137
|
+
```
|
|
112
138
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
139
|
+
If user selected "Yes, save token":
|
|
140
|
+
```bash
|
|
141
|
+
# Save to .claude/settings.local.json
|
|
116
142
|
```
|
|
117
143
|
|
|
118
144
|
### Saving Token Securely
|
|
@@ -151,11 +177,18 @@ save_token "GITHUB_TOKEN" "$token"
|
|
|
151
177
|
- Do we have push permissions?
|
|
152
178
|
|
|
153
179
|
**Ask permission first**:
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
180
|
+
```xml
|
|
181
|
+
<invoke name="AskUserQuestion">
|
|
182
|
+
<parameter name="questions">[{
|
|
183
|
+
"question": "Verify git remote connection? (Tests if you can access the repository)",
|
|
184
|
+
"header": "Verify git",
|
|
185
|
+
"multiSelect": false,
|
|
186
|
+
"options": [
|
|
187
|
+
{"label": "Yes, verify (Recommended)", "description": "Test connection to remote repository"},
|
|
188
|
+
{"label": "No, skip", "description": "Skip verification - test manually later"}
|
|
189
|
+
]
|
|
190
|
+
}]</parameter>
|
|
191
|
+
</invoke>
|
|
159
192
|
```
|
|
160
193
|
|
|
161
194
|
**Verification command**:
|
|
@@ -232,11 +265,18 @@ validate_github_workflow() {
|
|
|
232
265
|
**Step 2: Test commands locally**
|
|
233
266
|
|
|
234
267
|
**Ask permission**:
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
268
|
+
```xml
|
|
269
|
+
<invoke name="AskUserQuestion">
|
|
270
|
+
<parameter name="questions">[{
|
|
271
|
+
"question": "Test CI commands locally? (This will run: npm test, npm run lint, etc.)",
|
|
272
|
+
"header": "Test local",
|
|
273
|
+
"multiSelect": false,
|
|
274
|
+
"options": [
|
|
275
|
+
{"label": "Yes, run tests now (Recommended)", "description": "Execute CI commands locally to catch issues early"},
|
|
276
|
+
{"label": "No, skip local testing", "description": "Skip local testing - assume commands work"}
|
|
277
|
+
]
|
|
278
|
+
}]</parameter>
|
|
279
|
+
</invoke>
|
|
240
280
|
```
|
|
241
281
|
|
|
242
282
|
**Run commands**:
|
|
@@ -279,11 +319,18 @@ test_ci_commands "npm ci" "npm test" "npm run lint" "npm run build"
|
|
|
279
319
|
**Step 3: Trigger CI run (optional)**
|
|
280
320
|
|
|
281
321
|
**Ask permission**:
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
322
|
+
```xml
|
|
323
|
+
<invoke name="AskUserQuestion">
|
|
324
|
+
<parameter name="questions">[{
|
|
325
|
+
"question": "Trigger a test CI run? (Requires GitHub token with workflow scope)",
|
|
326
|
+
"header": "Trigger CI",
|
|
327
|
+
"multiSelect": false,
|
|
328
|
+
"options": [
|
|
329
|
+
{"label": "Yes, trigger CI run", "description": "Use GitHub API to trigger workflow now"},
|
|
330
|
+
{"label": "No, I'll push manually (Recommended)", "description": "Skip - CI will run when you push code"}
|
|
331
|
+
]
|
|
332
|
+
}]</parameter>
|
|
333
|
+
</invoke>
|
|
287
334
|
```
|
|
288
335
|
|
|
289
336
|
**Trigger via API**:
|
|
@@ -366,11 +413,18 @@ test_get_env() {
|
|
|
366
413
|
```
|
|
367
414
|
|
|
368
415
|
**Test hook execution** (MUST ask permission):
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
416
|
+
```xml
|
|
417
|
+
<invoke name="AskUserQuestion">
|
|
418
|
+
<parameter name="questions">[{
|
|
419
|
+
"question": "Test SessionStart hook? (This will execute the hook commands)",
|
|
420
|
+
"header": "Test hook",
|
|
421
|
+
"multiSelect": false,
|
|
422
|
+
"options": [
|
|
423
|
+
{"label": "Yes, test hook (Recommended)", "description": "Execute hook commands to verify they work"},
|
|
424
|
+
{"label": "No, skip", "description": "Skip hook testing"}
|
|
425
|
+
]
|
|
426
|
+
}]</parameter>
|
|
427
|
+
</invoke>
|
|
374
428
|
```
|
|
375
429
|
|
|
376
430
|
### 4. Archival Verification
|
|
@@ -29,6 +29,8 @@ ROLE: Babysitter (Mentor + Orchestrator)
|
|
|
29
29
|
|
|
30
30
|
**Principle**: Be helpful, not annoying. Ask for decisions, not permissions.
|
|
31
31
|
|
|
32
|
+
🔴 **Format**: NEVER ask users to "type" anything. Use proper options with XML invoke format. See `docs/02-practices/ask-user-question.md`.
|
|
33
|
+
|
|
32
34
|
---
|
|
33
35
|
|
|
34
36
|
TODO LIST TRACKING
|
|
@@ -11,6 +11,8 @@ Interactive orchestrator for configuring advanced AgileFlow features.
|
|
|
11
11
|
|
|
12
12
|
ROLE: Configuration Orchestrator
|
|
13
13
|
|
|
14
|
+
🔴 **AskUserQuestion Format**: NEVER ask users to "type" anything. Use proper options with XML invoke format. See `docs/02-practices/ask-user-question.md`.
|
|
15
|
+
|
|
14
16
|
OBJECTIVE
|
|
15
17
|
Guide users through interactive configuration of advanced AgileFlow features by spawning specialized configuration agents. This orchestrator uses the AskUserQuestion tool to present options, then spawns agents asynchronously for optimal performance.
|
|
16
18
|
|
|
@@ -11,6 +11,11 @@ Synchronize a folder's README.md with its current contents.
|
|
|
11
11
|
|
|
12
12
|
ROLE: README Sync Orchestrator
|
|
13
13
|
|
|
14
|
+
🔴 **AskUserQuestion Format** (when asking decisions):
|
|
15
|
+
- NEVER ask users to "type" anything - use proper options
|
|
16
|
+
- Use XML invoke format with multiSelect for multiple choices
|
|
17
|
+
- See `docs/02-practices/ask-user-question.md` for examples
|
|
18
|
+
|
|
14
19
|
INPUTS
|
|
15
20
|
FOLDER=<path> Path to folder (e.g., docs/02-practices)
|
|
16
21
|
FOLDER=all Sync all docs/ subfolders
|
|
@@ -44,7 +49,22 @@ ACTIONS
|
|
|
44
49
|
- Agent handles: listing, diffing, confirmation, updating
|
|
45
50
|
|
|
46
51
|
3) If FOLDER is missing:
|
|
47
|
-
-
|
|
52
|
+
- Use AskUserQuestion to ask which folder to sync:
|
|
53
|
+
```xml
|
|
54
|
+
<invoke name="AskUserQuestion">
|
|
55
|
+
<parameter name="questions">[{
|
|
56
|
+
"question": "Which folder should I sync?",
|
|
57
|
+
"header": "Folder",
|
|
58
|
+
"multiSelect": false,
|
|
59
|
+
"options": [
|
|
60
|
+
{"label": "docs/02-practices (Recommended)", "description": "Sync practices documentation folder"},
|
|
61
|
+
{"label": "docs/04-architecture", "description": "Sync architecture documentation"},
|
|
62
|
+
{"label": "all", "description": "Sync all docs/ subfolders"},
|
|
63
|
+
{"label": "Other", "description": "Enter custom folder path"}
|
|
64
|
+
]
|
|
65
|
+
}]</parameter>
|
|
66
|
+
</invoke>
|
|
67
|
+
```
|
|
48
68
|
|
|
49
69
|
WORKFLOW DETAILS
|
|
50
70
|
|
|
@@ -72,9 +92,22 @@ Generate markdown bullet list:
|
|
|
72
92
|
|
|
73
93
|
### Step 4: Show Diff & Apply
|
|
74
94
|
- Display the proposed changes (diff format)
|
|
75
|
-
- Ask user
|
|
76
|
-
|
|
77
|
-
|
|
95
|
+
- Ask user with AskUserQuestion:
|
|
96
|
+
```xml
|
|
97
|
+
<invoke name="AskUserQuestion">
|
|
98
|
+
<parameter name="questions">[{
|
|
99
|
+
"question": "Apply these changes to README.md?",
|
|
100
|
+
"header": "Update",
|
|
101
|
+
"multiSelect": false,
|
|
102
|
+
"options": [
|
|
103
|
+
{"label": "Yes, update README (Recommended)", "description": "Write the proposed ## Contents section to README.md"},
|
|
104
|
+
{"label": "No, abort", "description": "Cancel without making changes"}
|
|
105
|
+
]
|
|
106
|
+
}]</parameter>
|
|
107
|
+
</invoke>
|
|
108
|
+
```
|
|
109
|
+
- If "Yes, update README": Use Edit tool to update "## Contents" section
|
|
110
|
+
- If "No, abort": Exit without changes
|
|
78
111
|
|
|
79
112
|
EXAMPLE OUTPUT
|
|
80
113
|
|
|
@@ -11,6 +11,8 @@ Create a new user story with acceptance criteria and test stubs.
|
|
|
11
11
|
|
|
12
12
|
ROLE: Story Creator
|
|
13
13
|
|
|
14
|
+
🔴 **AskUserQuestion Format**: NEVER ask users to "type" anything. Use proper options with XML invoke format. See `docs/02-practices/ask-user-question.md`.
|
|
15
|
+
|
|
14
16
|
TODO LIST TRACKING
|
|
15
17
|
**CRITICAL**: Immediately create a todo list using TodoWrite tool to track story creation:
|
|
16
18
|
```
|