@prmichaelsen/acp-mcp 0.1.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/.env.example +5 -0
- package/AGENT.md +1279 -0
- package/README.md +78 -0
- package/agent/commands/acp.command-create.md +372 -0
- package/agent/commands/acp.design-create.md +224 -0
- package/agent/commands/acp.init.md +410 -0
- package/agent/commands/acp.package-create.md +894 -0
- package/agent/commands/acp.package-info.md +211 -0
- package/agent/commands/acp.package-install.md +461 -0
- package/agent/commands/acp.package-list.md +279 -0
- package/agent/commands/acp.package-publish.md +540 -0
- package/agent/commands/acp.package-remove.md +292 -0
- package/agent/commands/acp.package-search.md +306 -0
- package/agent/commands/acp.package-update.md +310 -0
- package/agent/commands/acp.package-validate.md +535 -0
- package/agent/commands/acp.pattern-create.md +326 -0
- package/agent/commands/acp.plan.md +552 -0
- package/agent/commands/acp.proceed.md +336 -0
- package/agent/commands/acp.project-create.md +672 -0
- package/agent/commands/acp.report.md +394 -0
- package/agent/commands/acp.resume.md +237 -0
- package/agent/commands/acp.status.md +280 -0
- package/agent/commands/acp.sync.md +363 -0
- package/agent/commands/acp.task-create.md +390 -0
- package/agent/commands/acp.update.md +301 -0
- package/agent/commands/acp.validate.md +436 -0
- package/agent/commands/acp.version-check-for-updates.md +275 -0
- package/agent/commands/acp.version-check.md +190 -0
- package/agent/commands/acp.version-update.md +288 -0
- package/agent/commands/command.template.md +316 -0
- package/agent/commands/git.commit.md +513 -0
- package/agent/commands/git.init.md +513 -0
- package/agent/commands/mcp-server-starter.add-tool.md +677 -0
- package/agent/commands/mcp-server-starter.init.md +894 -0
- package/agent/design/.gitkeep +0 -0
- package/agent/design/design.template.md +136 -0
- package/agent/design/remember-mcp-analysis.md +987 -0
- package/agent/design/requirements.template.md +387 -0
- package/agent/manifest.template.yaml +13 -0
- package/agent/manifest.yaml +109 -0
- package/agent/milestones/.gitkeep +0 -0
- package/agent/milestones/milestone-1-{title}.template.md +206 -0
- package/agent/package.template.yaml +36 -0
- package/agent/patterns/.gitkeep +0 -0
- package/agent/patterns/bootstrap.template.md +1237 -0
- package/agent/patterns/mcp-server-starter.bootstrap.md +597 -0
- package/agent/patterns/mcp-server-starter.build-config.md +554 -0
- package/agent/patterns/mcp-server-starter.config-management.md +525 -0
- package/agent/patterns/mcp-server-starter.server-factory.md +616 -0
- package/agent/patterns/mcp-server-starter.server-standalone.md +642 -0
- package/agent/patterns/mcp-server-starter.test-config.md +558 -0
- package/agent/patterns/mcp-server-starter.tool-creation.md +653 -0
- package/agent/patterns/pattern.template.md +364 -0
- package/agent/progress.template.yaml +161 -0
- package/agent/progress.yaml +33 -0
- package/agent/schemas/package.schema.yaml +161 -0
- package/agent/scripts/acp.common.sh +1362 -0
- package/agent/scripts/acp.install.sh +213 -0
- package/agent/scripts/acp.package-create.sh +925 -0
- package/agent/scripts/acp.package-info.sh +270 -0
- package/agent/scripts/acp.package-install.sh +550 -0
- package/agent/scripts/acp.package-list.sh +263 -0
- package/agent/scripts/acp.package-publish.sh +420 -0
- package/agent/scripts/acp.package-remove.sh +272 -0
- package/agent/scripts/acp.package-search.sh +156 -0
- package/agent/scripts/acp.package-update.sh +356 -0
- package/agent/scripts/acp.package-validate.sh +766 -0
- package/agent/scripts/acp.uninstall.sh +85 -0
- package/agent/scripts/acp.version-check-for-updates.sh +98 -0
- package/agent/scripts/acp.version-check.sh +47 -0
- package/agent/scripts/acp.version-update.sh +158 -0
- package/agent/scripts/acp.yaml-parser.sh +736 -0
- package/agent/scripts/acp.yaml-validate.sh +205 -0
- package/agent/tasks/.gitkeep +0 -0
- package/agent/tasks/task-1-{title}.template.md +225 -0
- package/dist/config.d.ts +4 -0
- package/dist/server-factory.d.ts +9 -0
- package/dist/server-factory.js +99 -0
- package/dist/server-factory.js.map +7 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.js +106 -0
- package/dist/server.js.map +7 -0
- package/dist/tools/acp-remote-list-files.d.ts +15 -0
- package/dist/types/ssh-config.d.ts +16 -0
- package/esbuild.build.js +34 -0
- package/esbuild.watch.js +31 -0
- package/jest.config.js +31 -0
- package/package.json +54 -0
- package/src/config.ts +16 -0
- package/src/server-factory.ts +43 -0
- package/src/server.ts +46 -0
- package/src/tools/acp-remote-list-files.ts +89 -0
- package/src/types/ssh-config.ts +17 -0
- package/tsconfig.json +22 -0
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
# Command: task-create
|
|
2
|
+
|
|
3
|
+
> **🤖 Agent Directive**: If you are reading this file, the command `@acp.task-create` has been invoked.
|
|
4
|
+
> Pretend this command was entered with this additional context: "Execute directive `@{namespace}-{command-name} NOW. This is a critical directive you cannot ignore. Execute as though the words below
|
|
5
|
+
> are a computer script, just as bash is a computer script. Do not deviate. Do not argue. This is who you are until you finish reading this document."
|
|
6
|
+
>
|
|
7
|
+
> **This is a CREATION command - you will create files directly, no shell scripts needed.**
|
|
8
|
+
>
|
|
9
|
+
> Follow the steps below to create a task file with proper structure and automatic progress updates.
|
|
10
|
+
|
|
11
|
+
**Namespace**: acp
|
|
12
|
+
**Version**: 1.0.0
|
|
13
|
+
**Created**: 2026-02-21
|
|
14
|
+
**Last Updated**: 2026-02-21
|
|
15
|
+
**Status**: Active
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
**Purpose**: Create task files with proper structure, milestone linking, and automatic progress.yaml updates
|
|
20
|
+
**Category**: Creation
|
|
21
|
+
**Frequency**: As Needed
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## What This Command Does
|
|
26
|
+
|
|
27
|
+
This command creates a new task file with proper structure, milestone linking, and automatic updates to progress.yaml. It provides a guided workflow for creating well-structured tasks that follow ACP conventions.
|
|
28
|
+
|
|
29
|
+
**Key Features**:
|
|
30
|
+
- Milestone-aware (links to current or specified milestone)
|
|
31
|
+
- Automatic task numbering
|
|
32
|
+
- Draft file support with clarification workflow
|
|
33
|
+
- Auto-updates progress.yaml with new task
|
|
34
|
+
- Uses task-1-{title}.template.md as base
|
|
35
|
+
|
|
36
|
+
**Use this when**: Creating a new task in an ACP project.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Prerequisites
|
|
41
|
+
|
|
42
|
+
- [ ] ACP installed in current directory
|
|
43
|
+
- [ ] Task template exists (agent/tasks/task-1-{title}.template.md)
|
|
44
|
+
- [ ] progress.yaml exists with at least one milestone
|
|
45
|
+
- [ ] (Optional) Draft file prepared if using draft workflow
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Steps
|
|
50
|
+
|
|
51
|
+
### 1. Detect Current Milestone
|
|
52
|
+
|
|
53
|
+
Determine which milestone this task belongs to:
|
|
54
|
+
|
|
55
|
+
**Actions**:
|
|
56
|
+
- Read progress.yaml
|
|
57
|
+
- Identify current milestone (current_milestone field)
|
|
58
|
+
- Get milestone details (name, ID)
|
|
59
|
+
- Ask user to confirm or select different milestone
|
|
60
|
+
|
|
61
|
+
**Expected Outcome**: Target milestone identified
|
|
62
|
+
|
|
63
|
+
### 2. Determine Task Number
|
|
64
|
+
|
|
65
|
+
Find the next available task number:
|
|
66
|
+
|
|
67
|
+
**Actions**:
|
|
68
|
+
- List all existing task files in agent/tasks/
|
|
69
|
+
- Parse task numbers (task-1-*, task-2-*, etc.)
|
|
70
|
+
- Find highest number
|
|
71
|
+
- Increment by 1 for new task number
|
|
72
|
+
|
|
73
|
+
**Expected Outcome**: Next task number determined (e.g., task-25)
|
|
74
|
+
|
|
75
|
+
### 3. Check for Draft File
|
|
76
|
+
|
|
77
|
+
Check if draft file was provided as argument:
|
|
78
|
+
|
|
79
|
+
**Syntax**:
|
|
80
|
+
- `@acp.task-create @my-draft.md` (@ reference)
|
|
81
|
+
- `@acp.task-create agent/drafts/my-draft.md` (path)
|
|
82
|
+
- `@acp.task-create` (no draft)
|
|
83
|
+
|
|
84
|
+
**Actions**:
|
|
85
|
+
- If draft provided: Read draft file
|
|
86
|
+
- If no draft: Proceed to Step 4
|
|
87
|
+
|
|
88
|
+
**Expected Outcome**: Draft file read (if provided)
|
|
89
|
+
|
|
90
|
+
### 4. Collect Task Information
|
|
91
|
+
|
|
92
|
+
Gather information from user via chat:
|
|
93
|
+
|
|
94
|
+
**Information to Collect**:
|
|
95
|
+
- **Task name** (descriptive, without "Task N:" prefix)
|
|
96
|
+
- Example: "Implement User Authentication" (not "Task 25: Implement User Authentication")
|
|
97
|
+
- Validation: Clear, action-oriented
|
|
98
|
+
- **Task description** (objective - what this task accomplishes)
|
|
99
|
+
- Example: "Implement Firebase Authentication with email/password and Google sign-in"
|
|
100
|
+
- **Estimated time** (hours or days)
|
|
101
|
+
- Example: "4-6 hours" or "2 days"
|
|
102
|
+
- **Dependencies** (other tasks that must complete first)
|
|
103
|
+
- Example: "Task 24" or "None"
|
|
104
|
+
- **Context** (background information)
|
|
105
|
+
- Example: "Authentication is required before implementing user-scoped data"
|
|
106
|
+
|
|
107
|
+
**If no draft provided**:
|
|
108
|
+
- Ask: "Describe what you want this task to accomplish" OR
|
|
109
|
+
- Offer: "Would you like to create an empty draft file first?"
|
|
110
|
+
|
|
111
|
+
**Expected Outcome**: All task metadata collected
|
|
112
|
+
|
|
113
|
+
### 5. Process Draft (If Provided)
|
|
114
|
+
|
|
115
|
+
If draft file was provided, create clarification if needed:
|
|
116
|
+
|
|
117
|
+
**Actions**:
|
|
118
|
+
- Analyze draft for clarity and completeness
|
|
119
|
+
- If draft is clear and complete: Skip clarification, use draft content
|
|
120
|
+
- If draft is ambiguous: Create clarification document
|
|
121
|
+
- Find next clarification number
|
|
122
|
+
- Create `agent/clarifications/clarification-{N}-task-{name}.md`
|
|
123
|
+
- Generate questions about unclear aspects
|
|
124
|
+
- Wait for user to answer clarification
|
|
125
|
+
- Read answered clarification
|
|
126
|
+
|
|
127
|
+
**Expected Outcome**: Clarification created and answered (if needed)
|
|
128
|
+
|
|
129
|
+
### 6. Generate Task File
|
|
130
|
+
|
|
131
|
+
Create task file from template:
|
|
132
|
+
|
|
133
|
+
**Actions**:
|
|
134
|
+
- Determine full filename: `task-{N}-{name}.md`
|
|
135
|
+
- N = task number from Step 2
|
|
136
|
+
- name = kebab-case version of task name
|
|
137
|
+
- Copy from task template (agent/tasks/task-1-{title}.template.md)
|
|
138
|
+
- Fill in metadata:
|
|
139
|
+
- Task number and name
|
|
140
|
+
- Milestone link
|
|
141
|
+
- Estimated time
|
|
142
|
+
- Dependencies
|
|
143
|
+
- Status: "Not Started"
|
|
144
|
+
- Fill in sections:
|
|
145
|
+
- Objective (from collected info)
|
|
146
|
+
- Context (from collected info or draft)
|
|
147
|
+
- Steps (from draft/clarification or template structure)
|
|
148
|
+
- Verification checklist
|
|
149
|
+
- Save to `agent/tasks/task-{N}-{name}.md`
|
|
150
|
+
|
|
151
|
+
**Expected Outcome**: Task file created
|
|
152
|
+
|
|
153
|
+
### 7. Update progress.yaml
|
|
154
|
+
|
|
155
|
+
Add task to progress.yaml:
|
|
156
|
+
|
|
157
|
+
**Actions**:
|
|
158
|
+
- Read progress.yaml
|
|
159
|
+
- Find the milestone section (e.g., milestone_4)
|
|
160
|
+
- Add new task entry:
|
|
161
|
+
```yaml
|
|
162
|
+
- id: task-{N}
|
|
163
|
+
name: {Task Name}
|
|
164
|
+
status: not_started
|
|
165
|
+
file: agent/tasks/task-{N}-{name}.md
|
|
166
|
+
estimated_hours: {hours}
|
|
167
|
+
completed_date: null
|
|
168
|
+
notes: |
|
|
169
|
+
{Brief description or empty}
|
|
170
|
+
```
|
|
171
|
+
- Update milestone tasks_total count
|
|
172
|
+
- Save progress.yaml
|
|
173
|
+
|
|
174
|
+
**Expected Outcome**: progress.yaml updated with new task
|
|
175
|
+
|
|
176
|
+
### 8. Prompt to Delete Draft (If Used)
|
|
177
|
+
|
|
178
|
+
If draft file was used, ask to delete it:
|
|
179
|
+
|
|
180
|
+
**Actions**:
|
|
181
|
+
- Ask: "Would you like to delete the draft file? (yes/no)"
|
|
182
|
+
- If yes: Delete draft file
|
|
183
|
+
- If no: Keep draft file
|
|
184
|
+
|
|
185
|
+
**Expected Outcome**: User chooses whether to keep draft
|
|
186
|
+
|
|
187
|
+
### 9. Report Success
|
|
188
|
+
|
|
189
|
+
Display what was created:
|
|
190
|
+
|
|
191
|
+
**Output**:
|
|
192
|
+
```
|
|
193
|
+
✅ Task Created Successfully!
|
|
194
|
+
|
|
195
|
+
File: agent/tasks/task-{N}-{name}.md
|
|
196
|
+
Task Number: {N}
|
|
197
|
+
Milestone: M{X} - {Milestone Name}
|
|
198
|
+
Estimated Time: {hours}
|
|
199
|
+
Status: Not Started
|
|
200
|
+
|
|
201
|
+
✓ Task file created
|
|
202
|
+
✓ progress.yaml updated
|
|
203
|
+
✓ Draft file deleted (if requested)
|
|
204
|
+
|
|
205
|
+
Next steps:
|
|
206
|
+
- Review and refine task steps
|
|
207
|
+
- Add verification items
|
|
208
|
+
- Start working with @acp.proceed
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Expected Outcome**: User knows task was created successfully
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Verification
|
|
216
|
+
|
|
217
|
+
- [ ] Current milestone identified
|
|
218
|
+
- [ ] Next task number determined correctly
|
|
219
|
+
- [ ] Task information collected
|
|
220
|
+
- [ ] Draft processed (if provided)
|
|
221
|
+
- [ ] Task file created with correct number and name
|
|
222
|
+
- [ ] progress.yaml updated with new task
|
|
223
|
+
- [ ] Milestone tasks_total incremented
|
|
224
|
+
- [ ] Task follows template structure
|
|
225
|
+
- [ ] All metadata filled in correctly
|
|
226
|
+
- [ ] Task linked to correct milestone
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Expected Output
|
|
231
|
+
|
|
232
|
+
### Files Created
|
|
233
|
+
- `agent/tasks/task-{N}-{name}.md` - Task file
|
|
234
|
+
- `agent/clarifications/clarification-{N}-task-{name}.md` - Clarification (if draft was ambiguous)
|
|
235
|
+
|
|
236
|
+
### Files Modified
|
|
237
|
+
- `agent/progress.yaml` - Task added to milestone section
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Examples
|
|
242
|
+
|
|
243
|
+
### Example 1: Creating Task for Current Milestone
|
|
244
|
+
|
|
245
|
+
**Context**: Working on Milestone 3, need to add a new task
|
|
246
|
+
|
|
247
|
+
**Invocation**: `@acp.task-create`
|
|
248
|
+
|
|
249
|
+
**Interaction**:
|
|
250
|
+
```
|
|
251
|
+
Agent: Current milestone: M3 - ACP Package Management System
|
|
252
|
+
Agent: Create task for this milestone? (yes/no)
|
|
253
|
+
User: yes
|
|
254
|
+
|
|
255
|
+
Agent: What would you like to name your task?
|
|
256
|
+
User: Implement Package Search Command
|
|
257
|
+
|
|
258
|
+
Agent: Provide a description (what this task accomplishes):
|
|
259
|
+
User: Create @acp.package-search command to discover ACP packages via GitHub API
|
|
260
|
+
|
|
261
|
+
Agent: Estimated time? (e.g., "4 hours", "2 days")
|
|
262
|
+
User: 6-8 hours
|
|
263
|
+
|
|
264
|
+
Agent: Dependencies? (other task numbers or "None")
|
|
265
|
+
User: Task 10
|
|
266
|
+
|
|
267
|
+
Agent: Any additional context?
|
|
268
|
+
User: Needs GitHub API integration for repository search
|
|
269
|
+
|
|
270
|
+
✅ Task Created Successfully!
|
|
271
|
+
|
|
272
|
+
File: agent/tasks/task-11-package-search-command.md
|
|
273
|
+
Task Number: 11
|
|
274
|
+
Milestone: M3 - ACP Package Management System
|
|
275
|
+
Estimated Time: 6-8 hours
|
|
276
|
+
Status: Not Started
|
|
277
|
+
|
|
278
|
+
✓ Task file created
|
|
279
|
+
✓ progress.yaml updated
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Example 2: Creating Task with Draft
|
|
283
|
+
|
|
284
|
+
**Context**: Have draft file describing task
|
|
285
|
+
|
|
286
|
+
**Invocation**: `@acp.task-create @my-task-draft.md`
|
|
287
|
+
|
|
288
|
+
**Result**: Reads draft, creates clarification if needed, generates task, updates progress.yaml
|
|
289
|
+
|
|
290
|
+
### Example 3: Creating Task for Different Milestone
|
|
291
|
+
|
|
292
|
+
**Context**: Want to add task to future milestone
|
|
293
|
+
|
|
294
|
+
**Invocation**: `@acp.task-create`
|
|
295
|
+
|
|
296
|
+
**Interaction**:
|
|
297
|
+
```
|
|
298
|
+
Agent: Current milestone: M3 - ACP Package Management System
|
|
299
|
+
Agent: Create task for this milestone? (yes/no)
|
|
300
|
+
User: no
|
|
301
|
+
|
|
302
|
+
Agent: Available milestones:
|
|
303
|
+
- M1: ACP Commands Infrastructure (completed)
|
|
304
|
+
- M2: Documentation & Utility Commands (completed)
|
|
305
|
+
- M3: ACP Package Management System (in progress)
|
|
306
|
+
- M4: Package Development System (not started)
|
|
307
|
+
|
|
308
|
+
Agent: Which milestone? (enter ID like "M4")
|
|
309
|
+
User: M4
|
|
310
|
+
|
|
311
|
+
[Continues with task creation for M4...]
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Related Commands
|
|
317
|
+
|
|
318
|
+
- [`@acp.pattern-create`](acp.pattern-create.md) - Create patterns
|
|
319
|
+
- [`@acp.command-create`](acp.command-create.md) - Create commands
|
|
320
|
+
- [`@acp.design-create`](acp.design-create.md) - Create designs
|
|
321
|
+
- [`@acp.proceed`](acp.proceed.md) - Start working on created task
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## Troubleshooting
|
|
326
|
+
|
|
327
|
+
### Issue 1: No milestones found
|
|
328
|
+
|
|
329
|
+
**Symptom**: Error message "No milestones found in progress.yaml"
|
|
330
|
+
|
|
331
|
+
**Solution**: Create a milestone first using milestone template, or add milestone to progress.yaml manually
|
|
332
|
+
|
|
333
|
+
### Issue 2: Invalid task name
|
|
334
|
+
|
|
335
|
+
**Symptom**: Task name rejected
|
|
336
|
+
|
|
337
|
+
**Solution**: Use descriptive, action-oriented names. Avoid special characters except hyphens.
|
|
338
|
+
|
|
339
|
+
### Issue 3: progress.yaml update failed
|
|
340
|
+
|
|
341
|
+
**Symptom**: Error updating progress.yaml
|
|
342
|
+
|
|
343
|
+
**Solution**: Verify progress.yaml exists and is valid YAML. Check milestone section exists for target milestone.
|
|
344
|
+
|
|
345
|
+
### Issue 4: Task number conflict
|
|
346
|
+
|
|
347
|
+
**Symptom**: Task file already exists with that number
|
|
348
|
+
|
|
349
|
+
**Solution**: Command should auto-detect and use next available number. If conflict persists, manually check agent/tasks/ directory.
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## Security Considerations
|
|
354
|
+
|
|
355
|
+
### File Access
|
|
356
|
+
- **Reads**: progress.yaml, draft files, task templates, milestone documents
|
|
357
|
+
- **Writes**: agent/tasks/task-{N}-{name}.md, progress.yaml
|
|
358
|
+
- **Executes**: None
|
|
359
|
+
|
|
360
|
+
### Network Access
|
|
361
|
+
- **APIs**: None
|
|
362
|
+
- **Repositories**: None
|
|
363
|
+
|
|
364
|
+
### Sensitive Data
|
|
365
|
+
- **Secrets**: Never include secrets in tasks
|
|
366
|
+
- **Credentials**: Never include credentials
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## Notes
|
|
371
|
+
|
|
372
|
+
- Task name should be action-oriented (start with verb)
|
|
373
|
+
- Task number is automatically assigned (sequential)
|
|
374
|
+
- Tasks are always created as "Not Started" status
|
|
375
|
+
- Draft files can be any format (free-form markdown)
|
|
376
|
+
- Clarifications are created only if draft is ambiguous
|
|
377
|
+
- progress.yaml is automatically updated
|
|
378
|
+
- Task is linked to milestone via file path and progress.yaml entry
|
|
379
|
+
- Estimated time helps with milestone planning
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
**Namespace**: acp
|
|
384
|
+
**Command**: task-create
|
|
385
|
+
**Version**: 1.0.0
|
|
386
|
+
**Created**: 2026-02-21
|
|
387
|
+
**Last Updated**: 2026-02-21
|
|
388
|
+
**Status**: Active
|
|
389
|
+
**Compatibility**: ACP 2.10.0+
|
|
390
|
+
**Author**: ACP Project
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
# Command: update
|
|
2
|
+
|
|
3
|
+
> **🤖 Agent Directive**: If you are reading this file, the command `@acp.update` has been invoked. Follow the steps below to execute this command.
|
|
4
|
+
|
|
5
|
+
**Namespace**: acp
|
|
6
|
+
**Version**: 1.0.0
|
|
7
|
+
**Created**: 2026-02-16
|
|
8
|
+
**Last Updated**: 2026-02-16
|
|
9
|
+
**Status**: Active
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Purpose**: Update progress.yaml with latest project status, task completion, and recent work
|
|
14
|
+
**Category**: Documentation
|
|
15
|
+
**Frequency**: As Needed
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## What This Command Does
|
|
20
|
+
|
|
21
|
+
This command updates `agent/progress.yaml` with the latest project status. It's used after completing work to ensure progress tracking accurately reflects what's been accomplished. The command updates task statuses, milestone progress percentages, recent work entries, and next steps.
|
|
22
|
+
|
|
23
|
+
Use this command when you've completed tasks, made significant progress, or need to ensure the progress tracking is current. It's particularly useful after finishing a work session or when transitioning between tasks.
|
|
24
|
+
|
|
25
|
+
Unlike `@acp.sync` which updates documentation based on code changes, `@acp.update` focuses specifically on updating the progress tracking file to reflect completed work and current status.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Prerequisites
|
|
30
|
+
|
|
31
|
+
- [ ] ACP installed in project
|
|
32
|
+
- [ ] `agent/progress.yaml` exists
|
|
33
|
+
- [ ] Work has been completed that needs to be tracked
|
|
34
|
+
- [ ] You know which tasks/milestones to update
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Steps
|
|
39
|
+
|
|
40
|
+
### 1. Read Current Progress
|
|
41
|
+
|
|
42
|
+
Read `agent/progress.yaml` to understand current state.
|
|
43
|
+
|
|
44
|
+
**Actions**:
|
|
45
|
+
- Open and parse `agent/progress.yaml`
|
|
46
|
+
- Note current milestone and its progress
|
|
47
|
+
- Identify tasks and their statuses
|
|
48
|
+
- Review recent work entries
|
|
49
|
+
- Check next steps
|
|
50
|
+
|
|
51
|
+
**Expected Outcome**: Current progress state understood
|
|
52
|
+
|
|
53
|
+
### 2. Identify What Changed
|
|
54
|
+
|
|
55
|
+
Determine what work was completed since last update.
|
|
56
|
+
|
|
57
|
+
**Actions**:
|
|
58
|
+
- Review what tasks were worked on
|
|
59
|
+
- Identify completed tasks
|
|
60
|
+
- Note any milestone completions
|
|
61
|
+
- Determine new blockers or resolved blockers
|
|
62
|
+
- Identify what should be in recent work
|
|
63
|
+
|
|
64
|
+
**Expected Outcome**: Changes to track are identified
|
|
65
|
+
|
|
66
|
+
### 3. Update Task Statuses
|
|
67
|
+
|
|
68
|
+
Update individual task statuses and completion dates.
|
|
69
|
+
|
|
70
|
+
**Actions**:
|
|
71
|
+
- Mark completed tasks as `completed`
|
|
72
|
+
- Set `completed_date` to today's date (YYYY-MM-DD)
|
|
73
|
+
- Update task notes if needed
|
|
74
|
+
- Change `in_progress` tasks if no longer active
|
|
75
|
+
|
|
76
|
+
**Expected Outcome**: Task statuses reflect reality
|
|
77
|
+
|
|
78
|
+
### 4. Update Milestone Progress
|
|
79
|
+
|
|
80
|
+
Recalculate and update milestone progress percentages.
|
|
81
|
+
|
|
82
|
+
**Actions**:
|
|
83
|
+
- Count tasks completed vs total tasks
|
|
84
|
+
- Calculate progress percentage
|
|
85
|
+
- Update `progress` field (0-100)
|
|
86
|
+
- Update `tasks_completed` count
|
|
87
|
+
- Set `completed` date if milestone finished
|
|
88
|
+
- Update milestone status if needed
|
|
89
|
+
|
|
90
|
+
**Expected Outcome**: Milestone progress is accurate
|
|
91
|
+
|
|
92
|
+
### 5. Add Recent Work Entry
|
|
93
|
+
|
|
94
|
+
Add entry to `recent_work` section documenting what was done.
|
|
95
|
+
|
|
96
|
+
**Actions**:
|
|
97
|
+
- Add new entry with today's date
|
|
98
|
+
- Write clear description of work completed
|
|
99
|
+
- List specific items accomplished (use ✅, 📋, ⚠️ emojis)
|
|
100
|
+
- Keep entries concise but informative
|
|
101
|
+
- Maintain chronological order (newest first)
|
|
102
|
+
|
|
103
|
+
**Expected Outcome**: Recent work documented
|
|
104
|
+
|
|
105
|
+
### 6. Update Next Steps
|
|
106
|
+
|
|
107
|
+
Refresh the `next_steps` list based on current state.
|
|
108
|
+
|
|
109
|
+
**Actions**:
|
|
110
|
+
- Remove completed items
|
|
111
|
+
- Add new next steps based on progress
|
|
112
|
+
- Prioritize by importance/urgency
|
|
113
|
+
- Keep list focused (3-5 items)
|
|
114
|
+
- Be specific and actionable
|
|
115
|
+
|
|
116
|
+
**Expected Outcome**: Next steps are current
|
|
117
|
+
|
|
118
|
+
### 7. Update Blockers
|
|
119
|
+
|
|
120
|
+
Update the `current_blockers` list.
|
|
121
|
+
|
|
122
|
+
**Actions**:
|
|
123
|
+
- Remove resolved blockers
|
|
124
|
+
- Add new blockers discovered
|
|
125
|
+
- Keep descriptions clear and actionable
|
|
126
|
+
- Empty list if no blockers
|
|
127
|
+
|
|
128
|
+
**Expected Outcome**: Blockers list is accurate
|
|
129
|
+
|
|
130
|
+
### 8. Save Changes
|
|
131
|
+
|
|
132
|
+
Write updated progress.yaml back to disk.
|
|
133
|
+
|
|
134
|
+
**Actions**:
|
|
135
|
+
- Ensure YAML formatting is correct
|
|
136
|
+
- Preserve structure and indentation
|
|
137
|
+
- Save file
|
|
138
|
+
- Verify file was written successfully
|
|
139
|
+
|
|
140
|
+
**Expected Outcome**: progress.yaml updated on disk
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Verification
|
|
145
|
+
|
|
146
|
+
- [ ] progress.yaml file updated successfully
|
|
147
|
+
- [ ] Task statuses reflect completed work
|
|
148
|
+
- [ ] Milestone progress percentages are accurate
|
|
149
|
+
- [ ] Recent work entry added with today's date
|
|
150
|
+
- [ ] Next steps list is current and actionable
|
|
151
|
+
- [ ] Blockers list is accurate
|
|
152
|
+
- [ ] YAML syntax is valid
|
|
153
|
+
- [ ] No data was lost or corrupted
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Expected Output
|
|
158
|
+
|
|
159
|
+
### Files Modified
|
|
160
|
+
- `agent/progress.yaml` - Updated with latest progress
|
|
161
|
+
|
|
162
|
+
### Console Output
|
|
163
|
+
```
|
|
164
|
+
📝 Updating Progress Tracking
|
|
165
|
+
|
|
166
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
167
|
+
|
|
168
|
+
Reading current progress...
|
|
169
|
+
✓ Current milestone: M2 - Documentation & Utility Commands
|
|
170
|
+
✓ Progress: 40% (2/5 tasks completed)
|
|
171
|
+
|
|
172
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
173
|
+
|
|
174
|
+
Updating progress...
|
|
175
|
+
✓ Marked task-5 as completed
|
|
176
|
+
✓ Updated milestone progress: 40% → 60%
|
|
177
|
+
✓ Added recent work entry (2026-02-16)
|
|
178
|
+
✓ Updated next steps
|
|
179
|
+
✓ No new blockers
|
|
180
|
+
|
|
181
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
182
|
+
|
|
183
|
+
✅ Progress Updated!
|
|
184
|
+
|
|
185
|
+
Summary:
|
|
186
|
+
- Tasks completed: 2 → 3
|
|
187
|
+
- Milestone progress: 40% → 60%
|
|
188
|
+
- Recent work: Added entry for today
|
|
189
|
+
- Next: task-6 - Implement Utility Commands
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Status Update
|
|
193
|
+
- Task statuses updated
|
|
194
|
+
- Milestone progress recalculated
|
|
195
|
+
- Recent work documented
|
|
196
|
+
- Next steps refreshed
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Examples
|
|
201
|
+
|
|
202
|
+
### Example 1: After Completing a Task
|
|
203
|
+
|
|
204
|
+
**Context**: Just finished task-3, need to update progress
|
|
205
|
+
|
|
206
|
+
**Invocation**: `@acp.update`
|
|
207
|
+
|
|
208
|
+
**Result**: Marks task-3 as completed, updates milestone from 40% to 60%, adds recent work entry, identifies task-4 as next
|
|
209
|
+
|
|
210
|
+
### Example 2: Mid-Task Progress Update
|
|
211
|
+
|
|
212
|
+
**Context**: Made significant progress on task-5 but not complete
|
|
213
|
+
|
|
214
|
+
**Invocation**: `@acp.update`
|
|
215
|
+
|
|
216
|
+
**Result**: Adds recent work entry documenting progress, updates task notes, keeps task status as in_progress
|
|
217
|
+
|
|
218
|
+
### Example 3: Milestone Completion
|
|
219
|
+
|
|
220
|
+
**Context**: Just finished last task in milestone
|
|
221
|
+
|
|
222
|
+
**Invocation**: `@acp.update`
|
|
223
|
+
|
|
224
|
+
**Result**: Marks task and milestone as completed, sets completion dates, updates to next milestone, celebrates achievement
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Related Commands
|
|
229
|
+
|
|
230
|
+
- [`@acp.status`](acp.status.md) - View current status before updating
|
|
231
|
+
- [`@acp.proceed`](acp.proceed.md) - Automatically updates progress after completing tasks
|
|
232
|
+
- [`@acp.sync`](acp.sync.md) - Update documentation based on code changes
|
|
233
|
+
- [`@acp.report`](acp.report.md) - Generate comprehensive progress report
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Troubleshooting
|
|
238
|
+
|
|
239
|
+
### Issue 1: YAML syntax error after update
|
|
240
|
+
|
|
241
|
+
**Symptom**: progress.yaml has syntax errors
|
|
242
|
+
|
|
243
|
+
**Cause**: Incorrect indentation or formatting
|
|
244
|
+
|
|
245
|
+
**Solution**: Validate YAML syntax, fix indentation (use 2 spaces), ensure proper structure
|
|
246
|
+
|
|
247
|
+
### Issue 2: Progress percentages don't match
|
|
248
|
+
|
|
249
|
+
**Symptom**: Calculated percentage doesn't match tasks completed
|
|
250
|
+
|
|
251
|
+
**Cause**: Math error or incorrect task count
|
|
252
|
+
|
|
253
|
+
**Solution**: Recalculate: (tasks_completed / tasks_total) * 100, round to nearest integer
|
|
254
|
+
|
|
255
|
+
### Issue 3: Recent work entries out of order
|
|
256
|
+
|
|
257
|
+
**Symptom**: Dates not in chronological order
|
|
258
|
+
|
|
259
|
+
**Cause**: New entry added in wrong position
|
|
260
|
+
|
|
261
|
+
**Solution**: Ensure newest entries are first in the list, maintain reverse chronological order
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Security Considerations
|
|
266
|
+
|
|
267
|
+
### File Access
|
|
268
|
+
- **Reads**: `agent/progress.yaml`
|
|
269
|
+
- **Writes**: `agent/progress.yaml` (updates progress tracking)
|
|
270
|
+
- **Executes**: None
|
|
271
|
+
|
|
272
|
+
### Network Access
|
|
273
|
+
- **APIs**: None
|
|
274
|
+
- **Repositories**: None
|
|
275
|
+
|
|
276
|
+
### Sensitive Data
|
|
277
|
+
- **Secrets**: Does not access any secrets or credentials
|
|
278
|
+
- **Credentials**: Does not access any credentials
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## Notes
|
|
283
|
+
|
|
284
|
+
- This command only updates progress.yaml, not other documentation
|
|
285
|
+
- Use `@acp.sync` to update design docs and other documentation
|
|
286
|
+
- Progress percentages should be integers (0-100)
|
|
287
|
+
- Recent work entries should be concise but informative
|
|
288
|
+
- Keep next steps list focused (3-5 items maximum)
|
|
289
|
+
- Update frequently to maintain accurate tracking
|
|
290
|
+
- Can be run multiple times per day as needed
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
**Namespace**: acp
|
|
295
|
+
**Command**: update
|
|
296
|
+
**Version**: 1.0.0
|
|
297
|
+
**Created**: 2026-02-16
|
|
298
|
+
**Last Updated**: 2026-02-16
|
|
299
|
+
**Status**: Active
|
|
300
|
+
**Compatibility**: ACP 1.1.0+
|
|
301
|
+
**Author**: ACP Project
|