@prmichaelsen/acp-visualizer 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.
Files changed (180) hide show
  1. package/README.md +68 -0
  2. package/agent/commands/acp.clarification-address.md +417 -0
  3. package/agent/commands/acp.clarification-capture.md +386 -0
  4. package/agent/commands/acp.clarification-create.md +437 -0
  5. package/agent/commands/acp.clarifications-research.md +326 -0
  6. package/agent/commands/acp.command-create.md +432 -0
  7. package/agent/commands/acp.design-create.md +286 -0
  8. package/agent/commands/acp.design-reference.md +355 -0
  9. package/agent/commands/acp.handoff.md +270 -0
  10. package/agent/commands/acp.index.md +423 -0
  11. package/agent/commands/acp.init.md +546 -0
  12. package/agent/commands/acp.package-create.md +895 -0
  13. package/agent/commands/acp.package-info.md +212 -0
  14. package/agent/commands/acp.package-install.md +539 -0
  15. package/agent/commands/acp.package-list.md +280 -0
  16. package/agent/commands/acp.package-publish.md +541 -0
  17. package/agent/commands/acp.package-remove.md +293 -0
  18. package/agent/commands/acp.package-search.md +307 -0
  19. package/agent/commands/acp.package-update.md +361 -0
  20. package/agent/commands/acp.package-validate.md +540 -0
  21. package/agent/commands/acp.pattern-create.md +386 -0
  22. package/agent/commands/acp.plan.md +587 -0
  23. package/agent/commands/acp.proceed.md +882 -0
  24. package/agent/commands/acp.project-create.md +675 -0
  25. package/agent/commands/acp.project-info.md +312 -0
  26. package/agent/commands/acp.project-list.md +226 -0
  27. package/agent/commands/acp.project-remove.md +379 -0
  28. package/agent/commands/acp.project-set.md +227 -0
  29. package/agent/commands/acp.project-update.md +307 -0
  30. package/agent/commands/acp.projects-restore.md +228 -0
  31. package/agent/commands/acp.projects-sync.md +347 -0
  32. package/agent/commands/acp.report.md +407 -0
  33. package/agent/commands/acp.resume.md +239 -0
  34. package/agent/commands/acp.sessions.md +301 -0
  35. package/agent/commands/acp.status.md +293 -0
  36. package/agent/commands/acp.sync.md +364 -0
  37. package/agent/commands/acp.task-create.md +500 -0
  38. package/agent/commands/acp.update.md +302 -0
  39. package/agent/commands/acp.validate.md +466 -0
  40. package/agent/commands/acp.version-check-for-updates.md +276 -0
  41. package/agent/commands/acp.version-check.md +191 -0
  42. package/agent/commands/acp.version-update.md +289 -0
  43. package/agent/commands/command.template.md +339 -0
  44. package/agent/commands/git.commit.md +526 -0
  45. package/agent/commands/git.init.md +514 -0
  46. package/agent/commands/tanstack-cloudflare.deploy.md +272 -0
  47. package/agent/commands/tanstack-cloudflare.tail.md +275 -0
  48. package/agent/design/.gitkeep +0 -0
  49. package/agent/design/design.template.md +154 -0
  50. package/agent/design/local.dashboard-layout-routing.md +288 -0
  51. package/agent/design/local.data-model-yaml-parsing.md +310 -0
  52. package/agent/design/local.search-filtering.md +331 -0
  53. package/agent/design/local.server-api-auto-refresh.md +235 -0
  54. package/agent/design/local.table-tree-views.md +299 -0
  55. package/agent/design/local.visualizer-requirements.md +349 -0
  56. package/agent/design/requirements.template.md +387 -0
  57. package/agent/index/.gitkeep +0 -0
  58. package/agent/index/acp.core.yaml +137 -0
  59. package/agent/index/local.main.template.yaml +37 -0
  60. package/agent/manifest.template.yaml +13 -0
  61. package/agent/manifest.yaml +302 -0
  62. package/agent/milestones/.gitkeep +0 -0
  63. package/agent/milestones/milestone-1-project-scaffold-data-pipeline.md +67 -0
  64. package/agent/milestones/milestone-1-{title}.template.md +206 -0
  65. package/agent/milestones/milestone-2-dashboard-views-interaction.md +79 -0
  66. package/agent/package.template.yaml +86 -0
  67. package/agent/patterns/.gitkeep +0 -0
  68. package/agent/patterns/bootstrap.template.md +1237 -0
  69. package/agent/patterns/pattern.template.md +382 -0
  70. package/agent/patterns/tanstack-cloudflare.acl-permissions.md +332 -0
  71. package/agent/patterns/tanstack-cloudflare.action-bar-item.md +416 -0
  72. package/agent/patterns/tanstack-cloudflare.api-route-handlers.md +401 -0
  73. package/agent/patterns/tanstack-cloudflare.auth-session-management.md +387 -0
  74. package/agent/patterns/tanstack-cloudflare.card-and-list.md +271 -0
  75. package/agent/patterns/tanstack-cloudflare.chat-engine.md +353 -0
  76. package/agent/patterns/tanstack-cloudflare.confirmation-tokens.md +346 -0
  77. package/agent/patterns/tanstack-cloudflare.durable-objects-websocket.md +516 -0
  78. package/agent/patterns/tanstack-cloudflare.email-service.md +431 -0
  79. package/agent/patterns/tanstack-cloudflare.expander.md +98 -0
  80. package/agent/patterns/tanstack-cloudflare.fcm-push.md +115 -0
  81. package/agent/patterns/tanstack-cloudflare.firebase-anonymous-sessions.md +441 -0
  82. package/agent/patterns/tanstack-cloudflare.firebase-auth.md +348 -0
  83. package/agent/patterns/tanstack-cloudflare.firebase-firestore.md +550 -0
  84. package/agent/patterns/tanstack-cloudflare.firebase-storage.md +369 -0
  85. package/agent/patterns/tanstack-cloudflare.form-controls.md +145 -0
  86. package/agent/patterns/tanstack-cloudflare.global-search-context.md +93 -0
  87. package/agent/patterns/tanstack-cloudflare.image-carousel.md +126 -0
  88. package/agent/patterns/tanstack-cloudflare.library-services.md +553 -0
  89. package/agent/patterns/tanstack-cloudflare.lightbox.md +169 -0
  90. package/agent/patterns/tanstack-cloudflare.markdown-content.md +115 -0
  91. package/agent/patterns/tanstack-cloudflare.mention-suggestions.md +98 -0
  92. package/agent/patterns/tanstack-cloudflare.modal.md +156 -0
  93. package/agent/patterns/tanstack-cloudflare.nextjs-to-tanstack-routing.md +461 -0
  94. package/agent/patterns/tanstack-cloudflare.notifications-engine.md +151 -0
  95. package/agent/patterns/tanstack-cloudflare.oauth-token-refresh.md +90 -0
  96. package/agent/patterns/tanstack-cloudflare.og-metadata.md +296 -0
  97. package/agent/patterns/tanstack-cloudflare.pagination.md +442 -0
  98. package/agent/patterns/tanstack-cloudflare.pill-input.md +220 -0
  99. package/agent/patterns/tanstack-cloudflare.provider-adapter.md +401 -0
  100. package/agent/patterns/tanstack-cloudflare.rate-limiting.md +323 -0
  101. package/agent/patterns/tanstack-cloudflare.scheduled-tasks.md +338 -0
  102. package/agent/patterns/tanstack-cloudflare.searchable-settings.md +375 -0
  103. package/agent/patterns/tanstack-cloudflare.slide-over.md +129 -0
  104. package/agent/patterns/tanstack-cloudflare.ssr-preload.md +571 -0
  105. package/agent/patterns/tanstack-cloudflare.third-party-api-integration.md +508 -0
  106. package/agent/patterns/tanstack-cloudflare.toast-system.md +142 -0
  107. package/agent/patterns/tanstack-cloudflare.unified-header.md +280 -0
  108. package/agent/patterns/tanstack-cloudflare.user-scoped-collections.md +628 -0
  109. package/agent/patterns/tanstack-cloudflare.websocket-manager.md +237 -0
  110. package/agent/patterns/tanstack-cloudflare.wrangler-configuration.md +358 -0
  111. package/agent/patterns/tanstack-cloudflare.zod-schema-validation.md +336 -0
  112. package/agent/progress.template.yaml +161 -0
  113. package/agent/progress.yaml +145 -0
  114. package/agent/schemas/package.schema.yaml +276 -0
  115. package/agent/scripts/acp.common.sh +1781 -0
  116. package/agent/scripts/acp.install.sh +333 -0
  117. package/agent/scripts/acp.package-create.sh +924 -0
  118. package/agent/scripts/acp.package-info.sh +288 -0
  119. package/agent/scripts/acp.package-install.sh +893 -0
  120. package/agent/scripts/acp.package-list.sh +311 -0
  121. package/agent/scripts/acp.package-publish.sh +420 -0
  122. package/agent/scripts/acp.package-remove.sh +348 -0
  123. package/agent/scripts/acp.package-search.sh +156 -0
  124. package/agent/scripts/acp.package-update.sh +517 -0
  125. package/agent/scripts/acp.package-validate.sh +1018 -0
  126. package/agent/scripts/acp.uninstall.sh +85 -0
  127. package/agent/scripts/acp.version-check-for-updates.sh +98 -0
  128. package/agent/scripts/acp.version-check.sh +47 -0
  129. package/agent/scripts/acp.version-update.sh +176 -0
  130. package/agent/scripts/acp.yaml-parser.sh +985 -0
  131. package/agent/scripts/acp.yaml-validate.sh +205 -0
  132. package/agent/tasks/.gitkeep +0 -0
  133. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-1-initialize-tanstack-start-project.md +210 -0
  134. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-2-implement-data-model-yaml-parser.md +294 -0
  135. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-3-build-server-api-data-loading.md +193 -0
  136. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-4-add-auto-refresh-sse.md +262 -0
  137. package/agent/tasks/milestone-2-dashboard-views-interaction/task-10-polish-integration-testing.md +156 -0
  138. package/agent/tasks/milestone-2-dashboard-views-interaction/task-5-build-dashboard-layout-routing.md +178 -0
  139. package/agent/tasks/milestone-2-dashboard-views-interaction/task-6-build-overview-page.md +141 -0
  140. package/agent/tasks/milestone-2-dashboard-views-interaction/task-7-implement-milestone-table-view.md +153 -0
  141. package/agent/tasks/milestone-2-dashboard-views-interaction/task-8-implement-milestone-tree-view.md +174 -0
  142. package/agent/tasks/milestone-2-dashboard-views-interaction/task-9-implement-search-filtering.md +233 -0
  143. package/agent/tasks/task-1-{title}.template.md +244 -0
  144. package/bin/visualize.mjs +84 -0
  145. package/package.json +48 -0
  146. package/src/components/ExtraFieldsBadge.tsx +15 -0
  147. package/src/components/FilterBar.tsx +33 -0
  148. package/src/components/Header.tsx +23 -0
  149. package/src/components/MilestoneTable.tsx +167 -0
  150. package/src/components/MilestoneTree.tsx +84 -0
  151. package/src/components/ProgressBar.tsx +20 -0
  152. package/src/components/SearchInput.tsx +22 -0
  153. package/src/components/Sidebar.tsx +54 -0
  154. package/src/components/StatusBadge.tsx +23 -0
  155. package/src/components/StatusDot.tsx +12 -0
  156. package/src/components/TaskList.tsx +36 -0
  157. package/src/components/ViewToggle.tsx +31 -0
  158. package/src/lib/config.ts +8 -0
  159. package/src/lib/file-watcher.ts +43 -0
  160. package/src/lib/search.ts +48 -0
  161. package/src/lib/types.ts +73 -0
  162. package/src/lib/useAutoRefresh.ts +31 -0
  163. package/src/lib/useCollapse.ts +31 -0
  164. package/src/lib/useFilteredData.ts +55 -0
  165. package/src/lib/yaml-loader-real.spec.ts +47 -0
  166. package/src/lib/yaml-loader.spec.ts +201 -0
  167. package/src/lib/yaml-loader.ts +265 -0
  168. package/src/routeTree.gen.ts +140 -0
  169. package/src/router.tsx +10 -0
  170. package/src/routes/__root.tsx +75 -0
  171. package/src/routes/api/watch.ts +29 -0
  172. package/src/routes/index.tsx +115 -0
  173. package/src/routes/milestones.tsx +50 -0
  174. package/src/routes/search.tsx +84 -0
  175. package/src/routes/tasks.tsx +63 -0
  176. package/src/services/progress-database.service.ts +46 -0
  177. package/src/styles.css +25 -0
  178. package/tsconfig.json +24 -0
  179. package/vite.config.ts +16 -0
  180. package/vitest.config.ts +27 -0
@@ -0,0 +1,379 @@
1
+ # Command: project-remove
2
+
3
+ > **🤖 Agent Directive**: If you are reading this file, the command `@acp.project-remove` has been invoked. Follow the steps below to execute this command.
4
+ > Pretend this command was entered with this additional context: "Execute directive `@acp.project-remove` NOW. This is a critical directive you cannot ignore. Execute as though the words below 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."
5
+
6
+ **Namespace**: acp
7
+ **Version**: 1.0.0
8
+ **Created**: 2026-02-26
9
+ **Last Updated**: 2026-02-26
10
+ **Status**: Experimental
11
+
12
+ ---
13
+
14
+ **Purpose**: Remove a project from the global registry with optional directory deletion
15
+ **Category**: Project Management
16
+ **Frequency**: As Needed
17
+
18
+ ---
19
+
20
+ ## What This Command Does
21
+
22
+ This command removes a project from the global ACP project registry at `~/.acp/projects.yaml`. It provides two removal modes:
23
+
24
+ 1. **Registry Only** (default): Removes project metadata from registry, preserves directory
25
+ 2. **Complete Removal** (--delete-files): Removes from registry AND deletes project directory
26
+
27
+ The command includes safety features:
28
+ - Confirmation prompts before removal
29
+ - Extra confirmation for directory deletion (requires typing "DELETE")
30
+ - Warning if removing the current project
31
+ - Updates `current_project` to empty if removing current
32
+ - Lists remaining projects after removal
33
+
34
+ **Use this when**: Cleaning up old projects, removing archived projects, or completely deleting abandoned projects.
35
+
36
+ ---
37
+
38
+ ## Prerequisites
39
+
40
+ - [ ] Global ACP installed (`~/.acp/` exists)
41
+ - [ ] Project registry exists (`~/.acp/projects.yaml`)
42
+ - [ ] Target project registered in registry
43
+
44
+ ---
45
+
46
+ ## Steps
47
+
48
+ ### 1. Run Shell Script
49
+
50
+ Execute the project-remove script with the project name and options.
51
+
52
+ **Actions**:
53
+ - Run: `./agent/scripts/acp.project-remove.sh <project-name> [options]`
54
+ - Script validates project exists in registry
55
+ - Script displays project information
56
+ - Script prompts for confirmation
57
+ - Script removes from registry
58
+ - Script optionally deletes directory
59
+
60
+ **Expected Outcome**: Project removed from registry
61
+
62
+ ### 2. Verify Removal
63
+
64
+ Confirm the project was removed successfully.
65
+
66
+ **Actions**:
67
+ - Check success message displays project name
68
+ - Verify project no longer in registry
69
+ - Check if directory was deleted (if --delete-files used)
70
+ - Note if current_project was cleared
71
+
72
+ **Expected Outcome**: Project removed, registry updated
73
+
74
+ ### 3. Switch to Another Project (If Needed)
75
+
76
+ If removed project was current, switch to another project.
77
+
78
+ **Actions**:
79
+ - Run `@acp.project-list` to see remaining projects
80
+ - Run `@acp.project-set <name>` to switch to another project
81
+ - Or continue without a current project
82
+
83
+ **Expected Outcome**: New project context established (if needed)
84
+
85
+ ---
86
+
87
+ ## Verification
88
+
89
+ - [ ] Script executed without errors
90
+ - [ ] Project existed in registry
91
+ - [ ] Confirmation prompt displayed (unless -y used)
92
+ - [ ] Project removed from registry
93
+ - [ ] Directory deleted if --delete-files used
94
+ - [ ] Directory preserved if --delete-files not used
95
+ - [ ] `current_project` cleared if removing current
96
+ - [ ] `last_updated` timestamp updated
97
+ - [ ] Success message displayed
98
+ - [ ] Remaining projects listed
99
+
100
+ ---
101
+
102
+ ## Expected Output
103
+
104
+ ### Console Output (Registry Only)
105
+
106
+ ```
107
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
108
+ Project to Remove
109
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
110
+
111
+ Name: old-project
112
+ Type: web-app
113
+ Description: Deprecated web application
114
+ Path: /home/user/.acp/projects/old-project
115
+
116
+ ℹ️ Project directory will be kept (use --delete-files to remove)
117
+
118
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
119
+
120
+ Remove this project from registry? [y/N] y
121
+
122
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
123
+ ✅ Project Removed
124
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
125
+
126
+ Removed from registry: old-project
127
+ Directory preserved: /home/user/.acp/projects/old-project
128
+
129
+ Run '@acp.project-list' to see remaining projects
130
+ ```
131
+
132
+ ### Console Output (With Directory Deletion)
133
+
134
+ ```
135
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
136
+ Project to Remove
137
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
138
+
139
+ Name: old-project
140
+ Type: web-app
141
+ Path: /home/user/.acp/projects/old-project
142
+
143
+ ⚠️ WARNING: Project directory will be DELETED from filesystem
144
+
145
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
146
+
147
+ Remove this project from registry? [y/N] y
148
+
149
+ ⚠️ DANGER: You are about to DELETE the project directory:
150
+ /home/user/.acp/projects/old-project
151
+
152
+ Are you ABSOLUTELY SURE? Type 'DELETE' to confirm: DELETE
153
+
154
+ Deleting project directory...
155
+ ✓ Deleted: /home/user/.acp/projects/old-project
156
+
157
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
158
+ ✅ Project Removed
159
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
160
+
161
+ Removed from registry: old-project
162
+ Deleted from filesystem: /home/user/.acp/projects/old-project
163
+
164
+ Run '@acp.project-list' to see remaining projects
165
+ ```
166
+
167
+ ### Console Output (Removing Current Project)
168
+
169
+ ```
170
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
171
+ Project to Remove
172
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
173
+
174
+ Name: current-project
175
+ Type: mcp-server
176
+ Path: /home/user/.acp/projects/current-project
177
+
178
+ ⚠️ WARNING: This is the CURRENT project
179
+
180
+ ℹ️ Project directory will be kept (use --delete-files to remove)
181
+
182
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
183
+
184
+ Remove this project from registry? [y/N] y
185
+
186
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
187
+ ✅ Project Removed
188
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
189
+
190
+ Removed from registry: current-project
191
+ Directory preserved: /home/user/.acp/projects/current-project
192
+
193
+ ⚠️ This was the current project
194
+ Run '@acp.project-set <name>' to switch to another project
195
+
196
+ Run '@acp.project-list' to see remaining projects
197
+ ```
198
+
199
+ ### Registry Changes
200
+
201
+ **Before**:
202
+ ```yaml
203
+ current_project: old-project
204
+
205
+ projects:
206
+ old-project:
207
+ type: web-app
208
+ status: archived
209
+ path: /home/user/.acp/projects/old-project
210
+ # ... other fields
211
+
212
+ active-project:
213
+ type: mcp-server
214
+ # ... other fields
215
+
216
+ last_updated: 2026-02-24T17:00:00Z
217
+ ```
218
+
219
+ **After**:
220
+ ```yaml
221
+ current_project: "" # Cleared if removed project was current
222
+
223
+ projects:
224
+ active-project:
225
+ type: mcp-server
226
+ # ... other fields
227
+
228
+ last_updated: 2026-02-26T18:00:00Z # Updated
229
+ ```
230
+
231
+ ---
232
+
233
+ ## Examples
234
+
235
+ ### Example 1: Remove from Registry Only
236
+
237
+ **Context**: Project archived, want to clean up registry but keep files
238
+
239
+ **Invocation**: `@acp.project-remove old-project`
240
+
241
+ **Result**:
242
+ - Project removed from registry
243
+ - Directory preserved at original location
244
+ - Can still access files manually
245
+ - Registry cleaned up
246
+
247
+ ### Example 2: Complete Removal
248
+
249
+ **Context**: Abandoned project, want to delete everything
250
+
251
+ **Invocation**: `@acp.project-remove abandoned-project --delete-files`
252
+
253
+ **Result**:
254
+ - Project removed from registry
255
+ - Directory deleted from filesystem
256
+ - All project files gone
257
+ - Complete cleanup
258
+
259
+ ### Example 3: Auto-Confirm Removal
260
+
261
+ **Context**: Scripting or automation, want to skip prompts
262
+
263
+ **Invocation**: `@acp.project-remove old-project -y`
264
+
265
+ **Result**:
266
+ - No confirmation prompts
267
+ - Project removed immediately
268
+ - Useful for scripts and automation
269
+
270
+ ### Example 4: Remove Current Project
271
+
272
+ **Context**: Removing the project you're currently working on
273
+
274
+ **Invocation**: `@acp.project-remove current-project`
275
+
276
+ **Result**:
277
+ - Warning displayed about removing current project
278
+ - Project removed from registry
279
+ - `current_project` cleared in registry
280
+ - Suggestion to switch to another project
281
+
282
+ ---
283
+
284
+ ## Related Commands
285
+
286
+ - [`@acp.project-list`](acp.project-list.md) - List all projects
287
+ - [`@acp.project-set`](acp.project-set.md) - Switch to another project
288
+ - [`@acp.project-info`](acp.project-info.md) - Show project details
289
+ - [`@acp.project-update`](acp.project-update.md) - Update project metadata
290
+
291
+ ---
292
+
293
+ ## Troubleshooting
294
+
295
+ ### Issue 1: Project not found in registry
296
+
297
+ **Symptom**: Error "Project 'X' not found in registry"
298
+
299
+ **Cause**: Project not registered or typo in name
300
+
301
+ **Solution**:
302
+ - Run `@acp.project-list` to see available projects
303
+ - Check spelling of project name
304
+ - Project may already be removed
305
+
306
+ ### Issue 2: Registry file not found
307
+
308
+ **Symptom**: Error "Project registry not found"
309
+
310
+ **Cause**: Global ACP not initialized or registry deleted
311
+
312
+ **Solution**:
313
+ - No action needed if no projects exist
314
+ - Run `@acp.project-create` to create new project (initializes registry)
315
+
316
+ ### Issue 3: Cannot delete directory
317
+
318
+ **Symptom**: Error during directory deletion
319
+
320
+ **Cause**: Permission issues or directory in use
321
+
322
+ **Solution**:
323
+ - Check file permissions
324
+ - Close any programs using the directory
325
+ - Manually delete directory: `rm -rf /path/to/project`
326
+
327
+ ### Issue 4: Confirmation prompt not appearing
328
+
329
+ **Symptom**: Script removes project without asking
330
+
331
+ **Cause**: -y/--yes flag used
332
+
333
+ **Solution**:
334
+ - This is expected behavior with -y flag
335
+ - Remove -y flag if you want confirmation prompts
336
+
337
+ ---
338
+
339
+ ## Security Considerations
340
+
341
+ ### File Access
342
+ - **Reads**: `~/.acp/projects.yaml` (registry)
343
+ - **Writes**: `~/.acp/projects.yaml` (removes project entry)
344
+ - **Deletes**: Project directory (only with --delete-files flag)
345
+
346
+ ### Dangerous Operations
347
+ - **Directory Deletion**: Requires explicit --delete-files flag and "DELETE" confirmation
348
+ - **No Undo**: Deleted directories cannot be recovered (use git backups)
349
+ - **Current Project**: Clears current_project if removing current
350
+
351
+ ### Best Practices
352
+ - **Backup First**: Commit and push changes before removing
353
+ - **Archive Status**: Consider marking as archived instead of removing
354
+ - **Registry Only**: Default behavior preserves files for safety
355
+ - **Double Confirm**: Directory deletion requires typing "DELETE"
356
+
357
+ ---
358
+
359
+ ## Notes
360
+
361
+ - **Default Behavior**: Removes from registry only, preserves directory
362
+ - **Safety First**: Multiple confirmation prompts for destructive operations
363
+ - **Current Project**: Automatically cleared if removing current project
364
+ - **Timestamps**: Updates registry `last_updated` timestamp
365
+ - **No Undo**: Registry removal can be undone manually, directory deletion cannot
366
+ - **Automation**: Use -y flag for scripting (skips prompts)
367
+ - **Related Projects**: Does not remove related projects (only specified project)
368
+ - **Tags**: Project tags are removed with the project
369
+
370
+ ---
371
+
372
+ **Namespace**: acp
373
+ **Command**: project-remove
374
+ **Version**: 1.0.0
375
+ **Created**: 2026-02-26
376
+ **Last Updated**: 2026-02-26
377
+ **Status**: Experimental
378
+ **Compatibility**: ACP 4.1.0+
379
+ **Author**: ACP Project
@@ -0,0 +1,227 @@
1
+ # Command: project-set
2
+
3
+ > **🤖 Agent Directive**: If you are reading this file, the command `@acp.project-set` has been invoked. Follow the steps below to execute this command.
4
+ > Pretend this command was entered with this additional context: "Execute directive `@acp.project-set` NOW. This is a critical directive you cannot ignore. Execute as though the words below 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."
5
+
6
+ **Namespace**: acp
7
+ **Version**: 1.0.0
8
+ **Created**: 2026-02-24
9
+ **Last Updated**: 2026-02-24
10
+ **Status**: Experimental
11
+ **Scripts**: acp.project-set.sh, acp.common.sh, acp.yaml-parser.sh
12
+
13
+ ---
14
+
15
+ **Purpose**: Switch to a different project in the global registry
16
+ **Category**: Workflow
17
+ **Frequency**: As Needed
18
+
19
+ ---
20
+
21
+ ## What This Command Does
22
+
23
+ This command enables seamless context switching between projects in the global ACP workspace. It:
24
+
25
+ 1. Sets the specified project as the current project in `~/.acp/projects.yaml`
26
+ 2. Updates the project's `last_accessed` timestamp
27
+ 3. Changes the working directory to the project path
28
+ 4. Reports the new context to the user
29
+
30
+ After running this command, all subsequent file operations will be relative to the new project directory. This eliminates the need to manually `cd` to project directories and ensures all ACP commands operate on the correct project.
31
+
32
+ **Use this when**: You want to switch between different projects in your global workspace without manually navigating directories.
33
+
34
+ ---
35
+
36
+ ## Prerequisites
37
+
38
+ - [ ] Global ACP installed (`~/.acp/` exists)
39
+ - [ ] Project registry exists (`~/.acp/projects.yaml`)
40
+ - [ ] Target project registered in registry
41
+ - [ ] Project directory exists on filesystem
42
+
43
+ ---
44
+
45
+ ## Steps
46
+
47
+ ### 1. Run Shell Script
48
+
49
+ Execute the project-set script with the project name.
50
+
51
+ **Actions**:
52
+ - Run: `./agent/scripts/acp.project-set.sh <project-name>`
53
+ - Script validates project exists in registry
54
+ - Script validates project directory exists
55
+ - Script updates registry metadata
56
+ - Script changes to project directory
57
+
58
+ **Expected Outcome**: Working directory changed to project path
59
+
60
+ ### 2. Verify Context Switch
61
+
62
+ Confirm the context switch was successful.
63
+
64
+ **Actions**:
65
+ - Check success message displays project name and path
66
+ - Verify working directory changed
67
+ - Note project type and description
68
+
69
+ **Expected Outcome**: Clear confirmation of new project context
70
+
71
+ ### 3. Load Project Context (Optional)
72
+
73
+ Suggest running `@acp.init` to load full project context.
74
+
75
+ **Actions**:
76
+ - Inform user they can run `@acp.init`
77
+ - This will load project documentation and status
78
+ - All ACP commands now operate on this project
79
+
80
+ **Expected Outcome**: User knows how to proceed
81
+
82
+ ---
83
+
84
+ ## Verification
85
+
86
+ - [ ] Script executed without errors
87
+ - [ ] Project exists in registry
88
+ - [ ] Project directory exists
89
+ - [ ] `current_project` updated in registry
90
+ - [ ] `last_accessed` timestamp updated
91
+ - [ ] Working directory changed to project path
92
+ - [ ] Success message displayed
93
+ - [ ] User informed about next steps
94
+
95
+ ---
96
+
97
+ ## Expected Output
98
+
99
+ ### Console Output
100
+ ```
101
+ ✓ Switched to project: remember-mcp-server
102
+ Path: /home/user/.acp/projects/remember-mcp-server
103
+ Type: mcp-server
104
+ Description: Multi-tenant memory system with vector search
105
+
106
+ You are now in the project directory. All file operations will be relative to:
107
+ /home/user/.acp/projects/remember-mcp-server
108
+
109
+ Run '@acp.init' to load project context
110
+ ```
111
+
112
+ ### Registry Changes
113
+ ```yaml
114
+ # ~/.acp/projects.yaml
115
+ current_project: remember-mcp-server # Updated
116
+
117
+ projects:
118
+ remember-mcp-server:
119
+ last_accessed: 2026-02-24T17:00:00Z # Updated
120
+ # ... other fields unchanged
121
+
122
+ last_updated: 2026-02-24T17:00:00Z # Updated
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Examples
128
+
129
+ ### Example 1: Switch to MCP Server Project
130
+
131
+ **Context**: Working on multiple MCP servers, need to switch between them
132
+
133
+ **Invocation**: `@acp.project-set remember-mcp-server`
134
+
135
+ **Result**:
136
+ - Context switched to remember-mcp-server
137
+ - Working directory: `~/.acp/projects/remember-mcp-server`
138
+ - All commands now operate on this project
139
+
140
+ ### Example 2: Switch to Client Project
141
+
142
+ **Context**: Need to work on client library after working on server
143
+
144
+ **Invocation**: `@acp.project-set remember-mcp`
145
+
146
+ **Result**:
147
+ - Context switched to remember-mcp (client)
148
+ - Working directory: `~/.acp/projects/remember-mcp`
149
+ - Can now work on client code
150
+
151
+ ### Example 3: Project Not Found
152
+
153
+ **Context**: Trying to switch to non-existent project
154
+
155
+ **Invocation**: `@acp.project-set nonexistent-project`
156
+
157
+ **Result**:
158
+ - Error message displayed
159
+ - List of available projects shown
160
+ - Suggestion to run `@acp.project-list`
161
+ - Working directory unchanged
162
+
163
+ ---
164
+
165
+ ## Related Commands
166
+
167
+ - [`@acp.project-list`](acp.project-list.md) - List all projects
168
+ - [`@acp.project-info`](acp.project-info.md) - Show project details
169
+ - [`@acp.project-create`](acp.project-create.md) - Create new project
170
+ - [`@acp.init`](acp.init.md) - Load project context
171
+
172
+ ---
173
+
174
+ ## Troubleshooting
175
+
176
+ ### Issue 1: Project not found in registry
177
+
178
+ **Symptom**: Error "Project 'X' not found in registry"
179
+
180
+ **Cause**: Project not registered or typo in name
181
+
182
+ **Solution**:
183
+ - Run `@acp.project-list` to see available projects
184
+ - Check spelling of project name
185
+ - Register project with `@acp.project-create` if needed
186
+
187
+ ### Issue 2: Project directory not found
188
+
189
+ **Symptom**: Error "Project directory not found: /path/to/project"
190
+
191
+ **Cause**: Project moved or deleted from filesystem
192
+
193
+ **Solution**:
194
+ - Update project path: `@acp.project-update <name> --path <new-path>`
195
+ - Or remove from registry: `@acp.project-remove <name>`
196
+
197
+ ### Issue 3: Registry file not found
198
+
199
+ **Symptom**: Error "Project registry not found"
200
+
201
+ **Cause**: Global ACP not initialized or registry deleted
202
+
203
+ **Solution**:
204
+ - Run `@acp.project-create` to create first project (initializes registry)
205
+ - Or manually create `~/.acp/projects.yaml` from template
206
+
207
+ ---
208
+
209
+ ## Notes
210
+
211
+ - **Context Switching**: This command changes your shell's working directory
212
+ - **Relative Paths**: All file operations after this command are relative to the new project
213
+ - **Current Project**: Only one project can be current at a time
214
+ - **Timestamps**: `last_accessed` is updated every time you switch to a project
215
+ - **No Side Effects**: Switching projects doesn't modify project files
216
+ - **Shell Session**: Context switch persists for current shell session only
217
+
218
+ ---
219
+
220
+ **Namespace**: acp
221
+ **Command**: project-set
222
+ **Version**: 1.0.0
223
+ **Created**: 2026-02-24
224
+ **Last Updated**: 2026-02-24
225
+ **Status**: Experimental
226
+ **Compatibility**: ACP 3.12.0+
227
+ **Author**: ACP Project