@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,895 @@
1
+ # Command: package-create
2
+
3
+ > **🤖 Agent Directive**: If you are reading this file, the command `@acp.package-create` has been invoked. Follow the steps below to execute this command.
4
+ > Pretend this command was entered with this additional context: "Execute directive `@{namespace}-{command-name} 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**: 2.0.0
9
+ **Created**: 2026-02-20
10
+ **Last Updated**: 2026-02-21
11
+ **Status**: Active
12
+ **Scripts**: acp.package-create.sh, acp.common.sh, acp.yaml-parser.sh
13
+
14
+ ---
15
+
16
+ **Purpose**: Create a new ACP package with full ACP installation, release branch configuration, and pre-commit hooks
17
+ **Category**: Creation
18
+ **Frequency**: Once per package
19
+
20
+ ---
21
+
22
+ ## What This Command Does
23
+
24
+ This command creates a complete ACP package from scratch with:
25
+
26
+ 1. **Full ACP Installation** - Runs `acp.install.sh` to install complete ACP structure
27
+ 2. **Package Metadata** - Creates `package.yaml` with package information
28
+ 3. **Release Branch Configuration** - Configures which branch(es) can publish
29
+ 4. **Pre-Commit Hooks** - Installs validation hooks automatically
30
+ 5. **Git Repository** - Initializes git with initial commit
31
+ 6. **Documentation** - Creates README.md, LICENSE, CHANGELOG.md
32
+
33
+ Unlike the old version, this command:
34
+ - ✅ Installs **complete ACP** (all templates, commands, scripts)
35
+ - ✅ Configures **release branch** for publishing
36
+ - ✅ Installs **pre-commit hooks** for validation
37
+ - ❌ Does NOT create example files (use templates instead)
38
+
39
+ Use this command when starting a new ACP package that you plan to share with others.
40
+
41
+ ---
42
+
43
+ ## Auto-Initialization
44
+
45
+ When creating packages in `~/.acp/projects/` for the first time, the system automatically initializes `~/.acp/` infrastructure:
46
+ - Creates `~/.acp/` directory
47
+ - Installs full ACP (templates, scripts, schemas)
48
+ - Creates `~/.acp/projects/` directory
49
+ - Creates `~/.acp/agent/manifest.yaml` for package tracking
50
+
51
+ This happens automatically - no manual setup required.
52
+
53
+ ---
54
+
55
+ ## Prerequisites
56
+
57
+ - [ ] ACP installed in current directory (to access the script)
58
+ - [ ] Git installed on system
59
+ - [ ] Basic understanding of what content you want to package
60
+ - [ ] (Optional) GitHub account for publishing
61
+
62
+ ---
63
+
64
+ ## Steps
65
+
66
+ ### 1. Gather Package Information via Chat
67
+
68
+ **IMPORTANT**: Collect all information from the user via chat BEFORE executing the script.
69
+
70
+ **Actions**:
71
+ 1. Explain what information is needed and why
72
+ 2. Ask user for each piece of information one at a time
73
+ 3. Validate each input before proceeding
74
+ 4. Summarize all collected information
75
+ 5. Ask for confirmation before proceeding
76
+
77
+ **Information to Collect**:
78
+
79
+ **Package Name** (required)
80
+ - Ask: "What would you like to name your package? (lowercase, no spaces, hyphens allowed)"
81
+ - Validation: Must be lowercase, alphanumeric, and hyphens only
82
+ - Examples: "firebase", "mcp-integration", "oauth-2"
83
+ - Note: This becomes the directory name `acp-{name}/`
84
+
85
+ **Description** (required)
86
+ - Ask: "Provide a one-line description of your package:"
87
+ - Validation: Should be clear and concise (< 100 characters recommended)
88
+ - Examples: "Firebase patterns and utilities for ACP projects"
89
+
90
+ **Author Name** (required)
91
+ - Ask: "What is your name (package author)?"
92
+ - Examples: "Patrick Michaelsen", "Your Name"
93
+
94
+ **License** (optional, default: MIT)
95
+ - Ask: "What license would you like to use? (default: MIT)"
96
+ - Common options: MIT, Apache-2.0, GPL-3.0, BSD-3-Clause
97
+ - Default: MIT if not specified
98
+
99
+ **Homepage URL** (optional)
100
+ - Ask: "What is the homepage URL for this package? (optional, press Enter to skip)"
101
+ - Examples: "https://github.com/username/acp-firebase"
102
+ - Note: Can be GitHub repo URL or documentation site
103
+
104
+ **Repository URL** (required)
105
+ - Ask: "What is the git repository URL? (e.g., https://github.com/username/acp-{name}.git)"
106
+ - Validation: Should be a valid git URL
107
+ - Examples: "https://github.com/prmichaelsen/acp-firebase.git"
108
+
109
+ **Tags** (required)
110
+ - Ask: "What tags describe your package? (comma-separated, for discovery)"
111
+ - Validation: At least one tag recommended
112
+ - Examples: "firebase, firestore, database, backend"
113
+ - Note: These help users find your package via `@acp.package-search`
114
+
115
+ **Release Branch** (optional, default: main)
116
+ - Ask: "What branch should be used for publishing? (default: main)"
117
+ - Common options: main, master, mainline, release
118
+ - Default: main if not specified
119
+ - Note: Only commits to this branch can be published
120
+
121
+ **Target Directory** (optional)
122
+ - Ask: "Where would you like to create the package? (default: ~/.acp/projects/{package-name} or $HOME/.acp/projects/{package-name})"
123
+ - Supports: Absolute paths, relative paths, `~` expansion, `$HOME` expansion
124
+ - Examples: "~/.acp/projects/firebase", "~/dev/packages", "$HOME/packages", "/tmp", "."
125
+ - Default: `~/.acp/projects/{package-name}` if not specified (equivalent to `$HOME/.acp/projects/{package-name}`)
126
+ - Note: Package will be created in the specified directory
127
+ - Rationale: `~/.acp/projects/` is for development work, while `~/.acp/packages/` is reserved for installed packages from remote repositories
128
+
129
+ **Expected Outcome**: All metadata collected and validated
130
+
131
+ **Example Chat Interaction**:
132
+ ```
133
+ Agent: Let's create a new ACP package! I'll need to collect some information from you.
134
+
135
+ Agent: What would you like to name your package? (lowercase, no spaces, hyphens allowed)
136
+ Examples: "firebase", "mcp-integration", "oauth-2"
137
+
138
+ User: firebase
139
+
140
+ Agent: Great! "firebase" is a valid package name. ✓
141
+
142
+ Agent: Provide a one-line description of your package:
143
+
144
+ User: Firebase patterns and utilities for ACP projects
145
+
146
+ Agent: Perfect! ✓
147
+
148
+ Agent: What is your name (package author)?
149
+
150
+ User: Patrick Michaelsen
151
+
152
+ Agent: ✓
153
+
154
+ Agent: What license would you like to use? (default: MIT)
155
+
156
+ User: [Enter]
157
+
158
+ Agent: Using MIT license. ✓
159
+
160
+ Agent: What is the homepage URL for this package? (optional, press Enter to skip)
161
+
162
+ User: https://github.com/prmichaelsen/acp-firebase
163
+
164
+ Agent: ✓
165
+
166
+ Agent: What is the git repository URL?
167
+ Example: https://github.com/username/acp-firebase.git
168
+
169
+ User: https://github.com/prmichaelsen/acp-firebase.git
170
+
171
+ Agent: ✓
172
+
173
+ Agent: What tags describe your package? (comma-separated, for discovery)
174
+ These help users find your package via @acp.package-search
175
+
176
+ User: firebase, firestore, database, backend
177
+
178
+ Agent: ✓
179
+
180
+ Agent: What branch should be used for publishing? (default: main)
181
+
182
+ User: [Enter]
183
+
184
+ Agent: Using main branch. ✓
185
+
186
+ Agent: Where would you like to create the package? (default: ~/.acp/projects/firebase or $HOME/.acp/projects/firebase)
187
+
188
+ User: [Enter]
189
+
190
+ Agent: Using ~/.acp/projects/firebase. ✓
191
+
192
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
193
+
194
+ Summary of collected information:
195
+
196
+ Package name: firebase
197
+ Description: Firebase patterns and utilities for ACP projects
198
+ Author: Patrick Michaelsen
199
+ License: MIT
200
+ Homepage: https://github.com/prmichaelsen/acp-firebase
201
+ Repository: https://github.com/prmichaelsen/acp-firebase.git
202
+ Tags: firebase, firestore, database, backend
203
+ Release branch: main
204
+ Target directory: ~/.acp/projects/firebase (or $HOME/.acp/projects/firebase)
205
+
206
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
207
+
208
+ Agent: Does this look correct? (yes/no)
209
+
210
+ User: yes
211
+
212
+ Agent: Excellent! I'll now create your package...
213
+ ```
214
+
215
+ ### 2. Execute Package Creation Script
216
+
217
+ Once all information is collected and confirmed, execute the script with the collected arguments.
218
+
219
+ **Actions**:
220
+ 1. Prepare script execution with collected values
221
+ 2. Execute `./agent/scripts/acp.package-create.sh` with heredoc input
222
+ 3. Monitor script output and report progress
223
+ 4. Verify successful completion
224
+
225
+ **Script Execution**:
226
+
227
+ ```bash
228
+ cd /home/prmichaelsen/agent-context-protocol
229
+
230
+ ./agent/scripts/acp.package-create.sh << 'EOF'
231
+ {package-name}
232
+ {description}
233
+ {author}
234
+ {license}
235
+ {homepage}
236
+ {repository-url}
237
+ {tags}
238
+ {release-branch}
239
+ {target-directory}
240
+ EOF
241
+ ```
242
+
243
+ **Example with collected values**:
244
+ ```bash
245
+ ./agent/scripts/acp.package-create.sh << 'EOF'
246
+ firebase
247
+ Firebase patterns and utilities for ACP projects
248
+ Patrick Michaelsen
249
+ MIT
250
+ https://github.com/prmichaelsen/acp-firebase
251
+ https://github.com/prmichaelsen/acp-firebase.git
252
+ firebase, firestore, database, backend
253
+ main
254
+ .
255
+ EOF
256
+ ```
257
+
258
+ **Path Expansion**:
259
+ - `~` expands to user's home directory
260
+ - `$HOME` expands to home directory
261
+ - Relative paths resolved from current directory
262
+ - Absolute paths used as-is
263
+
264
+ **Expected Outcome**: Script executes successfully and creates complete package structure
265
+
266
+ **Script Output to Display**:
267
+ ```
268
+ 📦 ACP Package Creator
269
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
270
+
271
+ Creating new ACP package: firebase
272
+
273
+ Package name: firebase
274
+ Description: Firebase patterns and utilities for ACP projects
275
+ Author: Patrick Michaelsen
276
+ License: MIT
277
+ Homepage: https://github.com/prmichaelsen/acp-firebase
278
+ Repository: https://github.com/prmichaelsen/acp-firebase.git
279
+ Tags: firebase, firestore, database, backend
280
+ Release branch: main
281
+
282
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
283
+
284
+ Creating Directory Structure
285
+
286
+ ✓ Created directory: acp-firebase/
287
+
288
+ Installing ACP
289
+
290
+ ✓ ACP installed successfully
291
+ ✓ All templates and commands available
292
+
293
+ Creating package.yaml
294
+
295
+ ✓ Created package.yaml
296
+ ✓ Configured release branch: main
297
+
298
+ Creating Documentation
299
+
300
+ ✓ Created README.md
301
+ ✓ Created LICENSE (MIT)
302
+ ✓ Created CHANGELOG.md
303
+ ✓ Created .gitignore
304
+
305
+ Installing Pre-Commit Hook
306
+
307
+ ✓ Installed pre-commit hook
308
+ ✓ Validates package.yaml before commits
309
+
310
+ Initializing Git Repository
311
+
312
+ ✓ Initialized git repository
313
+ ✓ Created initial commit
314
+
315
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
316
+
317
+ 🎉 Package Created Successfully!
318
+
319
+ Your ACP package is ready at: ./acp-firebase/
320
+
321
+ [Next steps displayed...]
322
+ ```
323
+
324
+ **Directory Structure Created**:
325
+ ```
326
+ acp-{package-name}/
327
+ ├── AGENT.md # ACP documentation
328
+ ├── README.md # Package documentation
329
+ ├── LICENSE # License file (MIT)
330
+ ├── CHANGELOG.md # Version history
331
+ ├── package.yaml # Package metadata
332
+ ├── .gitignore # Git exclusions
333
+ └── agent/
334
+ ├── .gitignore # Agent-specific exclusions
335
+ ├── progress.template.yaml # Progress tracking template
336
+ ├── manifest.template.yaml # Manifest template
337
+ ├── design/
338
+ │ ├── .gitkeep
339
+ │ ├── requirements.template.md
340
+ │ └── design.template.md
341
+ ├── milestones/
342
+ │ ├── .gitkeep
343
+ │ └── milestone-1-{title}.template.md
344
+ ├── patterns/
345
+ │ ├── .gitkeep
346
+ │ ├── bootstrap.template.md
347
+ │ └── pattern.template.md
348
+ ├── tasks/
349
+ │ ├── .gitkeep
350
+ │ └── task-1-{title}.template.md
351
+ ├── commands/
352
+ │ ├── command.template.md
353
+ │ ├── acp.init.md
354
+ │ ├── acp.proceed.md
355
+ │ ├── acp.status.md
356
+ │ └── ... (all ACP commands)
357
+ ├── scripts/
358
+ │ ├── acp.common.sh
359
+ │ ├── acp.install.sh
360
+ │ ├── acp.version-update.sh
361
+ │ └── ... (all ACP scripts)
362
+ └── schemas/
363
+ └── package.schema.yaml
364
+ ```
365
+
366
+ ### 3. Display Script Output and Next Steps
367
+
368
+ After script execution completes, display the next steps for the user.
369
+
370
+ **Actions**:
371
+ - Confirm package was created successfully
372
+ - Show package location
373
+ - Provide GitHub publishing instructions
374
+ - Explain how to add content
375
+ - Remind about package.yaml maintenance
376
+
377
+ **Expected Outcome**: User knows exactly what to do next
378
+
379
+ **Instructions Display**:
380
+ ```
381
+ 🎉 Package Created Successfully!
382
+
383
+ Your ACP package is ready at: ./acp-{package-name}/
384
+
385
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
386
+
387
+ 📋 Next Steps:
388
+
389
+ 1. Add your content:
390
+ - Use @acp.pattern-create to create patterns
391
+ - Use @acp.command-create to create commands
392
+ - Use @acp.design-create to create designs
393
+
394
+ These commands automatically:
395
+ - Add namespace prefix to filenames
396
+ - Update package.yaml contents section
397
+ - Update README.md "What's Included" section
398
+
399
+ 2. Validate your package:
400
+ cd acp-{package-name}
401
+ @acp.package-validate
402
+
403
+ This checks:
404
+ - package.yaml structure
405
+ - File existence and namespace consistency
406
+ - Git repository setup
407
+ - README.md structure
408
+
409
+ 3. Create GitHub repository:
410
+ - Go to https://github.com/new
411
+ - Name: acp-{package-name}
412
+ - Description: {description}
413
+ - Create repository (public recommended)
414
+
415
+ 4. Push to GitHub:
416
+ cd acp-{package-name}
417
+ git remote add origin {repository-url}
418
+ git branch -M {release-branch}
419
+ git push -u origin {release-branch}
420
+
421
+ 5. Add GitHub topic for discoverability:
422
+ - Go to repository settings
423
+ - Add topic: "acp-package" (REQUIRED)
424
+ - Add other topics: {tags}
425
+
426
+ 6. Publish your first version:
427
+ cd acp-{package-name}
428
+ @acp.package-publish
429
+
430
+ This will:
431
+ - Validate package
432
+ - Detect version bump from commits
433
+ - Update CHANGELOG.md
434
+ - Create git tag
435
+ - Push to remote
436
+ - Test installation
437
+
438
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
439
+
440
+ 📚 Resources:
441
+
442
+ - Package structure guide: See AGENT.md
443
+ - package.yaml reference: agent/design/acp-package-management-system.md
444
+ - Entity creation: @acp.pattern-create, @acp.command-create, @acp.design-create
445
+ - Validation: @acp.package-validate
446
+ - Publishing: @acp.package-publish
447
+
448
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
449
+
450
+ ✅ Package creation complete!
451
+
452
+ Your package has:
453
+ ✓ Full ACP installation (all templates and commands)
454
+ ✓ Pre-commit hook (validates package.yaml before commits)
455
+ ✓ Release branch configured ({release-branch})
456
+ ✓ Git repository initialized
457
+
458
+ Ready to add content with @acp.pattern-create, @acp.command-create, @acp.design-create
459
+ ```
460
+
461
+ ### 4. Verify Package Creation
462
+
463
+ Check that all files were created correctly.
464
+
465
+ **Actions**:
466
+ - List created files
467
+ - Verify directory structure
468
+ - Check git repository status
469
+ - Confirm package.yaml is valid
470
+ - Verify pre-commit hook installed
471
+
472
+ **Expected Outcome**: Package is ready for content addition
473
+
474
+ **Verification Commands**:
475
+ ```bash
476
+ # List package contents
477
+ ls -la acp-{package-name}/
478
+
479
+ # Check ACP installation
480
+ ls -la acp-{package-name}/agent/
481
+
482
+ # Check git status
483
+ cd acp-{package-name} && git status
484
+
485
+ # Verify package.yaml
486
+ cat acp-{package-name}/package.yaml
487
+
488
+ # Check pre-commit hook
489
+ ls -la acp-{package-name}/.git/hooks/pre-commit
490
+ ```
491
+
492
+ ---
493
+
494
+ ## Verification
495
+
496
+ - [ ] Package directory created with correct name
497
+ - [ ] Full ACP installed (AGENT.md, agent/ directory with all files)
498
+ - [ ] All templates available (design, milestone, pattern, task, command)
499
+ - [ ] All ACP commands available (acp.init.md, acp.proceed.md, etc.)
500
+ - [ ] All ACP scripts available (acp.common.sh, acp.install.sh, etc.)
501
+ - [ ] `package.yaml` created with valid YAML
502
+ - [ ] Release branch configured in package.yaml
503
+ - [ ] README.md created with package information
504
+ - [ ] LICENSE file created
505
+ - [ ] CHANGELOG.md created with initial version
506
+ - [ ] .gitignore created
507
+ - [ ] Pre-commit hook installed and executable
508
+ - [ ] Git repository initialized
509
+ - [ ] Initial commit created
510
+ - [ ] GitHub publishing instructions displayed
511
+ - [ ] User understands next steps
512
+
513
+ ---
514
+
515
+ ## Expected Output
516
+
517
+ ### Files Created
518
+
519
+ ```
520
+ acp-{package-name}/
521
+ ├── AGENT.md # ACP documentation
522
+ ├── README.md # Package documentation
523
+ ├── LICENSE # License file
524
+ ├── CHANGELOG.md # Version history
525
+ ├── package.yaml # Package metadata
526
+ ├── .gitignore # Git exclusions
527
+ ├── .git/
528
+ │ └── hooks/
529
+ │ └── pre-commit # Validation hook
530
+ └── agent/
531
+ ├── .gitignore # Agent-specific exclusions
532
+ ├── progress.template.yaml # Progress tracking template
533
+ ├── manifest.template.yaml # Manifest template
534
+ ├── design/
535
+ │ ├── .gitkeep
536
+ │ ├── requirements.template.md
537
+ │ └── design.template.md
538
+ ├── milestones/
539
+ │ ├── .gitkeep
540
+ │ └── milestone-1-{title}.template.md
541
+ ├── patterns/
542
+ │ ├── .gitkeep
543
+ │ ├── bootstrap.template.md
544
+ │ └── pattern.template.md
545
+ ├── tasks/
546
+ │ ├── .gitkeep
547
+ │ └── task-1-{title}.template.md
548
+ ├── commands/
549
+ │ ├── command.template.md
550
+ │ ├── acp.init.md
551
+ │ ├── acp.proceed.md
552
+ │ └── ... (all ACP commands)
553
+ ├── scripts/
554
+ │ ├── acp.common.sh
555
+ │ ├── acp.install.sh
556
+ │ └── ... (all ACP scripts)
557
+ └── schemas/
558
+ └── package.schema.yaml
559
+ ```
560
+
561
+ ### Console Output
562
+
563
+ ```
564
+ 📦 ACP Package Creator
565
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
566
+
567
+ Creating new ACP package: firebase
568
+
569
+ Package name: firebase
570
+ Description: Firebase patterns and utilities for ACP projects
571
+ Author: Patrick Michaelsen
572
+ License: MIT
573
+ Homepage: https://github.com/prmichaelsen/acp-firebase
574
+ Repository: https://github.com/prmichaelsen/acp-firebase.git
575
+ Tags: firebase, firestore, database, backend
576
+ Release branch: main
577
+
578
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
579
+
580
+ Creating Directory Structure
581
+
582
+ ✓ Created directory: acp-firebase/
583
+
584
+ Installing ACP
585
+
586
+ ✓ Cloning ACP repository...
587
+ ✓ Creating directory structure...
588
+ ✓ Installing ACP files...
589
+ ✓ ACP installed successfully
590
+
591
+ Creating package.yaml
592
+
593
+ ✓ Created package.yaml
594
+ ✓ Configured release branch: main
595
+
596
+ Creating Documentation
597
+
598
+ ✓ Created README.md
599
+ ✓ Created LICENSE (MIT)
600
+ ✓ Created CHANGELOG.md
601
+ ✓ Created .gitignore
602
+
603
+ Installing Pre-Commit Hook
604
+
605
+ ✓ Installed pre-commit hook
606
+ ✓ Validates package.yaml before commits
607
+
608
+ Initializing Git Repository
609
+
610
+ ✓ Initialized git repository
611
+ ✓ Created initial commit
612
+
613
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
614
+
615
+ 🎉 Package Created Successfully!
616
+
617
+ [Next steps displayed as shown in Step 3]
618
+ ```
619
+
620
+ ---
621
+
622
+ ## Examples
623
+
624
+ ### Example 1: Creating Firebase Package
625
+
626
+ **Context**: Want to share Firebase patterns with community
627
+
628
+ **Invocation**: `@acp.package-create`
629
+
630
+ **Interaction**:
631
+ ```
632
+ Package name: firebase
633
+ Description: Firebase patterns and utilities for ACP projects
634
+ Author: Patrick Michaelsen
635
+ License [MIT]:
636
+ Homepage: https://github.com/prmichaelsen/acp-firebase
637
+ Repository: https://github.com/prmichaelsen/acp-firebase.git
638
+ Tags: firebase, firestore, database, backend
639
+ Release branch [main]:
640
+ Target directory [.]:
641
+ ```
642
+
643
+ **Result**: Complete ACP package with full installation, ready to add Firebase patterns
644
+
645
+ ### Example 2: Creating MCP Integration Package
646
+
647
+ **Context**: Want to package MCP server integration patterns
648
+
649
+ **Invocation**: `@acp.package-create`
650
+
651
+ **Interaction**:
652
+ ```
653
+ Package name: mcp-integration
654
+ Description: Model Context Protocol server integration patterns
655
+ Author: Patrick Michaelsen
656
+ License [MIT]: Apache-2.0
657
+ Homepage: https://github.com/prmichaelsen/acp-mcp-integration
658
+ Repository: https://github.com/prmichaelsen/acp-mcp-integration.git
659
+ Tags: mcp, model-context-protocol, integration, server
660
+ Release branch [main]: mainline
661
+ Target directory [.]: ~/projects
662
+ ```
663
+
664
+ **Result**: Package created in ~/projects/acp-mcp-integration/ with Apache-2.0 license and mainline release branch
665
+
666
+ ### Example 3: Creating OAuth Package with Custom Branch
667
+
668
+ **Context**: Want to share OAuth 2.0 implementation patterns, using release branch
669
+
670
+ **Invocation**: `@acp.package-create`
671
+
672
+ **Interaction**:
673
+ ```
674
+ Package name: oauth
675
+ Description: OAuth 2.0 authentication patterns and flows
676
+ Author: Patrick Michaelsen
677
+ License [MIT]: MIT
678
+ Homepage: https://github.com/prmichaelsen/acp-oauth
679
+ Repository: https://github.com/prmichaelsen/acp-oauth.git
680
+ Tags: oauth, authentication, security, auth
681
+ Release branch [main]: release
682
+ Target directory [.]:
683
+ ```
684
+
685
+ **Result**: Package with release branch configured for publishing
686
+
687
+ ---
688
+
689
+ ## Related Commands
690
+
691
+ - [`@acp.pattern-create`](acp.pattern-create.md) - Create patterns in package
692
+ - [`@acp.command-create`](acp.command-create.md) - Create commands in package
693
+ - [`@acp.design-create`](acp.design-create.md) - Create designs in package
694
+ - [`@acp.package-validate`](acp.package-validate.md) - Validate package before publishing
695
+ - [`@acp.package-publish`](acp.package-publish.md) - Publish package to GitHub
696
+ - [`@acp.package-install`](acp.package-install.md) - Install packages (test your package)
697
+ - [`@git.init`](git.init.md) - Initialize git repository
698
+ - [`@git.commit`](git.commit.md) - Version-aware commits
699
+
700
+ ---
701
+
702
+ ## Troubleshooting
703
+
704
+ ### Issue 1: Directory already exists
705
+
706
+ **Symptom**: Error "Directory acp-{name} already exists"
707
+
708
+ **Cause**: Package directory already created
709
+
710
+ **Solution**:
711
+ - Choose a different package name
712
+ - Or remove existing directory: `rm -rf acp-{name}`
713
+ - Or work in existing directory (skip creation steps)
714
+
715
+ ### Issue 2: Git not installed
716
+
717
+ **Symptom**: Error "git: command not found"
718
+
719
+ **Cause**: Git not installed on system
720
+
721
+ **Solution**:
722
+ - Install git: https://git-scm.com/downloads
723
+ - Or skip git initialization (manual setup later)
724
+
725
+ ### Issue 3: Invalid package name
726
+
727
+ **Symptom**: Warning about package name format
728
+
729
+ **Cause**: Package name contains spaces or special characters
730
+
731
+ **Solution**:
732
+ - Use lowercase letters, numbers, and hyphens only
733
+ - No spaces or special characters
734
+ - Examples: "firebase", "mcp-integration", "oauth-2"
735
+
736
+ ### Issue 4: ACP installation failed
737
+
738
+ **Symptom**: Error during ACP installation step
739
+
740
+ **Cause**: Network issues or repository unavailable
741
+
742
+ **Solution**:
743
+ - Check internet connection
744
+ - Verify GitHub is accessible
745
+ - Try again later
746
+ - Or manually install ACP: `curl -fsSL https://raw.githubusercontent.com/prmichaelsen/agent-context-protocol/mainline/agent/scripts/acp.install.sh | bash`
747
+
748
+ ### Issue 5: Pre-commit hook not working
749
+
750
+ **Symptom**: Hook doesn't run or validation fails
751
+
752
+ **Cause**: Hook not executable or validation script missing
753
+
754
+ **Solution**:
755
+ - Make hook executable: `chmod +x .git/hooks/pre-commit`
756
+ - Verify validation script exists: `ls agent/scripts/acp.yaml-validate.sh`
757
+ - Test hook manually: `.git/hooks/pre-commit`
758
+
759
+ ---
760
+
761
+ ## Security Considerations
762
+
763
+ ### File Access
764
+ - **Reads**: None (creates new files)
765
+ - **Writes**: Creates entire package directory structure
766
+ - **Executes**: `acp.install.sh`, `git init`, `git add`, `git commit`
767
+
768
+ ### Network Access
769
+ - **APIs**: None
770
+ - **Repositories**: Clones agent-context-protocol repository for ACP installation
771
+
772
+ ### Sensitive Data
773
+ - **Secrets**: Never include secrets in package files
774
+ - **Credentials**: Never commit credentials to git
775
+ - **Personal Info**: Only include what you want public
776
+
777
+ ---
778
+
779
+ ## Notes
780
+
781
+ - Package name becomes directory name: `acp-{name}/`
782
+ - Package name in `package.yaml` should NOT include "acp-" prefix
783
+ - GitHub repository name should include "acp-" prefix for clarity
784
+ - Always add "acp-package" topic to GitHub repository for discoverability
785
+ - Update `package.yaml` whenever you add/remove files (or use entity creation commands)
786
+ - Follow semantic versioning for package and file versions
787
+ - Test package installation before publishing: `@acp.package-validate`
788
+ - Use `@acp.package-publish` for automated publishing workflow
789
+ - Pre-commit hook validates package.yaml before every commit
790
+ - Release branch configuration prevents accidental publishing from wrong branch
791
+
792
+ ---
793
+
794
+ ## Best Practices
795
+
796
+ ### Package Naming
797
+ - Use descriptive, single-word names when possible
798
+ - Use hyphens for multi-word names (e.g., "mcp-integration")
799
+ - Avoid generic names (e.g., "utils", "helpers")
800
+ - Be specific about what the package provides
801
+
802
+ ### Content Organization
803
+ - **Patterns**: Reusable architectural patterns
804
+ - **Commands**: Workflow automation commands
805
+ - **Designs**: Technical specifications and architecture docs
806
+
807
+ ### Documentation
808
+ - Write clear, concise descriptions
809
+ - Include usage examples in README.md
810
+ - Document dependencies clearly
811
+ - Keep CHANGELOG.md updated
812
+ - Add troubleshooting section for common issues
813
+
814
+ ### Version Management
815
+ - Start at 1.0.0 for initial release
816
+ - Use semantic versioning (MAJOR.MINOR.PATCH)
817
+ - Update CHANGELOG.md with each version
818
+ - Use `@acp.package-publish` for automated versioning
819
+ - Tag releases in git: `git tag v1.0.0`
820
+
821
+ ### GitHub Setup
822
+ - Add "acp-package" topic (required for discovery)
823
+ - Add descriptive topics/tags
824
+ - Write clear repository description
825
+ - Include installation instructions in README
826
+ - Add LICENSE file
827
+ - Consider adding GitHub Actions for validation
828
+
829
+ ### Development Workflow
830
+ 1. Create package with `@acp.package-create`
831
+ 2. Add content with `@acp.pattern-create`, `@acp.command-create`, `@acp.design-create`
832
+ 3. Validate with `@acp.package-validate`
833
+ 4. Commit changes (pre-commit hook validates automatically)
834
+ 5. Publish with `@acp.package-publish`
835
+ 6. Test installation: `@acp.package-install {your-repo-url}`
836
+
837
+ ---
838
+
839
+ ## Changes from v1.0.0
840
+
841
+ ### Breaking Changes
842
+ - **Complete rewrite**: Now installs full ACP instead of minimal structure
843
+ - **No example files**: Use templates from ACP installation instead
844
+ - **Release branch required**: Must configure release branch for publishing
845
+ - **Pre-commit hooks**: Automatically installed (validates package.yaml)
846
+
847
+ ### New Features
848
+ - Full ACP installation with all templates and commands
849
+ - Release branch configuration
850
+ - Pre-commit hook installation
851
+ - Better error handling and validation
852
+ - Clearer next steps and instructions
853
+
854
+ ### Migration Guide
855
+
856
+ If you have packages created with v1.0.0:
857
+
858
+ 1. **Install full ACP**:
859
+ ```bash
860
+ cd your-package
861
+ curl -fsSL https://raw.githubusercontent.com/prmichaelsen/agent-context-protocol/mainline/agent/scripts/acp.install.sh | bash
862
+ ```
863
+
864
+ 2. **Add release branch to package.yaml**:
865
+ ```yaml
866
+ release:
867
+ branch: main # or master, mainline, release
868
+ ```
869
+
870
+ 3. **Install pre-commit hook**:
871
+ ```bash
872
+ # In your package directory
873
+ . agent/scripts/acp.common.sh
874
+ install_precommit_hook
875
+ ```
876
+
877
+ 4. **Remove example files** (if present):
878
+ ```bash
879
+ rm agent/patterns/example-pattern.md
880
+ rm agent/commands/example-command.md
881
+ rm agent/design/example-design.md
882
+ ```
883
+
884
+ 5. **Update package.yaml contents** (remove example files from contents section)
885
+
886
+ ---
887
+
888
+ **Namespace**: acp
889
+ **Command**: package-create
890
+ **Version**: 2.0.0
891
+ **Created**: 2026-02-20
892
+ **Last Updated**: 2026-02-21
893
+ **Status**: Active
894
+ **Compatibility**: ACP 2.8.0+
895
+ **Author**: ACP Project