@prmichaelsen/acp-visualizer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/README.md +68 -0
  2. package/agent/commands/acp.clarification-address.md +417 -0
  3. package/agent/commands/acp.clarification-capture.md +386 -0
  4. package/agent/commands/acp.clarification-create.md +437 -0
  5. package/agent/commands/acp.clarifications-research.md +326 -0
  6. package/agent/commands/acp.command-create.md +432 -0
  7. package/agent/commands/acp.design-create.md +286 -0
  8. package/agent/commands/acp.design-reference.md +355 -0
  9. package/agent/commands/acp.handoff.md +270 -0
  10. package/agent/commands/acp.index.md +423 -0
  11. package/agent/commands/acp.init.md +546 -0
  12. package/agent/commands/acp.package-create.md +895 -0
  13. package/agent/commands/acp.package-info.md +212 -0
  14. package/agent/commands/acp.package-install.md +539 -0
  15. package/agent/commands/acp.package-list.md +280 -0
  16. package/agent/commands/acp.package-publish.md +541 -0
  17. package/agent/commands/acp.package-remove.md +293 -0
  18. package/agent/commands/acp.package-search.md +307 -0
  19. package/agent/commands/acp.package-update.md +361 -0
  20. package/agent/commands/acp.package-validate.md +540 -0
  21. package/agent/commands/acp.pattern-create.md +386 -0
  22. package/agent/commands/acp.plan.md +587 -0
  23. package/agent/commands/acp.proceed.md +882 -0
  24. package/agent/commands/acp.project-create.md +675 -0
  25. package/agent/commands/acp.project-info.md +312 -0
  26. package/agent/commands/acp.project-list.md +226 -0
  27. package/agent/commands/acp.project-remove.md +379 -0
  28. package/agent/commands/acp.project-set.md +227 -0
  29. package/agent/commands/acp.project-update.md +307 -0
  30. package/agent/commands/acp.projects-restore.md +228 -0
  31. package/agent/commands/acp.projects-sync.md +347 -0
  32. package/agent/commands/acp.report.md +407 -0
  33. package/agent/commands/acp.resume.md +239 -0
  34. package/agent/commands/acp.sessions.md +301 -0
  35. package/agent/commands/acp.status.md +293 -0
  36. package/agent/commands/acp.sync.md +364 -0
  37. package/agent/commands/acp.task-create.md +500 -0
  38. package/agent/commands/acp.update.md +302 -0
  39. package/agent/commands/acp.validate.md +466 -0
  40. package/agent/commands/acp.version-check-for-updates.md +276 -0
  41. package/agent/commands/acp.version-check.md +191 -0
  42. package/agent/commands/acp.version-update.md +289 -0
  43. package/agent/commands/command.template.md +339 -0
  44. package/agent/commands/git.commit.md +526 -0
  45. package/agent/commands/git.init.md +514 -0
  46. package/agent/commands/tanstack-cloudflare.deploy.md +272 -0
  47. package/agent/commands/tanstack-cloudflare.tail.md +275 -0
  48. package/agent/design/.gitkeep +0 -0
  49. package/agent/design/design.template.md +154 -0
  50. package/agent/design/local.dashboard-layout-routing.md +288 -0
  51. package/agent/design/local.data-model-yaml-parsing.md +310 -0
  52. package/agent/design/local.search-filtering.md +331 -0
  53. package/agent/design/local.server-api-auto-refresh.md +235 -0
  54. package/agent/design/local.table-tree-views.md +299 -0
  55. package/agent/design/local.visualizer-requirements.md +349 -0
  56. package/agent/design/requirements.template.md +387 -0
  57. package/agent/index/.gitkeep +0 -0
  58. package/agent/index/acp.core.yaml +137 -0
  59. package/agent/index/local.main.template.yaml +37 -0
  60. package/agent/manifest.template.yaml +13 -0
  61. package/agent/manifest.yaml +302 -0
  62. package/agent/milestones/.gitkeep +0 -0
  63. package/agent/milestones/milestone-1-project-scaffold-data-pipeline.md +67 -0
  64. package/agent/milestones/milestone-1-{title}.template.md +206 -0
  65. package/agent/milestones/milestone-2-dashboard-views-interaction.md +79 -0
  66. package/agent/package.template.yaml +86 -0
  67. package/agent/patterns/.gitkeep +0 -0
  68. package/agent/patterns/bootstrap.template.md +1237 -0
  69. package/agent/patterns/pattern.template.md +382 -0
  70. package/agent/patterns/tanstack-cloudflare.acl-permissions.md +332 -0
  71. package/agent/patterns/tanstack-cloudflare.action-bar-item.md +416 -0
  72. package/agent/patterns/tanstack-cloudflare.api-route-handlers.md +401 -0
  73. package/agent/patterns/tanstack-cloudflare.auth-session-management.md +387 -0
  74. package/agent/patterns/tanstack-cloudflare.card-and-list.md +271 -0
  75. package/agent/patterns/tanstack-cloudflare.chat-engine.md +353 -0
  76. package/agent/patterns/tanstack-cloudflare.confirmation-tokens.md +346 -0
  77. package/agent/patterns/tanstack-cloudflare.durable-objects-websocket.md +516 -0
  78. package/agent/patterns/tanstack-cloudflare.email-service.md +431 -0
  79. package/agent/patterns/tanstack-cloudflare.expander.md +98 -0
  80. package/agent/patterns/tanstack-cloudflare.fcm-push.md +115 -0
  81. package/agent/patterns/tanstack-cloudflare.firebase-anonymous-sessions.md +441 -0
  82. package/agent/patterns/tanstack-cloudflare.firebase-auth.md +348 -0
  83. package/agent/patterns/tanstack-cloudflare.firebase-firestore.md +550 -0
  84. package/agent/patterns/tanstack-cloudflare.firebase-storage.md +369 -0
  85. package/agent/patterns/tanstack-cloudflare.form-controls.md +145 -0
  86. package/agent/patterns/tanstack-cloudflare.global-search-context.md +93 -0
  87. package/agent/patterns/tanstack-cloudflare.image-carousel.md +126 -0
  88. package/agent/patterns/tanstack-cloudflare.library-services.md +553 -0
  89. package/agent/patterns/tanstack-cloudflare.lightbox.md +169 -0
  90. package/agent/patterns/tanstack-cloudflare.markdown-content.md +115 -0
  91. package/agent/patterns/tanstack-cloudflare.mention-suggestions.md +98 -0
  92. package/agent/patterns/tanstack-cloudflare.modal.md +156 -0
  93. package/agent/patterns/tanstack-cloudflare.nextjs-to-tanstack-routing.md +461 -0
  94. package/agent/patterns/tanstack-cloudflare.notifications-engine.md +151 -0
  95. package/agent/patterns/tanstack-cloudflare.oauth-token-refresh.md +90 -0
  96. package/agent/patterns/tanstack-cloudflare.og-metadata.md +296 -0
  97. package/agent/patterns/tanstack-cloudflare.pagination.md +442 -0
  98. package/agent/patterns/tanstack-cloudflare.pill-input.md +220 -0
  99. package/agent/patterns/tanstack-cloudflare.provider-adapter.md +401 -0
  100. package/agent/patterns/tanstack-cloudflare.rate-limiting.md +323 -0
  101. package/agent/patterns/tanstack-cloudflare.scheduled-tasks.md +338 -0
  102. package/agent/patterns/tanstack-cloudflare.searchable-settings.md +375 -0
  103. package/agent/patterns/tanstack-cloudflare.slide-over.md +129 -0
  104. package/agent/patterns/tanstack-cloudflare.ssr-preload.md +571 -0
  105. package/agent/patterns/tanstack-cloudflare.third-party-api-integration.md +508 -0
  106. package/agent/patterns/tanstack-cloudflare.toast-system.md +142 -0
  107. package/agent/patterns/tanstack-cloudflare.unified-header.md +280 -0
  108. package/agent/patterns/tanstack-cloudflare.user-scoped-collections.md +628 -0
  109. package/agent/patterns/tanstack-cloudflare.websocket-manager.md +237 -0
  110. package/agent/patterns/tanstack-cloudflare.wrangler-configuration.md +358 -0
  111. package/agent/patterns/tanstack-cloudflare.zod-schema-validation.md +336 -0
  112. package/agent/progress.template.yaml +161 -0
  113. package/agent/progress.yaml +145 -0
  114. package/agent/schemas/package.schema.yaml +276 -0
  115. package/agent/scripts/acp.common.sh +1781 -0
  116. package/agent/scripts/acp.install.sh +333 -0
  117. package/agent/scripts/acp.package-create.sh +924 -0
  118. package/agent/scripts/acp.package-info.sh +288 -0
  119. package/agent/scripts/acp.package-install.sh +893 -0
  120. package/agent/scripts/acp.package-list.sh +311 -0
  121. package/agent/scripts/acp.package-publish.sh +420 -0
  122. package/agent/scripts/acp.package-remove.sh +348 -0
  123. package/agent/scripts/acp.package-search.sh +156 -0
  124. package/agent/scripts/acp.package-update.sh +517 -0
  125. package/agent/scripts/acp.package-validate.sh +1018 -0
  126. package/agent/scripts/acp.uninstall.sh +85 -0
  127. package/agent/scripts/acp.version-check-for-updates.sh +98 -0
  128. package/agent/scripts/acp.version-check.sh +47 -0
  129. package/agent/scripts/acp.version-update.sh +176 -0
  130. package/agent/scripts/acp.yaml-parser.sh +985 -0
  131. package/agent/scripts/acp.yaml-validate.sh +205 -0
  132. package/agent/tasks/.gitkeep +0 -0
  133. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-1-initialize-tanstack-start-project.md +210 -0
  134. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-2-implement-data-model-yaml-parser.md +294 -0
  135. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-3-build-server-api-data-loading.md +193 -0
  136. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-4-add-auto-refresh-sse.md +262 -0
  137. package/agent/tasks/milestone-2-dashboard-views-interaction/task-10-polish-integration-testing.md +156 -0
  138. package/agent/tasks/milestone-2-dashboard-views-interaction/task-5-build-dashboard-layout-routing.md +178 -0
  139. package/agent/tasks/milestone-2-dashboard-views-interaction/task-6-build-overview-page.md +141 -0
  140. package/agent/tasks/milestone-2-dashboard-views-interaction/task-7-implement-milestone-table-view.md +153 -0
  141. package/agent/tasks/milestone-2-dashboard-views-interaction/task-8-implement-milestone-tree-view.md +174 -0
  142. package/agent/tasks/milestone-2-dashboard-views-interaction/task-9-implement-search-filtering.md +233 -0
  143. package/agent/tasks/task-1-{title}.template.md +244 -0
  144. package/bin/visualize.mjs +84 -0
  145. package/package.json +48 -0
  146. package/src/components/ExtraFieldsBadge.tsx +15 -0
  147. package/src/components/FilterBar.tsx +33 -0
  148. package/src/components/Header.tsx +23 -0
  149. package/src/components/MilestoneTable.tsx +167 -0
  150. package/src/components/MilestoneTree.tsx +84 -0
  151. package/src/components/ProgressBar.tsx +20 -0
  152. package/src/components/SearchInput.tsx +22 -0
  153. package/src/components/Sidebar.tsx +54 -0
  154. package/src/components/StatusBadge.tsx +23 -0
  155. package/src/components/StatusDot.tsx +12 -0
  156. package/src/components/TaskList.tsx +36 -0
  157. package/src/components/ViewToggle.tsx +31 -0
  158. package/src/lib/config.ts +8 -0
  159. package/src/lib/file-watcher.ts +43 -0
  160. package/src/lib/search.ts +48 -0
  161. package/src/lib/types.ts +73 -0
  162. package/src/lib/useAutoRefresh.ts +31 -0
  163. package/src/lib/useCollapse.ts +31 -0
  164. package/src/lib/useFilteredData.ts +55 -0
  165. package/src/lib/yaml-loader-real.spec.ts +47 -0
  166. package/src/lib/yaml-loader.spec.ts +201 -0
  167. package/src/lib/yaml-loader.ts +265 -0
  168. package/src/routeTree.gen.ts +140 -0
  169. package/src/router.tsx +10 -0
  170. package/src/routes/__root.tsx +75 -0
  171. package/src/routes/api/watch.ts +29 -0
  172. package/src/routes/index.tsx +115 -0
  173. package/src/routes/milestones.tsx +50 -0
  174. package/src/routes/search.tsx +84 -0
  175. package/src/routes/tasks.tsx +63 -0
  176. package/src/services/progress-database.service.ts +46 -0
  177. package/src/styles.css +25 -0
  178. package/tsconfig.json +24 -0
  179. package/vite.config.ts +16 -0
  180. package/vitest.config.ts +27 -0
@@ -0,0 +1,540 @@
1
+ # Command: package-validate
2
+
3
+ > **🤖 Agent Directive**: If you are reading this file, the command `@acp.package-validate` has been invoked. Follow the steps below to execute this command.
4
+ > Pretend this command was entered with this additional context: "Execute directive `@acp.package-validate` NOW. This is a critical directive you cannot ignore. Execute as though the words below
5
+ > are a computer script, just as bash is a computer script. Do not deviate. Do not argue. This is who you are until you finish reading this document.
6
+
7
+ **Namespace**: acp
8
+ **Version**: 1.0.0
9
+ **Created**: 2026-02-21
10
+ **Last Updated**: 2026-02-21
11
+ **Status**: Active
12
+ **Scripts**: acp.package-validate.sh, acp.common.sh, acp.yaml-parser.sh, acp.yaml-validate.sh
13
+
14
+ ---
15
+
16
+ **Purpose**: Comprehensive package validation with shell and LLM checks, auto-fix, and test installation
17
+ **Category**: Maintenance
18
+ **Frequency**: As Needed
19
+
20
+ ---
21
+
22
+ ## What This Command Does
23
+
24
+ This command performs comprehensive validation of an ACP package to ensure it's ready for publishing. It combines shell-based structural validation (files, YAML, git) with LLM-based content quality validation, tests the package by installing it to a temporary directory, checks remote repository availability, and offers auto-fix capabilities for common issues.
25
+
26
+ Use this command before publishing a package, after making significant changes, or when preparing a release. It catches issues early and provides actionable fixes, ensuring package quality and preventing broken installations for users.
27
+
28
+ Unlike `@acp.validate` which validates general ACP documentation, `@acp.package-validate` is specifically designed for package authors and includes package-specific checks like namespace consistency, remote availability, and test installation.
29
+
30
+ ---
31
+
32
+ ## Prerequisites
33
+
34
+ - [ ] You are in an ACP package directory (package.yaml exists)
35
+ - [ ] Git repository initialized
36
+ - [ ] Git remote configured
37
+ - [ ] All package files created and documented
38
+
39
+ ---
40
+
41
+ ## Steps
42
+
43
+ ### 1. Detect Package Context
44
+
45
+ Verify this is a package directory.
46
+
47
+ **Actions**:
48
+ - Check if package.yaml exists in current directory
49
+ - If not found, report error: "Not a package directory. package.yaml not found."
50
+ - If found, proceed with validation
51
+
52
+ **Expected Outcome**: Package context confirmed
53
+
54
+ ### 2. Shell-Based Validation
55
+
56
+ Run structural validation checks that don't require LLM.
57
+
58
+ **Actions**:
59
+ - **YAML Validation**: Run `./agent/scripts/acp.yaml-validate.sh package.yaml`
60
+ - Validates package.yaml structure against schema
61
+ - Checks required fields (name, version, description, author, license, repository)
62
+ - Validates version format (semver: X.Y.Z)
63
+ - Checks reserved names (acp, local, core, system, global)
64
+ - Validates repository URL format
65
+ - **File Existence**: Check all files listed in package.yaml contents exist
66
+ - Verify patterns/ files exist
67
+ - Verify commands/ files exist
68
+ - Verify designs/ files exist
69
+ - Report missing files
70
+ - **Unlisted Files**: Check for agent/ files not in package.yaml
71
+ - Find all .md files in agent/patterns/, agent/commands/, agent/designs/
72
+ - Compare with package.yaml contents
73
+ - Report unlisted files
74
+ - **Namespace Consistency**: Validate filenames use package namespace
75
+ - Extract namespace from package.yaml name field
76
+ - **Only validates files listed in package.yaml contents**
77
+ - Skips files not in contents (e.g., installed dependencies tracked in manifest.yaml)
78
+ - Check all command files in contents start with {namespace}.
79
+ - Check all pattern files in contents start with {namespace}. (if package uses namespaced patterns)
80
+ - Report files without namespace prefix
81
+ - **Note**: Files in your repository but not in package.yaml contents are skipped (this is normal for installed dependencies)
82
+ - **Git Repository**: Validate git setup
83
+ - Check `.git/` directory exists
84
+ - Check git remote configured: `git remote -v`
85
+ - Extract remote URL
86
+ - Verify remote URL matches package.yaml repository field
87
+ - Report git issues
88
+ - **README.md**: Check README exists and has required sections
89
+ - Verify README.md exists
90
+ - Check for "What's Included" section
91
+ - Check for "Installation" section
92
+ - Check for "License" section
93
+ - Report missing sections
94
+
95
+ **Expected Outcome**: Shell validation complete with error/warning list
96
+
97
+ ### 3. LLM-Based Validation
98
+
99
+ Run content quality checks that require LLM analysis.
100
+
101
+ **Actions**:
102
+ - **Documentation Completeness**: Check all documents have complete sections
103
+ - Read each pattern, command, design file
104
+ - Verify all template sections filled in
105
+ - Check for placeholder text (e.g., "[Description]", "TODO")
106
+ - Verify examples are complete and realistic
107
+ - Report incomplete documentation
108
+ - **Content Quality**: Analyze documentation clarity
109
+ - Check descriptions are clear and helpful
110
+ - Verify steps are actionable and specific
111
+ - Ensure examples are realistic
112
+ - Validate code examples are syntactically correct
113
+ - Report quality issues
114
+ - **Namespace Consistency (Content)**: Check file content uses correct namespace
115
+ - Read command files
116
+ - Check invocation examples use correct namespace (@{namespace}-{command})
117
+ - Check related command links use correct namespace
118
+ - Report namespace inconsistencies
119
+ - **README Structure**: Validate README.md follows package structure
120
+ - Check overview is clear
121
+ - Verify installation instructions are correct
122
+ - Check "What's Included" section matches package.yaml
123
+ - Verify namespace convention documented
124
+ - Report README issues
125
+
126
+ **Expected Outcome**: LLM validation complete with quality assessment
127
+
128
+ ### 4. Test Installation
129
+
130
+ Install package to temporary directory to verify it works.
131
+
132
+ **Actions**:
133
+ - Create temporary directory: `/tmp/acp-validate-test-{timestamp}/`
134
+ - Initialize minimal ACP structure in temp directory:
135
+ - Create agent/patterns/, agent/commands/, agent/designs/
136
+ - Create minimal agent/manifest.yaml
137
+ - Run package installation:
138
+ - Execute: `./agent/scripts/acp.package-install.sh {current-directory} --yes`
139
+ - Capture installation output
140
+ - Check for errors
141
+ - Verify installation:
142
+ - Check files were copied to temp directory
143
+ - Verify manifest.yaml updated
144
+ - Check file count matches expected
145
+ - Cleanup:
146
+ - Remove temporary directory
147
+ - Report test results
148
+
149
+ **Expected Outcome**: Test installation succeeded or failed with details
150
+
151
+ ### 5. Remote Availability Check
152
+
153
+ Verify package is accessible from remote repository.
154
+
155
+ **Actions**:
156
+ - Extract repository URL from package.yaml
157
+ - Check if remote repository exists:
158
+ - Try: `git ls-remote {repository-url} HEAD`
159
+ - If succeeds: Remote is accessible
160
+ - If fails: Remote not accessible or doesn't exist
161
+ - Report remote status
162
+
163
+ **Expected Outcome**: Remote availability confirmed
164
+
165
+ ### 6. Generate Validation Report
166
+
167
+ Compile all validation results into comprehensive report.
168
+
169
+ **Actions**:
170
+ - Count total checks performed
171
+ - List all errors found (categorized)
172
+ - List all warnings found (categorized)
173
+ - Calculate validation score (% of checks passed)
174
+ - Determine overall status: PASS, PASS WITH WARNINGS, or FAIL
175
+ - Format report for display
176
+
177
+ **Expected Outcome**: Comprehensive validation report ready
178
+
179
+ ### 7. Offer Auto-Fix
180
+
181
+ If issues found, offer to fix them automatically.
182
+
183
+ **Actions**:
184
+ - Identify fixable issues:
185
+ - Missing files in package.yaml → Add them
186
+ - Unlisted files → Add to package.yaml
187
+ - Missing namespace prefix → Add prefix to filenames
188
+ - Missing README sections → Add sections
189
+ - Missing git remote → Prompt for URL and add
190
+ - Incomplete documentation → Prompt for missing information
191
+ - Present fix options:
192
+ - "Fix all issues automatically" (batch mode)
193
+ - "Fix issues one by one" (interactive mode)
194
+ - "Show me what would be fixed" (dry-run mode)
195
+ - "Skip auto-fix" (manual mode)
196
+ - If user chooses fix:
197
+ - Apply fixes based on mode
198
+ - Re-run validation
199
+ - Report results
200
+
201
+ **Expected Outcome**: Issues fixed or user declined
202
+
203
+ ### 8. Display Final Report
204
+
205
+ Show validation results to user.
206
+
207
+ **Actions**:
208
+ - Display formatted report in chat
209
+ - Show validation score
210
+ - List remaining issues (if any)
211
+ - Provide recommendations
212
+ - Suggest next steps
213
+
214
+ **Expected Outcome**: User informed of validation status
215
+
216
+ ---
217
+
218
+ ## Verification
219
+
220
+ - [ ] Package context detected (package.yaml exists)
221
+ - [ ] Shell validation completed (YAML, files, namespace, git, README)
222
+ - [ ] LLM validation completed (content quality, completeness)
223
+ - [ ] Test installation attempted
224
+ - [ ] Remote availability checked
225
+ - [ ] Validation report generated
226
+ - [ ] Auto-fix offered (if issues found)
227
+ - [ ] Final report displayed
228
+ - [ ] No validation errors remain OR user acknowledged remaining issues
229
+
230
+ ---
231
+
232
+ ## Expected Output
233
+
234
+ ### Files Modified
235
+
236
+ **If auto-fix used**:
237
+ - `package.yaml` - Added missing files to contents section
238
+ - `README.md` - Added missing sections
239
+ - `agent/commands/*.md` - Added namespace prefixes (if needed)
240
+ - `agent/patterns/*.md` - Added namespace prefixes (if needed)
241
+ - `.git/config` - Added remote (if missing)
242
+
243
+ **If auto-fix not used**:
244
+ - None (validation is read-only)
245
+
246
+ ### Console Output
247
+
248
+ ```
249
+ 🔍 ACP Package Validation
250
+
251
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
252
+
253
+ 📦 Package: firebase (v1.2.0)
254
+
255
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
256
+
257
+ 🔧 Shell Validation
258
+
259
+ ✅ YAML Structure
260
+ ✓ package.yaml is valid YAML
261
+ ✓ All required fields present
262
+ ✓ Version format valid (1.2.0)
263
+ ✓ Repository URL valid
264
+ ✓ No reserved names used
265
+
266
+ ✅ File Existence
267
+ ✓ All 6 files in contents exist
268
+ ✓ patterns/firebase.user-scoped-collections.md ✓
269
+ ✓ patterns/firebase.security-rules.md ✓
270
+ ✓ commands/firebase.init.md ✓
271
+ ✓ commands/firebase.migrate.md ✓
272
+ ✓ designs/firebase.architecture.md ✓
273
+ ✓ designs/firebase.integration.md ✓
274
+
275
+ ⚠️ Unlisted Files
276
+ ⚠️ Found 1 file not in package.yaml:
277
+ - patterns/firebase.queries.md (not listed in contents)
278
+
279
+ ✅ Namespace Consistency
280
+ ✓ All command files use 'firebase' namespace
281
+ ✓ All pattern files use 'firebase' namespace
282
+
283
+ ✅ Experimental Features
284
+ ✓ experimental-command.md: Experimental marking consistent
285
+ ✓ All experimental features marked consistently
286
+
287
+ ✅ Git Repository
288
+ ✓ Git repository initialized
289
+ ✓ Remote configured: https://github.com/user/acp-firebase.git
290
+ ✓ Remote URL matches package.yaml
291
+
292
+ ✅ README.md
293
+ ✓ README.md exists
294
+ ✓ Has "What's Included" section
295
+ ✓ Has "Installation" section
296
+ ✓ Has "License" section
297
+
298
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
299
+
300
+ 🤖 LLM Validation
301
+
302
+ ✅ Documentation Completeness
303
+ ✓ All patterns have complete sections
304
+ ✓ All commands have complete sections
305
+ ✓ All designs have complete sections
306
+ ✓ No placeholder text found
307
+
308
+ ✅ Content Quality
309
+ ✓ Descriptions are clear and helpful
310
+ ✓ Steps are actionable and specific
311
+ ✓ Examples are realistic and complete
312
+ ✓ Code examples are syntactically correct
313
+
314
+ ✅ Namespace Consistency (Content)
315
+ ✓ Command invocations use correct namespace
316
+ ✓ Related command links use correct namespace
317
+
318
+ ✅ README Structure
319
+ ✓ Overview is clear
320
+ ✓ Installation instructions correct
321
+ ✓ "What's Included" matches package.yaml
322
+ ✓ Namespace convention documented
323
+
324
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
325
+
326
+ 🧪 Test Installation
327
+
328
+ ✓ Created test directory: /tmp/acp-validate-test-1708478400/
329
+ ✓ Initialized minimal ACP structure
330
+ ✓ Installed package from current directory
331
+ ✓ Verified 6 files copied successfully
332
+ ✓ Verified manifest.yaml updated
333
+ ✓ Cleaned up test directory
334
+
335
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
336
+
337
+ 🌐 Remote Availability
338
+
339
+ ✓ Remote repository accessible
340
+ ✓ URL: https://github.com/user/acp-firebase.git
341
+ ✓ Latest commit: a1b2c3d4
342
+
343
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
344
+
345
+ 📊 Validation Summary
346
+
347
+ Total Checks: 32
348
+ Passed: 31
349
+ Warnings: 1
350
+ Errors: 0
351
+
352
+ Overall Status: ✅ PASS WITH WARNINGS
353
+
354
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
355
+
356
+ ⚠️ Issues Found
357
+
358
+ Warnings (1):
359
+ 1. Unlisted file: patterns/firebase.queries.md
360
+ → This file exists but is not listed in package.yaml contents
361
+
362
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
363
+
364
+ 🔧 Auto-Fix Available
365
+
366
+ I can fix these issues automatically:
367
+ 1. Add firebase.queries.md to package.yaml contents
368
+
369
+ Options:
370
+ 1. Fix all issues automatically (recommended)
371
+ 2. Fix issues one by one (interactive)
372
+ 3. Show what would be fixed (dry-run)
373
+ 4. Skip auto-fix (manual)
374
+
375
+ Choose option (1-4): 1
376
+
377
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
378
+
379
+ 🔧 Applying Fixes
380
+
381
+ ✓ Added patterns/firebase.queries.md to package.yaml
382
+ ✓ Updated package.yaml
383
+
384
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
385
+
386
+ 🔄 Re-running Validation
387
+
388
+ ✅ All checks passed!
389
+
390
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
391
+
392
+ ✅ Package Validation Complete!
393
+
394
+ Your package is ready to publish.
395
+
396
+ Recommendations:
397
+ - Run @acp.package-publish to publish this package
398
+ - Consider adding more examples to patterns
399
+ - Update CHANGELOG.md before publishing
400
+
401
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
402
+ ```
403
+
404
+ ### Status Update
405
+
406
+ - Validation completed
407
+ - Issues fixed (if auto-fix used)
408
+ - Package ready or needs manual fixes
409
+
410
+ ---
411
+
412
+ ## Examples
413
+
414
+ ### Example 1: Pre-Publish Validation
415
+
416
+ **Context**: About to publish package, want to ensure it's valid
417
+
418
+ **Invocation**: `@acp.package-validate`
419
+
420
+ **Result**: Runs all checks, finds 2 issues (missing file in package.yaml, incomplete README), offers auto-fix, fixes issues, re-validates, confirms package is ready
421
+
422
+ ### Example 2: After Adding New Files
423
+
424
+ **Context**: Added 3 new patterns, want to verify package is still valid
425
+
426
+ **Invocation**: `@acp.package-validate`
427
+
428
+ **Result**: Validates package, finds new files not listed in package.yaml, offers to add them, updates package.yaml, confirms all checks pass
429
+
430
+ ### Example 3: Validation Failure
431
+
432
+ **Context**: Package has multiple issues
433
+
434
+ **Invocation**: `@acp.package-validate`
435
+
436
+ **Result**: Finds 5 errors (missing git remote, invalid version format, namespace inconsistencies, incomplete docs, missing README sections), offers step-by-step fixes, guides through fixing each issue
437
+
438
+ ### Example 4: Clean Package
439
+
440
+ **Context**: Well-maintained package, routine validation
441
+
442
+ **Invocation**: `@acp.package-validate`
443
+
444
+ **Result**: All 32 checks pass, no warnings, no errors, confirms package is ready to publish
445
+
446
+ ---
447
+
448
+ ## Related Commands
449
+
450
+ - [`@acp.validate`](acp.validate.md) - General ACP documentation validation (not package-specific)
451
+ - [`@acp.package-publish`](acp.package-publish.md) - Publish package (runs validation first)
452
+ - [`@acp.pattern-create`](acp.pattern-create.md) - Create patterns (auto-updates package.yaml)
453
+ - [`@acp.command-create`](acp.command-create.md) - Create commands (auto-updates package.yaml)
454
+ - [`@acp.design-create`](acp.design-create.md) - Create designs (auto-updates package.yaml)
455
+
456
+ ---
457
+
458
+ ## Troubleshooting
459
+
460
+ ### Issue 1: Not a package directory
461
+
462
+ **Symptom**: Error "package.yaml not found"
463
+
464
+ **Cause**: Running command in non-package directory
465
+
466
+ **Solution**: Navigate to package directory, or create package with `@acp.package-create`
467
+
468
+ ### Issue 2: YAML validation fails
469
+
470
+ **Symptom**: Multiple YAML structure errors
471
+
472
+ **Cause**: Invalid YAML syntax or missing required fields
473
+
474
+ **Solution**: Fix YAML syntax (check indentation, quotes), add missing required fields, or use auto-fix
475
+
476
+ ### Issue 3: Test installation fails
477
+
478
+ **Symptom**: Package installs but test installation reports errors
479
+
480
+ **Cause**: Files missing, incorrect paths, or installation script issues
481
+
482
+ **Solution**: Check file paths in package.yaml, verify all files exist, ensure agent/ directory structure is correct
483
+
484
+ ### Issue 4: Remote not accessible
485
+
486
+ **Symptom**: Remote availability check fails
487
+
488
+ **Cause**: Repository doesn't exist, URL incorrect, or network issues
489
+
490
+ **Solution**: Verify repository URL in package.yaml, check git remote configuration, ensure repository is public or you have access
491
+
492
+ ### Issue 5: Namespace inconsistencies
493
+
494
+ **Symptom**: Files don't use package namespace
495
+
496
+ **Cause**: Files created manually without namespace prefix
497
+
498
+ **Solution**: Use auto-fix to add namespace prefixes, or rename files manually to include namespace
499
+
500
+ ---
501
+
502
+ ## Security Considerations
503
+
504
+ ### File Access
505
+ - **Reads**: `package.yaml`, all files in `agent/` directory, `README.md`, `.git/config`
506
+ - **Writes**: Only if auto-fix used: `package.yaml`, `README.md`, files being renamed
507
+ - **Executes**: `./agent/scripts/acp.yaml-validate.sh`, `./agent/scripts/acp.package-install.sh` (for test), `git` commands
508
+
509
+ ### Network Access
510
+ - **APIs**: None
511
+ - **Repositories**: Checks remote repository accessibility via `git ls-remote`
512
+
513
+ ### Sensitive Data
514
+ - **Secrets**: Never reads `.env` files or credential files
515
+ - **Credentials**: Does not access credentials (git operations use existing auth)
516
+
517
+ ---
518
+
519
+ ## Notes
520
+
521
+ - This command is designed for package authors, not package users
522
+ - Validation is comprehensive and may take 1-2 minutes for large packages
523
+ - Auto-fix is safe and non-destructive (creates backups)
524
+ - Test installation uses temporary directory (automatically cleaned up)
525
+ - Remote check requires network access
526
+ - LLM validation requires agent context (won't work in pure shell)
527
+ - Run this before every publish to ensure quality
528
+ - Validation score helps track package quality over time
529
+ - Consider running in CI/CD pipeline for automated quality checks
530
+
531
+ ---
532
+
533
+ **Namespace**: acp
534
+ **Command**: package-validate
535
+ **Version**: 1.0.0
536
+ **Created**: 2026-02-21
537
+ **Last Updated**: 2026-02-21
538
+ **Status**: Active
539
+ **Compatibility**: ACP 2.0.0+
540
+ **Author**: ACP Project