@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.
- package/README.md +68 -0
- package/agent/commands/acp.clarification-address.md +417 -0
- package/agent/commands/acp.clarification-capture.md +386 -0
- package/agent/commands/acp.clarification-create.md +437 -0
- package/agent/commands/acp.clarifications-research.md +326 -0
- package/agent/commands/acp.command-create.md +432 -0
- package/agent/commands/acp.design-create.md +286 -0
- package/agent/commands/acp.design-reference.md +355 -0
- package/agent/commands/acp.handoff.md +270 -0
- package/agent/commands/acp.index.md +423 -0
- package/agent/commands/acp.init.md +546 -0
- package/agent/commands/acp.package-create.md +895 -0
- package/agent/commands/acp.package-info.md +212 -0
- package/agent/commands/acp.package-install.md +539 -0
- package/agent/commands/acp.package-list.md +280 -0
- package/agent/commands/acp.package-publish.md +541 -0
- package/agent/commands/acp.package-remove.md +293 -0
- package/agent/commands/acp.package-search.md +307 -0
- package/agent/commands/acp.package-update.md +361 -0
- package/agent/commands/acp.package-validate.md +540 -0
- package/agent/commands/acp.pattern-create.md +386 -0
- package/agent/commands/acp.plan.md +587 -0
- package/agent/commands/acp.proceed.md +882 -0
- package/agent/commands/acp.project-create.md +675 -0
- package/agent/commands/acp.project-info.md +312 -0
- package/agent/commands/acp.project-list.md +226 -0
- package/agent/commands/acp.project-remove.md +379 -0
- package/agent/commands/acp.project-set.md +227 -0
- package/agent/commands/acp.project-update.md +307 -0
- package/agent/commands/acp.projects-restore.md +228 -0
- package/agent/commands/acp.projects-sync.md +347 -0
- package/agent/commands/acp.report.md +407 -0
- package/agent/commands/acp.resume.md +239 -0
- package/agent/commands/acp.sessions.md +301 -0
- package/agent/commands/acp.status.md +293 -0
- package/agent/commands/acp.sync.md +364 -0
- package/agent/commands/acp.task-create.md +500 -0
- package/agent/commands/acp.update.md +302 -0
- package/agent/commands/acp.validate.md +466 -0
- package/agent/commands/acp.version-check-for-updates.md +276 -0
- package/agent/commands/acp.version-check.md +191 -0
- package/agent/commands/acp.version-update.md +289 -0
- package/agent/commands/command.template.md +339 -0
- package/agent/commands/git.commit.md +526 -0
- package/agent/commands/git.init.md +514 -0
- package/agent/commands/tanstack-cloudflare.deploy.md +272 -0
- package/agent/commands/tanstack-cloudflare.tail.md +275 -0
- package/agent/design/.gitkeep +0 -0
- package/agent/design/design.template.md +154 -0
- package/agent/design/local.dashboard-layout-routing.md +288 -0
- package/agent/design/local.data-model-yaml-parsing.md +310 -0
- package/agent/design/local.search-filtering.md +331 -0
- package/agent/design/local.server-api-auto-refresh.md +235 -0
- package/agent/design/local.table-tree-views.md +299 -0
- package/agent/design/local.visualizer-requirements.md +349 -0
- package/agent/design/requirements.template.md +387 -0
- package/agent/index/.gitkeep +0 -0
- package/agent/index/acp.core.yaml +137 -0
- package/agent/index/local.main.template.yaml +37 -0
- package/agent/manifest.template.yaml +13 -0
- package/agent/manifest.yaml +302 -0
- package/agent/milestones/.gitkeep +0 -0
- package/agent/milestones/milestone-1-project-scaffold-data-pipeline.md +67 -0
- package/agent/milestones/milestone-1-{title}.template.md +206 -0
- package/agent/milestones/milestone-2-dashboard-views-interaction.md +79 -0
- package/agent/package.template.yaml +86 -0
- package/agent/patterns/.gitkeep +0 -0
- package/agent/patterns/bootstrap.template.md +1237 -0
- package/agent/patterns/pattern.template.md +382 -0
- package/agent/patterns/tanstack-cloudflare.acl-permissions.md +332 -0
- package/agent/patterns/tanstack-cloudflare.action-bar-item.md +416 -0
- package/agent/patterns/tanstack-cloudflare.api-route-handlers.md +401 -0
- package/agent/patterns/tanstack-cloudflare.auth-session-management.md +387 -0
- package/agent/patterns/tanstack-cloudflare.card-and-list.md +271 -0
- package/agent/patterns/tanstack-cloudflare.chat-engine.md +353 -0
- package/agent/patterns/tanstack-cloudflare.confirmation-tokens.md +346 -0
- package/agent/patterns/tanstack-cloudflare.durable-objects-websocket.md +516 -0
- package/agent/patterns/tanstack-cloudflare.email-service.md +431 -0
- package/agent/patterns/tanstack-cloudflare.expander.md +98 -0
- package/agent/patterns/tanstack-cloudflare.fcm-push.md +115 -0
- package/agent/patterns/tanstack-cloudflare.firebase-anonymous-sessions.md +441 -0
- package/agent/patterns/tanstack-cloudflare.firebase-auth.md +348 -0
- package/agent/patterns/tanstack-cloudflare.firebase-firestore.md +550 -0
- package/agent/patterns/tanstack-cloudflare.firebase-storage.md +369 -0
- package/agent/patterns/tanstack-cloudflare.form-controls.md +145 -0
- package/agent/patterns/tanstack-cloudflare.global-search-context.md +93 -0
- package/agent/patterns/tanstack-cloudflare.image-carousel.md +126 -0
- package/agent/patterns/tanstack-cloudflare.library-services.md +553 -0
- package/agent/patterns/tanstack-cloudflare.lightbox.md +169 -0
- package/agent/patterns/tanstack-cloudflare.markdown-content.md +115 -0
- package/agent/patterns/tanstack-cloudflare.mention-suggestions.md +98 -0
- package/agent/patterns/tanstack-cloudflare.modal.md +156 -0
- package/agent/patterns/tanstack-cloudflare.nextjs-to-tanstack-routing.md +461 -0
- package/agent/patterns/tanstack-cloudflare.notifications-engine.md +151 -0
- package/agent/patterns/tanstack-cloudflare.oauth-token-refresh.md +90 -0
- package/agent/patterns/tanstack-cloudflare.og-metadata.md +296 -0
- package/agent/patterns/tanstack-cloudflare.pagination.md +442 -0
- package/agent/patterns/tanstack-cloudflare.pill-input.md +220 -0
- package/agent/patterns/tanstack-cloudflare.provider-adapter.md +401 -0
- package/agent/patterns/tanstack-cloudflare.rate-limiting.md +323 -0
- package/agent/patterns/tanstack-cloudflare.scheduled-tasks.md +338 -0
- package/agent/patterns/tanstack-cloudflare.searchable-settings.md +375 -0
- package/agent/patterns/tanstack-cloudflare.slide-over.md +129 -0
- package/agent/patterns/tanstack-cloudflare.ssr-preload.md +571 -0
- package/agent/patterns/tanstack-cloudflare.third-party-api-integration.md +508 -0
- package/agent/patterns/tanstack-cloudflare.toast-system.md +142 -0
- package/agent/patterns/tanstack-cloudflare.unified-header.md +280 -0
- package/agent/patterns/tanstack-cloudflare.user-scoped-collections.md +628 -0
- package/agent/patterns/tanstack-cloudflare.websocket-manager.md +237 -0
- package/agent/patterns/tanstack-cloudflare.wrangler-configuration.md +358 -0
- package/agent/patterns/tanstack-cloudflare.zod-schema-validation.md +336 -0
- package/agent/progress.template.yaml +161 -0
- package/agent/progress.yaml +145 -0
- package/agent/schemas/package.schema.yaml +276 -0
- package/agent/scripts/acp.common.sh +1781 -0
- package/agent/scripts/acp.install.sh +333 -0
- package/agent/scripts/acp.package-create.sh +924 -0
- package/agent/scripts/acp.package-info.sh +288 -0
- package/agent/scripts/acp.package-install.sh +893 -0
- package/agent/scripts/acp.package-list.sh +311 -0
- package/agent/scripts/acp.package-publish.sh +420 -0
- package/agent/scripts/acp.package-remove.sh +348 -0
- package/agent/scripts/acp.package-search.sh +156 -0
- package/agent/scripts/acp.package-update.sh +517 -0
- package/agent/scripts/acp.package-validate.sh +1018 -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 +176 -0
- package/agent/scripts/acp.yaml-parser.sh +985 -0
- package/agent/scripts/acp.yaml-validate.sh +205 -0
- package/agent/tasks/.gitkeep +0 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-1-initialize-tanstack-start-project.md +210 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-2-implement-data-model-yaml-parser.md +294 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-3-build-server-api-data-loading.md +193 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-4-add-auto-refresh-sse.md +262 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-10-polish-integration-testing.md +156 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-5-build-dashboard-layout-routing.md +178 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-6-build-overview-page.md +141 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-7-implement-milestone-table-view.md +153 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-8-implement-milestone-tree-view.md +174 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-9-implement-search-filtering.md +233 -0
- package/agent/tasks/task-1-{title}.template.md +244 -0
- package/bin/visualize.mjs +84 -0
- package/package.json +48 -0
- package/src/components/ExtraFieldsBadge.tsx +15 -0
- package/src/components/FilterBar.tsx +33 -0
- package/src/components/Header.tsx +23 -0
- package/src/components/MilestoneTable.tsx +167 -0
- package/src/components/MilestoneTree.tsx +84 -0
- package/src/components/ProgressBar.tsx +20 -0
- package/src/components/SearchInput.tsx +22 -0
- package/src/components/Sidebar.tsx +54 -0
- package/src/components/StatusBadge.tsx +23 -0
- package/src/components/StatusDot.tsx +12 -0
- package/src/components/TaskList.tsx +36 -0
- package/src/components/ViewToggle.tsx +31 -0
- package/src/lib/config.ts +8 -0
- package/src/lib/file-watcher.ts +43 -0
- package/src/lib/search.ts +48 -0
- package/src/lib/types.ts +73 -0
- package/src/lib/useAutoRefresh.ts +31 -0
- package/src/lib/useCollapse.ts +31 -0
- package/src/lib/useFilteredData.ts +55 -0
- package/src/lib/yaml-loader-real.spec.ts +47 -0
- package/src/lib/yaml-loader.spec.ts +201 -0
- package/src/lib/yaml-loader.ts +265 -0
- package/src/routeTree.gen.ts +140 -0
- package/src/router.tsx +10 -0
- package/src/routes/__root.tsx +75 -0
- package/src/routes/api/watch.ts +29 -0
- package/src/routes/index.tsx +115 -0
- package/src/routes/milestones.tsx +50 -0
- package/src/routes/search.tsx +84 -0
- package/src/routes/tasks.tsx +63 -0
- package/src/services/progress-database.service.ts +46 -0
- package/src/styles.css +25 -0
- package/tsconfig.json +24 -0
- package/vite.config.ts +16 -0
- 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
|