@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,293 @@
|
|
|
1
|
+
# Command: package-remove
|
|
2
|
+
|
|
3
|
+
> **🤖 Agent Directive**: If you are reading this file, the command `@acp.package-remove` has been invoked. Follow the steps below to execute this command.
|
|
4
|
+
|
|
5
|
+
**Namespace**: acp
|
|
6
|
+
**Version**: 2.0.0
|
|
7
|
+
**Created**: 2026-02-18
|
|
8
|
+
**Last Updated**: 2026-02-22
|
|
9
|
+
**Status**: Active
|
|
10
|
+
**Scripts**: acp.package-remove.sh, acp.common.sh, acp.yaml-parser.sh
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
**Purpose**: Remove installed ACP packages and clean up manifest
|
|
15
|
+
**Category**: Maintenance
|
|
16
|
+
**Frequency**: As Needed
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## What This Command Does
|
|
21
|
+
|
|
22
|
+
This command removes installed ACP packages by deleting their files from `agent/` directories and removing their entries from `agent/manifest.yaml`. It can optionally preserve locally modified files to prevent accidental loss of customizations.
|
|
23
|
+
|
|
24
|
+
Use this command when you no longer need a package, want to clean up unused dependencies, or need to reinstall a package from scratch.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Prerequisites
|
|
29
|
+
|
|
30
|
+
- [ ] ACP installed in project
|
|
31
|
+
- [ ] `agent/manifest.yaml` exists with installed packages
|
|
32
|
+
- [ ] `agent/scripts/acp.package-remove.sh` exists
|
|
33
|
+
- [ ] Package to remove is actually installed
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Steps
|
|
38
|
+
|
|
39
|
+
### 1. Run Package Remove Script
|
|
40
|
+
|
|
41
|
+
Execute the remove script with the package name.
|
|
42
|
+
|
|
43
|
+
**Actions**:
|
|
44
|
+
- Run `./agent/scripts/acp.package-remove.sh` with package name:
|
|
45
|
+
```bash
|
|
46
|
+
# Interactive mode (asks for confirmation)
|
|
47
|
+
./agent/scripts/acp.package-remove.sh <package-name>
|
|
48
|
+
|
|
49
|
+
# Auto-confirm mode (skips prompts)
|
|
50
|
+
./agent/scripts/acp.package-remove.sh -y <package-name>
|
|
51
|
+
|
|
52
|
+
# Keep modified files
|
|
53
|
+
./agent/scripts/acp.package-remove.sh --keep-modified <package-name>
|
|
54
|
+
```
|
|
55
|
+
- The script will:
|
|
56
|
+
- Verify package is installed
|
|
57
|
+
- List files that will be removed
|
|
58
|
+
- Detect locally modified files via checksums
|
|
59
|
+
- Ask for confirmation (unless -y flag used)
|
|
60
|
+
- Remove files (or keep modified ones if --keep-modified)
|
|
61
|
+
- Remove package entry from manifest
|
|
62
|
+
- Update manifest timestamp
|
|
63
|
+
- Report removal summary
|
|
64
|
+
|
|
65
|
+
**Expected Outcome**: Package removed successfully
|
|
66
|
+
|
|
67
|
+
### 2. Verify Removal
|
|
68
|
+
|
|
69
|
+
Check that files were removed correctly.
|
|
70
|
+
|
|
71
|
+
**Actions**:
|
|
72
|
+
- Verify files deleted from `agent/` directories
|
|
73
|
+
- Check `agent/manifest.yaml` no longer has package entry
|
|
74
|
+
- If `--keep-modified` used, verify modified files were kept
|
|
75
|
+
- Confirm no orphaned files remain
|
|
76
|
+
|
|
77
|
+
**Expected Outcome**: Package completely removed (or modified files kept)
|
|
78
|
+
|
|
79
|
+
### 3. Document Removal
|
|
80
|
+
|
|
81
|
+
Update progress tracking with removal notes.
|
|
82
|
+
|
|
83
|
+
**Actions**:
|
|
84
|
+
- Add note to `agent/progress.yaml` about package removal
|
|
85
|
+
- Document which package was removed
|
|
86
|
+
- Note removal date
|
|
87
|
+
- List any kept files (if --keep-modified used)
|
|
88
|
+
|
|
89
|
+
**Expected Outcome**: Removal tracked in progress
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Verification
|
|
94
|
+
|
|
95
|
+
- [ ] Script executed successfully
|
|
96
|
+
- [ ] Package files removed from agent/ directories
|
|
97
|
+
- [ ] Package entry removed from manifest
|
|
98
|
+
- [ ] Modified files kept if --keep-modified used
|
|
99
|
+
- [ ] Manifest timestamp updated
|
|
100
|
+
- [ ] Removal summary displayed
|
|
101
|
+
- [ ] No errors during removal
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Expected Output
|
|
106
|
+
|
|
107
|
+
### Files Modified
|
|
108
|
+
- `agent/manifest.yaml` - Package entry removed, timestamp updated
|
|
109
|
+
- `agent/patterns/*.md` - Pattern files deleted
|
|
110
|
+
- `agent/commands/*.md` - Command files deleted
|
|
111
|
+
- `agent/design/*.md` - Design files deleted
|
|
112
|
+
|
|
113
|
+
### Console Output
|
|
114
|
+
|
|
115
|
+
**Standard Removal**:
|
|
116
|
+
```
|
|
117
|
+
📦 ACP Package Remover
|
|
118
|
+
========================================
|
|
119
|
+
|
|
120
|
+
Package: firebase (1.2.0)
|
|
121
|
+
|
|
122
|
+
⚠️ This will remove:
|
|
123
|
+
- 3 pattern(s)
|
|
124
|
+
- 2 command(s)
|
|
125
|
+
- 1 design(s)
|
|
126
|
+
|
|
127
|
+
Total: 6 file(s)
|
|
128
|
+
|
|
129
|
+
Remove package 'firebase'? (y/N) y
|
|
130
|
+
|
|
131
|
+
Removing files...
|
|
132
|
+
✓ Removed patterns/user-scoped-collections.md
|
|
133
|
+
✓ Removed patterns/firebase-security-rules.md
|
|
134
|
+
✓ Removed patterns/firestore-queries.md
|
|
135
|
+
✓ Removed commands/firebase.init.md
|
|
136
|
+
✓ Removed commands/firebase.migrate.md
|
|
137
|
+
✓ Removed design/firebase-architecture.md
|
|
138
|
+
|
|
139
|
+
Updating manifest...
|
|
140
|
+
✓ Manifest updated
|
|
141
|
+
|
|
142
|
+
✅ Removal complete!
|
|
143
|
+
|
|
144
|
+
Removed: 6 file(s)
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**With Modified Files** (`--keep-modified`):
|
|
148
|
+
```
|
|
149
|
+
📦 ACP Package Remover
|
|
150
|
+
========================================
|
|
151
|
+
|
|
152
|
+
Package: firebase (1.2.0)
|
|
153
|
+
|
|
154
|
+
⚠️ This will remove:
|
|
155
|
+
- 3 pattern(s)
|
|
156
|
+
- 2 command(s)
|
|
157
|
+
- 1 design(s)
|
|
158
|
+
|
|
159
|
+
Total: 6 file(s)
|
|
160
|
+
|
|
161
|
+
⚠️ Modified files detected:
|
|
162
|
+
- patterns/firebase-security-rules.md
|
|
163
|
+
|
|
164
|
+
Modified files will be kept (--keep-modified)
|
|
165
|
+
|
|
166
|
+
Remove package 'firebase'? (y/N) y
|
|
167
|
+
|
|
168
|
+
Removing files...
|
|
169
|
+
✓ Removed patterns/user-scoped-collections.md
|
|
170
|
+
⊙ Kept patterns/firebase-security-rules.md (modified)
|
|
171
|
+
✓ Removed patterns/firestore-queries.md
|
|
172
|
+
✓ Removed commands/firebase.init.md
|
|
173
|
+
✓ Removed commands/firebase.migrate.md
|
|
174
|
+
✓ Removed design/firebase-architecture.md
|
|
175
|
+
|
|
176
|
+
Updating manifest...
|
|
177
|
+
✓ Manifest updated
|
|
178
|
+
|
|
179
|
+
✅ Removal complete!
|
|
180
|
+
|
|
181
|
+
Removed: 5 file(s)
|
|
182
|
+
Kept: 1 file(s) (modified)
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Examples
|
|
188
|
+
|
|
189
|
+
### Example 1: Remove Package
|
|
190
|
+
|
|
191
|
+
**Context**: No longer need firebase package
|
|
192
|
+
|
|
193
|
+
**Invocation**: `@acp.package-remove firebase`
|
|
194
|
+
|
|
195
|
+
**Result**: Prompts for confirmation, removes all 6 files, updates manifest
|
|
196
|
+
|
|
197
|
+
### Example 2: Remove with Auto-Confirm
|
|
198
|
+
|
|
199
|
+
**Context**: Want to remove without prompts
|
|
200
|
+
|
|
201
|
+
**Invocation**: `@acp.package-remove -y firebase`
|
|
202
|
+
|
|
203
|
+
**Result**: Removes package immediately without confirmation
|
|
204
|
+
|
|
205
|
+
### Example 3: Keep Modified Files
|
|
206
|
+
|
|
207
|
+
**Context**: Want to remove package but keep customized files
|
|
208
|
+
|
|
209
|
+
**Invocation**: `@acp.package-remove --keep-modified firebase`
|
|
210
|
+
|
|
211
|
+
**Result**: Removes 5 unmodified files, keeps 1 modified file, updates manifest
|
|
212
|
+
|
|
213
|
+
### Example 4: Package Not Installed
|
|
214
|
+
|
|
215
|
+
**Context**: Try to remove non-existent package
|
|
216
|
+
|
|
217
|
+
**Invocation**: `@acp.package-remove nonexistent`
|
|
218
|
+
|
|
219
|
+
**Result**: Error message "Package not installed: nonexistent", exits without changes
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Related Commands
|
|
224
|
+
|
|
225
|
+
- [`@acp.package-install`](acp.package-install.md) - Install packages
|
|
226
|
+
- [`@acp.package-list`](acp.package-list.md) - List installed packages
|
|
227
|
+
- [`@acp.package-info`](acp.package-info.md) - Show package details
|
|
228
|
+
- [`@acp.package-update`](acp.package-update.md) - Update packages
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Troubleshooting
|
|
233
|
+
|
|
234
|
+
### Issue 1: Package not found
|
|
235
|
+
|
|
236
|
+
**Symptom**: Error "Package not installed"
|
|
237
|
+
|
|
238
|
+
**Cause**: Package name incorrect or not installed
|
|
239
|
+
|
|
240
|
+
**Solution**: Run `@acp.package-list` to see installed packages, check spelling
|
|
241
|
+
|
|
242
|
+
### Issue 2: Files not removed
|
|
243
|
+
|
|
244
|
+
**Symptom**: Files still exist after removal
|
|
245
|
+
|
|
246
|
+
**Cause**: Files were modified and --keep-modified was used
|
|
247
|
+
|
|
248
|
+
**Solution**: This is intentional. Remove manually or run without --keep-modified
|
|
249
|
+
|
|
250
|
+
### Issue 3: Manifest corrupted after removal
|
|
251
|
+
|
|
252
|
+
**Symptom**: Manifest has syntax errors
|
|
253
|
+
|
|
254
|
+
**Cause**: Rare edge case in awk processing
|
|
255
|
+
|
|
256
|
+
**Solution**: Restore from git backup, reinstall packages
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## Security Considerations
|
|
261
|
+
|
|
262
|
+
### File Deletion
|
|
263
|
+
- **Deletes**: All files installed by the package
|
|
264
|
+
- **Preserves**: Modified files if --keep-modified used
|
|
265
|
+
- **Irreversible**: Deleted files cannot be recovered (unless in git)
|
|
266
|
+
|
|
267
|
+
### Best Practices
|
|
268
|
+
- **Use git**: Commit before removing packages
|
|
269
|
+
- **Review first**: Use `@acp.package-info` to see what will be removed
|
|
270
|
+
- **Keep modified**: Use --keep-modified if you've customized files
|
|
271
|
+
- **Backup**: Consider git commit or manual backup before removal
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Notes
|
|
276
|
+
|
|
277
|
+
- Removal is permanent (unless files are in git)
|
|
278
|
+
- Modified files detected via checksum comparison
|
|
279
|
+
- Manifest entry completely removed
|
|
280
|
+
- --keep-modified preserves customizations
|
|
281
|
+
- Safe to remove and reinstall packages
|
|
282
|
+
- Use `@acp.package-list --modified` to see which files would be kept
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
**Namespace**: acp
|
|
287
|
+
**Command**: package-remove
|
|
288
|
+
**Version**: 1.0.0
|
|
289
|
+
**Created**: 2026-02-18
|
|
290
|
+
**Last Updated**: 2026-02-18
|
|
291
|
+
**Status**: Active
|
|
292
|
+
**Compatibility**: ACP 2.0.0+
|
|
293
|
+
**Author**: ACP Project
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
# Command: package-search
|
|
2
|
+
|
|
3
|
+
> **🤖 Agent Directive**: If you are reading this file, the command `@acp.package-search` has been invoked. Follow the steps below to execute this command.
|
|
4
|
+
|
|
5
|
+
**Namespace**: acp
|
|
6
|
+
**Version**: 1.0.0
|
|
7
|
+
**Created**: 2026-02-18
|
|
8
|
+
**Last Updated**: 2026-02-18
|
|
9
|
+
**Status**: Active
|
|
10
|
+
**Scripts**: acp.package-search.sh, acp.common.sh
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
**Purpose**: Discover ACP packages on GitHub using the GitHub API
|
|
15
|
+
**Category**: Package Discovery
|
|
16
|
+
**Frequency**: As Needed
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## What This Command Does
|
|
21
|
+
|
|
22
|
+
This command searches GitHub for ACP packages using the GitHub API. **By default, it only searches repositories with the `acp-package` topic**, ensuring you only see actual ACP packages and not unrelated repositories.
|
|
23
|
+
|
|
24
|
+
It fetches `package.yaml` metadata from each result and displays comprehensive information including version, description, tags, stars, and installation commands.
|
|
25
|
+
|
|
26
|
+
Use this command when you want to discover available ACP packages, find packages for specific technologies (via tags), or browse community-created patterns and commands.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Prerequisites
|
|
31
|
+
|
|
32
|
+
- [ ] Internet connection available
|
|
33
|
+
- [ ] `curl` command available
|
|
34
|
+
- [ ] `agent/scripts/acp.package-search.sh` exists
|
|
35
|
+
- [ ] Optional: `GITHUB_TOKEN` environment variable for higher rate limits
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Steps
|
|
40
|
+
|
|
41
|
+
### 1. Run Package Search Script
|
|
42
|
+
|
|
43
|
+
Execute the search script with your query.
|
|
44
|
+
|
|
45
|
+
**Actions**:
|
|
46
|
+
- Run `./agent/scripts/acp.package-search.sh` with search terms:
|
|
47
|
+
```bash
|
|
48
|
+
# Search by keyword
|
|
49
|
+
./agent/scripts/acp.package-search.sh firebase
|
|
50
|
+
|
|
51
|
+
# Filter by tag
|
|
52
|
+
./agent/scripts/acp.package-search.sh oauth --tag authentication
|
|
53
|
+
|
|
54
|
+
# Search specific user's packages
|
|
55
|
+
./agent/scripts/acp.package-search.sh --user prmichaelsen
|
|
56
|
+
|
|
57
|
+
# Sort by recently updated
|
|
58
|
+
./agent/scripts/acp.package-search.sh --sort updated --limit 5
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Expected Outcome**: Search results displayed
|
|
62
|
+
|
|
63
|
+
### 2. Review Search Results
|
|
64
|
+
|
|
65
|
+
Analyze the displayed packages.
|
|
66
|
+
|
|
67
|
+
**Actions**:
|
|
68
|
+
- Review package names and versions
|
|
69
|
+
- Read descriptions
|
|
70
|
+
- Check star counts (popularity indicator)
|
|
71
|
+
- Note tags (technology indicators)
|
|
72
|
+
- Identify relevant packages for your project
|
|
73
|
+
|
|
74
|
+
**Expected Outcome**: Suitable packages identified
|
|
75
|
+
|
|
76
|
+
### 3. Install Selected Package
|
|
77
|
+
|
|
78
|
+
Use the provided installation command.
|
|
79
|
+
|
|
80
|
+
**Actions**:
|
|
81
|
+
- Copy installation command from search results
|
|
82
|
+
- Run `@acp.package-install <url>` with the package URL
|
|
83
|
+
- Follow installation prompts
|
|
84
|
+
|
|
85
|
+
**Expected Outcome**: Package installed successfully
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Syntax
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
./agent/scripts/acp.package-search.sh [query] [options]
|
|
93
|
+
|
|
94
|
+
Options:
|
|
95
|
+
--tag <tag> Filter by additional tag
|
|
96
|
+
--user <username> Search specific user's repos
|
|
97
|
+
--org <org> Search specific organization
|
|
98
|
+
--sort <field> Sort by: stars, updated, name (default: stars)
|
|
99
|
+
--limit <n> Limit results (default: 10, max: 100)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Verification
|
|
105
|
+
|
|
106
|
+
- [ ] Script executed successfully
|
|
107
|
+
- [ ] GitHub API queried successfully
|
|
108
|
+
- [ ] Results displayed with all metadata
|
|
109
|
+
- [ ] Package versions shown
|
|
110
|
+
- [ ] Tags displayed
|
|
111
|
+
- [ ] Star counts shown
|
|
112
|
+
- [ ] Installation commands provided
|
|
113
|
+
- [ ] Filters work correctly
|
|
114
|
+
- [ ] Handles no results gracefully
|
|
115
|
+
- [ ] Handles API errors gracefully
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Expected Output
|
|
120
|
+
|
|
121
|
+
### Files Modified
|
|
122
|
+
None - this is a read-only command
|
|
123
|
+
|
|
124
|
+
### Console Output
|
|
125
|
+
```
|
|
126
|
+
🔍 ACP Package Search
|
|
127
|
+
========================================
|
|
128
|
+
|
|
129
|
+
ℹ Searching GitHub for: firebase+topic:acp-package
|
|
130
|
+
ℹ Sort by: stars
|
|
131
|
+
ℹ Limit: 10
|
|
132
|
+
|
|
133
|
+
📦 Found 3 package(s)
|
|
134
|
+
|
|
135
|
+
1. firebase (1.2.0) ⭐ 45
|
|
136
|
+
https://github.com/prmichaelsen/acp-firebase
|
|
137
|
+
Firebase patterns and utilities for ACP projects
|
|
138
|
+
Tags: firebase, firestore, database, backend
|
|
139
|
+
Install: ./agent/scripts/acp.package-install.sh https://github.com/prmichaelsen/acp-firebase.git
|
|
140
|
+
|
|
141
|
+
2. firebase-v11 (1.0.0) ⭐ 12
|
|
142
|
+
https://github.com/otheruser/acp-firebase-v11
|
|
143
|
+
Firebase patterns for v11 Admin SDK
|
|
144
|
+
Tags: firebase, firebase-v11, legacy
|
|
145
|
+
Install: ./agent/scripts/acp.package-install.sh https://github.com/otheruser/acp-firebase-v11.git
|
|
146
|
+
|
|
147
|
+
3. fullstack (2.0.0) ⭐ 89
|
|
148
|
+
https://github.com/community/acp-fullstack
|
|
149
|
+
Complete fullstack patterns including Firebase
|
|
150
|
+
Tags: firebase, cloudflare, tanstack, fullstack
|
|
151
|
+
Install: ./agent/scripts/acp.package-install.sh https://github.com/community/acp-fullstack.git
|
|
152
|
+
|
|
153
|
+
Showing 3 of 3 result(s)
|
|
154
|
+
|
|
155
|
+
To install a package:
|
|
156
|
+
./agent/scripts/acp.package-install.sh <repository-url>
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Examples
|
|
162
|
+
|
|
163
|
+
### Example 1: Search by Keyword
|
|
164
|
+
|
|
165
|
+
**Context**: Looking for Firebase-related packages
|
|
166
|
+
|
|
167
|
+
**Invocation**: `@acp.package-search firebase`
|
|
168
|
+
|
|
169
|
+
**Result**: Shows 3 packages with firebase in name/description/tags, sorted by stars
|
|
170
|
+
|
|
171
|
+
### Example 2: Filter by Tag
|
|
172
|
+
|
|
173
|
+
**Context**: Need OAuth authentication patterns
|
|
174
|
+
|
|
175
|
+
**Invocation**: `@acp.package-search oauth --tag authentication`
|
|
176
|
+
|
|
177
|
+
**Result**: Shows packages tagged with both "oauth" and "authentication"
|
|
178
|
+
|
|
179
|
+
### Example 3: Browse User's Packages
|
|
180
|
+
|
|
181
|
+
**Context**: Want to see all packages from specific author
|
|
182
|
+
|
|
183
|
+
**Invocation**: `@acp.package-search --user prmichaelsen`
|
|
184
|
+
|
|
185
|
+
**Result**: Shows all acp-package repos from prmichaelsen
|
|
186
|
+
|
|
187
|
+
### Example 4: Find Recent Packages
|
|
188
|
+
|
|
189
|
+
**Context**: Want to see recently updated packages
|
|
190
|
+
|
|
191
|
+
**Invocation**: `@acp.package-search --sort updated --limit 5`
|
|
192
|
+
|
|
193
|
+
**Result**: Shows 5 most recently updated packages
|
|
194
|
+
|
|
195
|
+
### Example 5: No Results
|
|
196
|
+
|
|
197
|
+
**Context**: Search for non-existent package
|
|
198
|
+
|
|
199
|
+
**Invocation**: `@acp.package-search nonexistent123`
|
|
200
|
+
|
|
201
|
+
**Result**: "No packages found matching your search", suggests trying broader terms
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Related Commands
|
|
206
|
+
|
|
207
|
+
- [`@acp.package-install`](acp.package-install.md) - Install discovered packages
|
|
208
|
+
- [`@acp.package-list`](acp.package-list.md) - List installed packages
|
|
209
|
+
- [`@acp.package-info`](acp.package-info.md) - Show package details
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## GitHub API Details
|
|
214
|
+
|
|
215
|
+
### Rate Limits
|
|
216
|
+
- **Without token**: 60 requests/hour
|
|
217
|
+
- **With token**: 5,000 requests/hour
|
|
218
|
+
|
|
219
|
+
### Setting GitHub Token
|
|
220
|
+
```bash
|
|
221
|
+
export GITHUB_TOKEN="your_github_token"
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### API Endpoints Used
|
|
225
|
+
- `GET /search/repositories` - Search repos by topic
|
|
226
|
+
- `GET /repos/{owner}/{repo}/contents/package.yaml` - Fetch metadata
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Package Discovery Requirements
|
|
231
|
+
|
|
232
|
+
For packages to be discoverable via `@acp.package-search`:
|
|
233
|
+
|
|
234
|
+
1. **GitHub Topic** (REQUIRED): Add `acp-package` topic to repository
|
|
235
|
+
- This is the canonical way to identify ACP packages
|
|
236
|
+
- Without this topic, packages will NOT appear in search results
|
|
237
|
+
2. **package.yaml**: Include in repository root with:
|
|
238
|
+
```yaml
|
|
239
|
+
name: package-name
|
|
240
|
+
version: 1.0.0
|
|
241
|
+
description: Clear description
|
|
242
|
+
tags:
|
|
243
|
+
- tag1
|
|
244
|
+
- tag2
|
|
245
|
+
```
|
|
246
|
+
3. **Clear Description**: Add description to GitHub repository
|
|
247
|
+
4. **ACP Structure**: Follow standard `agent/` directory structure
|
|
248
|
+
|
|
249
|
+
**Note**: The `topic:acp-package` filter is always applied to ensure search results contain only actual ACP packages, not unrelated repositories with "acp" in the name.
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## Troubleshooting
|
|
254
|
+
|
|
255
|
+
### Issue 1: No results found
|
|
256
|
+
|
|
257
|
+
**Symptom**: "No packages found"
|
|
258
|
+
|
|
259
|
+
**Cause**: No packages match search criteria
|
|
260
|
+
|
|
261
|
+
**Solution**: Try broader search terms, remove filters, check spelling
|
|
262
|
+
|
|
263
|
+
### Issue 2: API rate limit exceeded
|
|
264
|
+
|
|
265
|
+
**Symptom**: "API rate limit exceeded" error
|
|
266
|
+
|
|
267
|
+
**Cause**: Made too many requests (60/hour without token)
|
|
268
|
+
|
|
269
|
+
**Solution**: Wait for rate limit reset, or set GITHUB_TOKEN for higher limits
|
|
270
|
+
|
|
271
|
+
### Issue 3: Package.yaml not found
|
|
272
|
+
|
|
273
|
+
**Symptom**: Version shows "unknown"
|
|
274
|
+
|
|
275
|
+
**Cause**: Package doesn't have package.yaml in root
|
|
276
|
+
|
|
277
|
+
**Solution**: This is informational only, package can still be installed
|
|
278
|
+
|
|
279
|
+
### Issue 4: Slow response
|
|
280
|
+
|
|
281
|
+
**Symptom**: Search takes long time
|
|
282
|
+
|
|
283
|
+
**Cause**: Fetching package.yaml for each result
|
|
284
|
+
|
|
285
|
+
**Solution**: This is normal, reduce --limit for faster results
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Notes
|
|
290
|
+
|
|
291
|
+
- Requires internet connection
|
|
292
|
+
- Uses GitHub API (no authentication required for basic use)
|
|
293
|
+
- Fetches package.yaml for each result (adds latency)
|
|
294
|
+
- Results cached by GitHub (may not show very recent packages)
|
|
295
|
+
- Set GITHUB_TOKEN for higher rate limits
|
|
296
|
+
- Packages must have `acp-package` topic to be discoverable
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
**Namespace**: acp
|
|
301
|
+
**Command**: package-search
|
|
302
|
+
**Version**: 1.0.0
|
|
303
|
+
**Created**: 2026-02-18
|
|
304
|
+
**Last Updated**: 2026-02-18
|
|
305
|
+
**Status**: Active
|
|
306
|
+
**Compatibility**: ACP 2.0.0+
|
|
307
|
+
**Author**: ACP Project
|