@prmichaelsen/remember-mcp 3.0.0 → 3.13.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 (208) hide show
  1. package/AGENT.md +296 -250
  2. package/CHANGELOG.md +358 -0
  3. package/README.md +68 -45
  4. package/agent/commands/acp.clarification-create.md +382 -0
  5. package/agent/commands/acp.project-info.md +309 -0
  6. package/agent/commands/acp.project-remove.md +379 -0
  7. package/agent/commands/acp.project-update.md +296 -0
  8. package/agent/commands/acp.task-create.md +17 -9
  9. package/agent/commands/git.commit.md +13 -1
  10. package/agent/design/comment-memory-type.md +2 -2
  11. package/agent/design/local.collaborative-memory-sync.md +265 -0
  12. package/agent/design/local.content-flags.md +210 -0
  13. package/agent/design/local.ghost-persona-system.md +273 -0
  14. package/agent/design/local.group-acl-integration.md +338 -0
  15. package/agent/design/local.memory-acl-schema.md +352 -0
  16. package/agent/design/local.memory-collection-pattern-v2.md +348 -0
  17. package/agent/design/local.moderation-and-space-config.md +257 -0
  18. package/agent/design/local.v2-api-reference.md +621 -0
  19. package/agent/design/local.v2-migration-guide.md +191 -0
  20. package/agent/design/local.v2-usage-examples.md +265 -0
  21. package/agent/design/permissions-storage-architecture.md +11 -3
  22. package/agent/design/trust-escalation-prevention.md +9 -2
  23. package/agent/design/trust-system-implementation.md +12 -3
  24. package/agent/milestones/milestone-14-memory-collection-v2.md +182 -0
  25. package/agent/milestones/milestone-15-moderation-space-config.md +126 -0
  26. package/agent/progress.yaml +628 -49
  27. package/agent/scripts/acp.common.sh +2 -0
  28. package/agent/scripts/acp.install.sh +11 -1
  29. package/agent/scripts/acp.package-install-optimized.sh +454 -0
  30. package/agent/scripts/acp.package-install.sh +247 -300
  31. package/agent/scripts/acp.project-info.sh +218 -0
  32. package/agent/scripts/acp.project-remove.sh +302 -0
  33. package/agent/scripts/acp.project-update.sh +296 -0
  34. package/agent/scripts/acp.yaml-parser.sh +128 -10
  35. package/agent/tasks/milestone-14-memory-collection-v2/task-165-core-infrastructure-setup.md +171 -0
  36. package/agent/tasks/milestone-14-memory-collection-v2/task-166-update-remember-publish.md +191 -0
  37. package/agent/tasks/milestone-14-memory-collection-v2/task-167-update-remember-retract.md +186 -0
  38. package/agent/tasks/milestone-14-memory-collection-v2/task-168-implement-remember-revise.md +184 -0
  39. package/agent/tasks/milestone-14-memory-collection-v2/task-169-update-remember-search-space.md +179 -0
  40. package/agent/tasks/milestone-14-memory-collection-v2/task-170-update-remember-create-update.md +139 -0
  41. package/agent/tasks/milestone-14-memory-collection-v2/task-172-performance-testing-optimization.md +161 -0
  42. package/agent/tasks/milestone-14-memory-collection-v2/task-173-documentation-examples.md +258 -0
  43. package/agent/tasks/milestone-15-moderation-space-config/task-174-add-moderation-schema-fields.md +57 -0
  44. package/agent/tasks/milestone-15-moderation-space-config/task-175-create-space-config-service.md +64 -0
  45. package/agent/tasks/milestone-15-moderation-space-config/task-176-wire-moderation-publish-flow.md +45 -0
  46. package/agent/tasks/milestone-15-moderation-space-config/task-177-add-moderation-search-filters.md +70 -0
  47. package/agent/tasks/milestone-15-moderation-space-config/task-178-create-remember-moderate-tool.md +69 -0
  48. package/agent/tasks/milestone-15-moderation-space-config/task-179-documentation-integration-tests.md +58 -0
  49. package/agent/tasks/milestone-16-ghost-system/task-187-ghost-config-firestore.md +41 -0
  50. package/agent/tasks/milestone-16-ghost-system/task-188-trust-filter-integration.md +44 -0
  51. package/agent/tasks/milestone-16-ghost-system/task-189-ghost-memory-filtering.md +43 -0
  52. package/agent/tasks/milestone-16-ghost-system/task-190-ghost-config-tools.md +45 -0
  53. package/agent/tasks/milestone-16-ghost-system/task-191-escalation-firestore.md +38 -0
  54. package/agent/tasks/milestone-16-ghost-system/task-192-documentation-verification.md +39 -0
  55. package/agent/tasks/milestone-7-trust-permissions/task-180-access-result-permission-types.md +69 -0
  56. package/agent/tasks/milestone-7-trust-permissions/task-181-firestore-permissions-access-logs.md +56 -0
  57. package/agent/tasks/milestone-7-trust-permissions/task-182-trust-enforcement-service.md +68 -0
  58. package/agent/tasks/milestone-7-trust-permissions/task-183-access-control-service.md +70 -0
  59. package/agent/tasks/milestone-7-trust-permissions/task-184-permission-tools.md +79 -0
  60. package/agent/tasks/milestone-7-trust-permissions/task-185-wire-trust-into-search-query.md +55 -0
  61. package/agent/tasks/milestone-7-trust-permissions/task-186-documentation-verification.md +56 -0
  62. package/agent/tasks/task-76-fix-indexnullstate-schema-bug.md +197 -0
  63. package/dist/collections/composite-ids.d.ts +106 -0
  64. package/dist/collections/core-infrastructure.spec.d.ts +11 -0
  65. package/dist/collections/dot-notation.d.ts +106 -0
  66. package/dist/collections/tracking-arrays.d.ts +176 -0
  67. package/dist/constants/content-types.d.ts +1 -0
  68. package/dist/schema/v2-collections-comments.spec.d.ts +8 -0
  69. package/dist/schema/v2-collections.d.ts +210 -0
  70. package/dist/server-factory.d.ts +15 -0
  71. package/dist/server-factory.js +2798 -1029
  72. package/dist/server.js +2526 -1012
  73. package/dist/services/access-control.d.ts +103 -0
  74. package/dist/services/access-control.spec.d.ts +2 -0
  75. package/dist/services/credentials-provider.d.ts +24 -0
  76. package/dist/services/credentials-provider.spec.d.ts +2 -0
  77. package/dist/services/escalation.service.d.ts +22 -0
  78. package/dist/services/escalation.service.spec.d.ts +2 -0
  79. package/dist/services/ghost-config.service.d.ts +55 -0
  80. package/dist/services/ghost-config.service.spec.d.ts +2 -0
  81. package/dist/services/space-config.service.d.ts +23 -0
  82. package/dist/services/space-config.service.spec.d.ts +2 -0
  83. package/dist/services/trust-enforcement.d.ts +83 -0
  84. package/dist/services/trust-enforcement.spec.d.ts +2 -0
  85. package/dist/services/trust-validator.d.ts +43 -0
  86. package/dist/services/trust-validator.spec.d.ts +2 -0
  87. package/dist/tools/confirm-publish-moderation.spec.d.ts +8 -0
  88. package/dist/tools/confirm.d.ts +8 -1
  89. package/dist/tools/create-memory.d.ts +2 -1
  90. package/dist/tools/create-memory.spec.d.ts +10 -0
  91. package/dist/tools/create-relationship.d.ts +2 -1
  92. package/dist/tools/delete-memory.d.ts +2 -1
  93. package/dist/tools/delete-relationship.d.ts +2 -1
  94. package/dist/tools/deny.d.ts +2 -1
  95. package/dist/tools/find-similar.d.ts +2 -1
  96. package/dist/tools/get-preferences.d.ts +2 -1
  97. package/dist/tools/ghost-config.d.ts +27 -0
  98. package/dist/tools/ghost-config.spec.d.ts +2 -0
  99. package/dist/tools/moderate.d.ts +20 -0
  100. package/dist/tools/moderate.spec.d.ts +5 -0
  101. package/dist/tools/publish.d.ts +11 -3
  102. package/dist/tools/query-memory.d.ts +3 -1
  103. package/dist/tools/query-space.d.ts +4 -1
  104. package/dist/tools/retract.d.ts +29 -0
  105. package/dist/tools/revise.d.ts +45 -0
  106. package/dist/tools/revise.spec.d.ts +8 -0
  107. package/dist/tools/search-memory.d.ts +2 -1
  108. package/dist/tools/search-relationship.d.ts +2 -1
  109. package/dist/tools/search-space.d.ts +25 -5
  110. package/dist/tools/search-space.spec.d.ts +9 -0
  111. package/dist/tools/set-preference.d.ts +2 -1
  112. package/dist/tools/update-memory.d.ts +2 -1
  113. package/dist/tools/update-relationship.d.ts +2 -1
  114. package/dist/types/access-result.d.ts +48 -0
  115. package/dist/types/access-result.spec.d.ts +2 -0
  116. package/dist/types/auth.d.ts +46 -0
  117. package/dist/types/ghost-config.d.ts +36 -0
  118. package/dist/types/memory.d.ts +3 -1
  119. package/dist/types/preferences.d.ts +1 -1
  120. package/dist/utils/auth-helpers.d.ts +14 -0
  121. package/dist/utils/auth-helpers.spec.d.ts +2 -0
  122. package/dist/utils/test-data-generator.d.ts +124 -0
  123. package/dist/utils/test-data-generator.spec.d.ts +12 -0
  124. package/dist/v2-performance.e2e.d.ts +17 -0
  125. package/dist/v2-smoke.e2e.d.ts +14 -0
  126. package/dist/weaviate/client.d.ts +5 -8
  127. package/dist/weaviate/space-schema.d.ts +2 -2
  128. package/docs/performance/v2-benchmarks.md +80 -0
  129. package/jest.e2e.config.js +14 -3
  130. package/package.json +1 -1
  131. package/scripts/.collection-recreation-state.yaml +16 -0
  132. package/scripts/.gitkeep +5 -0
  133. package/scripts/README-collection-recreation.md +224 -0
  134. package/scripts/README.md +51 -0
  135. package/scripts/backup-collections.ts +543 -0
  136. package/scripts/delete-collection.ts +137 -0
  137. package/scripts/migrate-recreate-collections.ts +578 -0
  138. package/scripts/migrate-v1-to-v2.ts +1094 -0
  139. package/scripts/package-lock.json +1113 -0
  140. package/scripts/package.json +27 -0
  141. package/src/collections/composite-ids.ts +193 -0
  142. package/src/collections/core-infrastructure.spec.ts +353 -0
  143. package/src/collections/dot-notation.ts +212 -0
  144. package/src/collections/tracking-arrays.ts +298 -0
  145. package/src/constants/content-types.ts +20 -0
  146. package/src/schema/v2-collections-comments.spec.ts +141 -0
  147. package/src/schema/v2-collections.ts +433 -0
  148. package/src/server-factory.ts +89 -20
  149. package/src/server.ts +45 -17
  150. package/src/services/access-control.spec.ts +383 -0
  151. package/src/services/access-control.ts +291 -0
  152. package/src/services/credentials-provider.spec.ts +22 -0
  153. package/src/services/credentials-provider.ts +34 -0
  154. package/src/services/escalation.service.spec.ts +183 -0
  155. package/src/services/escalation.service.ts +150 -0
  156. package/src/services/ghost-config.service.spec.ts +339 -0
  157. package/src/services/ghost-config.service.ts +219 -0
  158. package/src/services/space-config.service.spec.ts +102 -0
  159. package/src/services/space-config.service.ts +79 -0
  160. package/src/services/trust-enforcement.spec.ts +309 -0
  161. package/src/services/trust-enforcement.ts +197 -0
  162. package/src/services/trust-validator.spec.ts +108 -0
  163. package/src/services/trust-validator.ts +105 -0
  164. package/src/tools/confirm-publish-moderation.spec.ts +240 -0
  165. package/src/tools/confirm.ts +869 -135
  166. package/src/tools/create-memory.spec.ts +126 -0
  167. package/src/tools/create-memory.ts +20 -27
  168. package/src/tools/create-relationship.ts +17 -8
  169. package/src/tools/delete-memory.ts +13 -6
  170. package/src/tools/delete-relationship.ts +15 -6
  171. package/src/tools/deny.ts +8 -1
  172. package/src/tools/find-similar.ts +21 -8
  173. package/src/tools/get-preferences.ts +10 -1
  174. package/src/tools/ghost-config.spec.ts +180 -0
  175. package/src/tools/ghost-config.ts +230 -0
  176. package/src/tools/moderate.spec.ts +277 -0
  177. package/src/tools/moderate.ts +219 -0
  178. package/src/tools/publish.ts +99 -41
  179. package/src/tools/query-memory.ts +28 -6
  180. package/src/tools/query-space.ts +39 -4
  181. package/src/tools/retract.ts +292 -0
  182. package/src/tools/revise.spec.ts +146 -0
  183. package/src/tools/revise.ts +283 -0
  184. package/src/tools/search-memory.ts +30 -7
  185. package/src/tools/search-relationship.ts +11 -2
  186. package/src/tools/search-space.spec.ts +341 -0
  187. package/src/tools/search-space.ts +323 -99
  188. package/src/tools/set-preference.ts +10 -1
  189. package/src/tools/update-memory.ts +16 -5
  190. package/src/tools/update-relationship.ts +10 -1
  191. package/src/types/access-result.spec.ts +193 -0
  192. package/src/types/access-result.ts +62 -0
  193. package/src/types/auth.ts +52 -0
  194. package/src/types/ghost-config.ts +46 -0
  195. package/src/types/memory.ts +9 -1
  196. package/src/types/preferences.ts +2 -2
  197. package/src/utils/auth-helpers.spec.ts +75 -0
  198. package/src/utils/auth-helpers.ts +25 -0
  199. package/src/utils/test-data-generator.spec.ts +317 -0
  200. package/src/utils/test-data-generator.ts +292 -0
  201. package/src/utils/weaviate-filters.ts +4 -4
  202. package/src/v2-performance.e2e.ts +173 -0
  203. package/src/v2-smoke.e2e.ts +401 -0
  204. package/src/weaviate/client.spec.ts +5 -5
  205. package/src/weaviate/client.ts +51 -36
  206. package/src/weaviate/schema.ts +11 -256
  207. package/src/weaviate/space-schema.spec.ts +24 -24
  208. package/src/weaviate/space-schema.ts +18 -6
@@ -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,296 @@
1
+ # Command: project-update
2
+
3
+ > **🤖 Agent Directive**: If you are reading this file, the command `@acp.project-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-25
8
+ **Last Updated**: 2026-02-25
9
+ **Status**: Experimental
10
+
11
+ ---
12
+
13
+ **Purpose**: Update project metadata in the global registry
14
+ **Category**: Project Management
15
+ **Frequency**: As Needed
16
+
17
+ ---
18
+
19
+ ## What This Command Does
20
+
21
+ This command updates metadata for a project in `~/.acp/projects.yaml`, allowing you to modify status, description, type, tags, and related projects. It provides granular control over project metadata without requiring manual YAML editing.
22
+
23
+ Use this command to keep project metadata current as projects evolve, mark projects as archived when completed, add tags for organization, link related projects, or correct project information. All updates automatically update the `last_modified` timestamp.
24
+
25
+ Unlike [`@acp.project-info`](acp.project-info.md:1) which displays information, this command modifies the registry. It supports multiple update operations in a single invocation.
26
+
27
+ ---
28
+
29
+ ## Prerequisites
30
+
31
+ - [ ] Global ACP infrastructure initialized (`~/.acp/` exists)
32
+ - [ ] Project registry exists (`~/.acp/projects.yaml`)
33
+ - [ ] Project is registered in the registry
34
+
35
+ ---
36
+
37
+ ## Steps
38
+
39
+ ### 1. Parse Arguments
40
+
41
+ Extract project name and update options.
42
+
43
+ **Actions**:
44
+ - Parse project name (required)
45
+ - Parse update flags (--status, --description, --type, etc.)
46
+ - Validate at least one update option provided
47
+
48
+ **Expected Outcome**: Arguments parsed successfully
49
+
50
+ ### 2. Validate Project Exists
51
+
52
+ Check that the project is in the registry.
53
+
54
+ **Actions**:
55
+ - Load registry with `yaml_parse()`
56
+ - Check project exists with `yaml_has_key()`
57
+ - Show error if not found
58
+
59
+ **Expected Outcome**: Project found in registry
60
+
61
+ ### 3. Validate Update Values
62
+
63
+ Check that provided values are valid.
64
+
65
+ **Actions**:
66
+ - Validate status is one of: active, archived, paused
67
+ - Validate other fields as needed
68
+ - Show errors for invalid values
69
+
70
+ **Expected Outcome**: All values validated
71
+
72
+ ### 4. Apply Updates
73
+
74
+ Update registry with new values.
75
+
76
+ **Actions**:
77
+ - Update status (if provided)
78
+ - Update description (if provided)
79
+ - Update type (if provided)
80
+ - Add tags (if provided)
81
+ - Remove tags (if provided)
82
+ - Add related projects (if provided)
83
+ - Remove related projects (if provided)
84
+ - Update last_modified timestamp
85
+ - Update registry last_updated timestamp
86
+
87
+ **Expected Outcome**: All updates applied to AST
88
+
89
+ ### 5. Write Changes
90
+
91
+ Save updated registry to disk.
92
+
93
+ **Actions**:
94
+ - Write changes with `yaml_write()`
95
+ - Report number of updates applied
96
+ - Show success message
97
+
98
+ **Expected Outcome**: Registry updated on disk
99
+
100
+ ---
101
+
102
+ ## Verification
103
+
104
+ - [ ] Script created and executable
105
+ - [ ] Command document created
106
+ - [ ] Validates project name argument
107
+ - [ ] Validates at least one update option provided
108
+ - [ ] Validates status values (active|archived|paused)
109
+ - [ ] Updates status correctly
110
+ - [ ] Updates description correctly
111
+ - [ ] Updates type correctly
112
+ - [ ] Adds tags correctly (prevents duplicates)
113
+ - [ ] Removes tags correctly
114
+ - [ ] Adds related projects correctly (prevents duplicates)
115
+ - [ ] Removes related projects correctly
116
+ - [ ] Updates last_modified timestamp
117
+ - [ ] Updates registry last_updated timestamp
118
+ - [ ] Writes changes to disk
119
+ - [ ] No syntax errors
120
+
121
+ ---
122
+
123
+ ## Expected Output
124
+
125
+ ### Files Created
126
+ - `agent/scripts/acp.project-update.sh` - Shell script for updating projects
127
+ - `agent/commands/acp.project-update.md` - This command documentation
128
+
129
+ ### Console Output
130
+ ```
131
+ Updating project: remember-mcp-server
132
+
133
+ ✓ Updated status: archived
134
+ ✓ Added tag: production
135
+ ✓ Added tag: critical
136
+ ✓ Removed tag: development
137
+
138
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
139
+
140
+ ✅ Project updated successfully!
141
+ Updates applied: 4
142
+ Registry: ~/.acp/projects.yaml
143
+
144
+ Run 'acp.project-info.sh remember-mcp-server' to see updated information
145
+ ```
146
+
147
+ ### Status Update
148
+ - Project metadata updated in registry
149
+ - Timestamps updated
150
+ - Changes persisted to disk
151
+
152
+ ---
153
+
154
+ ## Examples
155
+
156
+ ### Example 1: Update Project Status
157
+
158
+ **Context**: Mark project as archived when completed
159
+
160
+ **Invocation**: `@acp.project-update old-project --status archived`
161
+
162
+ **Result**: Status changed to "archived", last_modified timestamp updated
163
+
164
+ ### Example 2: Add Multiple Tags
165
+
166
+ **Context**: Add organization tags to project
167
+
168
+ **Invocation**: `@acp.project-update my-project --add-tag production --add-tag critical --add-tag backend`
169
+
170
+ **Result**: Three tags added, duplicates prevented if tags already exist
171
+
172
+ ### Example 3: Update Description
173
+
174
+ **Context**: Improve project description
175
+
176
+ **Invocation**: `@acp.project-update my-project --description "Multi-tenant memory system with vector search and relationship tracking"`
177
+
178
+ **Result**: Description updated in registry
179
+
180
+ ### Example 4: Link Related Projects
181
+
182
+ **Context**: Connect server and client projects
183
+
184
+ **Invocation**: `@acp.project-update remember-mcp-server --add-related remember-mcp`
185
+
186
+ **Result**: remember-mcp added to related_projects array
187
+
188
+ ### Example 5: Multiple Updates
189
+
190
+ **Context**: Update several fields at once
191
+
192
+ **Invocation**: `@acp.project-update my-project --status active --add-tag production --remove-tag development`
193
+
194
+ **Result**: Status updated, production tag added, development tag removed
195
+
196
+ ### Example 6: Remove Tag
197
+
198
+ **Context**: Remove obsolete tag
199
+
200
+ **Invocation**: `@acp.project-update my-project --remove-tag deprecated`
201
+
202
+ **Result**: Tag removed from tags array
203
+
204
+ ---
205
+
206
+ ## Related Commands
207
+
208
+ - [`@acp.project-info`](acp.project-info.md) - View project details before updating
209
+ - [`@acp.project-list`](acp.project-list.md) - List all projects
210
+ - [`@acp.project-set`](acp.project-set.md) - Switch to a project
211
+ - [`@acp.projects-sync`](acp.projects-sync.md) - Sync registry with filesystem
212
+
213
+ ---
214
+
215
+ ## Troubleshooting
216
+
217
+ ### Issue 1: Registry not found
218
+
219
+ **Symptom**: Error "Project registry not found"
220
+
221
+ **Cause**: `~/.acp/projects.yaml` doesn't exist
222
+
223
+ **Solution**: Create a project with `@acp.project-create` to initialize the registry
224
+
225
+ ### Issue 2: Project not found
226
+
227
+ **Symptom**: Error "Project 'name' not found in registry"
228
+
229
+ **Cause**: Project not registered or wrong name
230
+
231
+ **Solution**: Run `@acp.project-list` to see available projects
232
+
233
+ ### Issue 3: Invalid status value
234
+
235
+ **Symptom**: Error "Invalid status 'value'"
236
+
237
+ **Cause**: Status must be one of: active, archived, paused
238
+
239
+ **Solution**: Use a valid status value
240
+
241
+ ### Issue 4: No updates specified
242
+
243
+ **Symptom**: Error "No updates specified"
244
+
245
+ **Cause**: Command requires at least one update option
246
+
247
+ **Solution**: Provide at least one update flag (--status, --description, --add-tag, etc.)
248
+
249
+ ### Issue 5: Tag already exists
250
+
251
+ **Symptom**: Message "Tag already exists: tag-name"
252
+
253
+ **Cause**: Trying to add a tag that's already in the tags array
254
+
255
+ **Solution**: This is informational, not an error. The tag won't be duplicated.
256
+
257
+ ---
258
+
259
+ ## Security Considerations
260
+
261
+ ### File Access
262
+ - **Reads**: `~/.acp/projects.yaml` (project registry)
263
+ - **Writes**: `~/.acp/projects.yaml` (updates project metadata)
264
+ - **Executes**: None
265
+
266
+ ### Network Access
267
+ - **APIs**: None
268
+ - **Repositories**: None
269
+
270
+ ### Sensitive Data
271
+ - **Secrets**: Does not access any secrets or credentials
272
+ - **Credentials**: Does not access credentials
273
+
274
+ ---
275
+
276
+ ## Notes
277
+
278
+ - Updates are applied immediately to the registry file
279
+ - Multiple updates can be applied in a single command
280
+ - Timestamps are automatically updated (last_modified, last_updated)
281
+ - Tags and related projects prevent duplicates automatically
282
+ - Status values are validated (active, archived, paused)
283
+ - Does not modify the project directory itself, only registry metadata
284
+ - Part of Milestone 7 (Global ACP Project Registry)
285
+ - Marked as Experimental until M7 is complete
286
+
287
+ ---
288
+
289
+ **Namespace**: acp
290
+ **Command**: project-update
291
+ **Version**: 1.0.0
292
+ **Created**: 2026-02-25
293
+ **Last Updated**: 2026-02-25
294
+ **Status**: Experimental
295
+ **Compatibility**: ACP 4.1.1+
296
+ **Author**: ACP Project