@prmichaelsen/acp-mcp 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 (94) hide show
  1. package/.env.example +5 -0
  2. package/AGENT.md +1279 -0
  3. package/README.md +78 -0
  4. package/agent/commands/acp.command-create.md +372 -0
  5. package/agent/commands/acp.design-create.md +224 -0
  6. package/agent/commands/acp.init.md +410 -0
  7. package/agent/commands/acp.package-create.md +894 -0
  8. package/agent/commands/acp.package-info.md +211 -0
  9. package/agent/commands/acp.package-install.md +461 -0
  10. package/agent/commands/acp.package-list.md +279 -0
  11. package/agent/commands/acp.package-publish.md +540 -0
  12. package/agent/commands/acp.package-remove.md +292 -0
  13. package/agent/commands/acp.package-search.md +306 -0
  14. package/agent/commands/acp.package-update.md +310 -0
  15. package/agent/commands/acp.package-validate.md +535 -0
  16. package/agent/commands/acp.pattern-create.md +326 -0
  17. package/agent/commands/acp.plan.md +552 -0
  18. package/agent/commands/acp.proceed.md +336 -0
  19. package/agent/commands/acp.project-create.md +672 -0
  20. package/agent/commands/acp.report.md +394 -0
  21. package/agent/commands/acp.resume.md +237 -0
  22. package/agent/commands/acp.status.md +280 -0
  23. package/agent/commands/acp.sync.md +363 -0
  24. package/agent/commands/acp.task-create.md +390 -0
  25. package/agent/commands/acp.update.md +301 -0
  26. package/agent/commands/acp.validate.md +436 -0
  27. package/agent/commands/acp.version-check-for-updates.md +275 -0
  28. package/agent/commands/acp.version-check.md +190 -0
  29. package/agent/commands/acp.version-update.md +288 -0
  30. package/agent/commands/command.template.md +316 -0
  31. package/agent/commands/git.commit.md +513 -0
  32. package/agent/commands/git.init.md +513 -0
  33. package/agent/commands/mcp-server-starter.add-tool.md +677 -0
  34. package/agent/commands/mcp-server-starter.init.md +894 -0
  35. package/agent/design/.gitkeep +0 -0
  36. package/agent/design/design.template.md +136 -0
  37. package/agent/design/remember-mcp-analysis.md +987 -0
  38. package/agent/design/requirements.template.md +387 -0
  39. package/agent/manifest.template.yaml +13 -0
  40. package/agent/manifest.yaml +109 -0
  41. package/agent/milestones/.gitkeep +0 -0
  42. package/agent/milestones/milestone-1-{title}.template.md +206 -0
  43. package/agent/package.template.yaml +36 -0
  44. package/agent/patterns/.gitkeep +0 -0
  45. package/agent/patterns/bootstrap.template.md +1237 -0
  46. package/agent/patterns/mcp-server-starter.bootstrap.md +597 -0
  47. package/agent/patterns/mcp-server-starter.build-config.md +554 -0
  48. package/agent/patterns/mcp-server-starter.config-management.md +525 -0
  49. package/agent/patterns/mcp-server-starter.server-factory.md +616 -0
  50. package/agent/patterns/mcp-server-starter.server-standalone.md +642 -0
  51. package/agent/patterns/mcp-server-starter.test-config.md +558 -0
  52. package/agent/patterns/mcp-server-starter.tool-creation.md +653 -0
  53. package/agent/patterns/pattern.template.md +364 -0
  54. package/agent/progress.template.yaml +161 -0
  55. package/agent/progress.yaml +33 -0
  56. package/agent/schemas/package.schema.yaml +161 -0
  57. package/agent/scripts/acp.common.sh +1362 -0
  58. package/agent/scripts/acp.install.sh +213 -0
  59. package/agent/scripts/acp.package-create.sh +925 -0
  60. package/agent/scripts/acp.package-info.sh +270 -0
  61. package/agent/scripts/acp.package-install.sh +550 -0
  62. package/agent/scripts/acp.package-list.sh +263 -0
  63. package/agent/scripts/acp.package-publish.sh +420 -0
  64. package/agent/scripts/acp.package-remove.sh +272 -0
  65. package/agent/scripts/acp.package-search.sh +156 -0
  66. package/agent/scripts/acp.package-update.sh +356 -0
  67. package/agent/scripts/acp.package-validate.sh +766 -0
  68. package/agent/scripts/acp.uninstall.sh +85 -0
  69. package/agent/scripts/acp.version-check-for-updates.sh +98 -0
  70. package/agent/scripts/acp.version-check.sh +47 -0
  71. package/agent/scripts/acp.version-update.sh +158 -0
  72. package/agent/scripts/acp.yaml-parser.sh +736 -0
  73. package/agent/scripts/acp.yaml-validate.sh +205 -0
  74. package/agent/tasks/.gitkeep +0 -0
  75. package/agent/tasks/task-1-{title}.template.md +225 -0
  76. package/dist/config.d.ts +4 -0
  77. package/dist/server-factory.d.ts +9 -0
  78. package/dist/server-factory.js +99 -0
  79. package/dist/server-factory.js.map +7 -0
  80. package/dist/server.d.ts +2 -0
  81. package/dist/server.js +106 -0
  82. package/dist/server.js.map +7 -0
  83. package/dist/tools/acp-remote-list-files.d.ts +15 -0
  84. package/dist/types/ssh-config.d.ts +16 -0
  85. package/esbuild.build.js +34 -0
  86. package/esbuild.watch.js +31 -0
  87. package/jest.config.js +31 -0
  88. package/package.json +54 -0
  89. package/src/config.ts +16 -0
  90. package/src/server-factory.ts +43 -0
  91. package/src/server.ts +46 -0
  92. package/src/tools/acp-remote-list-files.ts +89 -0
  93. package/src/types/ssh-config.ts +17 -0
  94. package/tsconfig.json +22 -0
@@ -0,0 +1,513 @@
1
+ # Command: commit
2
+
3
+ > **🤖 Agent Directive**: If you are reading this file, the command `@git.commit` 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**: git
8
+ **Version**: 1.0.0
9
+ **Created**: 2026-02-16
10
+ **Last Updated**: 2026-02-16
11
+ **Status**: Active
12
+
13
+ ---
14
+
15
+ **Purpose**: Automate version detection, changelog updates, and git commits with proper semantic versioning
16
+ **Category**: Version Control
17
+ **Frequency**: As Needed
18
+
19
+ ---
20
+
21
+ ## Overview
22
+
23
+ This command intelligently detects if changes represent a version change, determines the appropriate version bump (major/minor/patch), updates version identifiers across the project, updates CHANGELOG.md, intelligently stages relevant files, and creates a properly formatted git commit.
24
+
25
+ **Key Feature**: This command automatically determines which files to stage based on the changes detected. You don't need to manually run `git add` - the command analyzes your working directory and stages the appropriate files for the commit.
26
+
27
+ ## When to Use
28
+
29
+ - After completing a feature, fix, or breaking change
30
+ - When you want to commit changes with proper version management
31
+ - To ensure CHANGELOG.md stays synchronized with code changes
32
+ - To maintain consistent commit message formatting
33
+ - When you have unstaged changes that need intelligent staging
34
+
35
+ ## Prerequisites
36
+
37
+ - [ ] Working directory has changes (staged or unstaged)
38
+ - [ ] Understanding of semantic versioning (major.minor.patch)
39
+ - [ ] Project uses version identifiers (package.json, AGENT.md, etc.)
40
+ - [ ] Git repository initialized
41
+
42
+ ---
43
+
44
+ ## Steps
45
+
46
+ ### 1. Analyze Changes for Version Impact
47
+
48
+ Review the staged/unstaged changes and determine:
49
+
50
+ **Major Version (X.0.0)** - Breaking changes:
51
+ - API changes that break backward compatibility
52
+ - Removal of features or functionality
53
+ - Major architectural changes
54
+ - Changes that require users to modify their code
55
+
56
+ **Minor Version (0.X.0)** - New features:
57
+ - New features added (backward compatible)
58
+ - New commands, tools, or capabilities
59
+ - Significant enhancements to existing features
60
+ - New optional parameters or configuration
61
+
62
+ **Patch Version (0.0.X)** - Bug fixes:
63
+ - Bug fixes
64
+ - Documentation updates
65
+ - Performance improvements
66
+ - Refactoring without behavior changes
67
+ - Minor tweaks and adjustments
68
+
69
+ **No Version Change** - Non-versioned changes:
70
+ - Work in progress
71
+ - Experimental changes
72
+ - Internal development changes
73
+ - Changes that don't affect users
74
+
75
+ ### 2. Detect Version Files
76
+
77
+ Search for version identifiers in the project:
78
+
79
+ ```bash
80
+ # Common version files to check:
81
+ - package.json (Node.js projects)
82
+ - pyproject.toml or setup.py (Python projects)
83
+ - Cargo.toml (Rust projects)
84
+ - pom.xml (Java/Maven projects)
85
+ - build.gradle (Java/Gradle projects)
86
+ - AGENT.md (ACP version)
87
+ - version.txt or VERSION file
88
+ - Any project-specific version files
89
+ ```
90
+
91
+ **Action**: List all files containing version numbers that need updating.
92
+
93
+ ### 3. Calculate New Version
94
+
95
+ Based on the current version and change type:
96
+
97
+ ```
98
+ Current: 1.2.3
99
+
100
+ Major bump: 2.0.0
101
+ Minor bump: 1.3.0
102
+ Patch bump: 1.2.4
103
+ ```
104
+
105
+ **Action**: Determine the new version number.
106
+
107
+ ### 4. Update Version Files
108
+
109
+ Update all version identifiers found in step 2:
110
+
111
+ **Example for package.json**:
112
+ ```json
113
+ {
114
+ "version": "1.3.0"
115
+ }
116
+ ```
117
+
118
+ **Example for AGENT.md**:
119
+ ```markdown
120
+ **Version**: 1.3.0
121
+ ```
122
+
123
+ **Action**: Update all version files with the new version number.
124
+
125
+ ### 5. Update CHANGELOG.md
126
+
127
+ Add a new entry at the top of CHANGELOG.md following Keep a Changelog format:
128
+
129
+ ```markdown
130
+ ## [1.3.0] - YYYY-MM-DD
131
+
132
+ ### Added
133
+ - New features added in this version
134
+
135
+ ### Changed
136
+ - Changes to existing functionality
137
+
138
+ ### Deprecated
139
+ - Features marked for removal
140
+
141
+ ### Removed
142
+ - Features removed in this version
143
+
144
+ ### Fixed
145
+ - Bug fixes
146
+
147
+ ### Security
148
+ - Security fixes
149
+ ```
150
+
151
+ **Guidelines**:
152
+ - Use present tense ("Add feature" not "Added feature")
153
+ - Be specific and clear
154
+ - Group related changes
155
+ - Link to issues/PRs if applicable
156
+ - Include breaking changes prominently for major versions
157
+
158
+ **Action**: Create a new CHANGELOG.md entry with all changes in this commit.
159
+
160
+ ### 6. Generate Commit Message
161
+
162
+ Use Conventional Commits format:
163
+
164
+ ```
165
+ <type>(<scope>): <subject>
166
+
167
+ <body>
168
+
169
+ <footer>
170
+ ```
171
+
172
+ **Types**:
173
+ - `feat`: New feature (minor version bump)
174
+ - `fix`: Bug fix (patch version bump)
175
+ - `docs`: Documentation only
176
+ - `style`: Code style changes (formatting, etc.)
177
+ - `refactor`: Code refactoring
178
+ - `perf`: Performance improvements
179
+ - `test`: Adding or updating tests
180
+ - `chore`: Maintenance tasks
181
+ - `agent`: Changes to agent/ directory only (designs, tasks, milestones, patterns)
182
+ - `version`: Version bump only (no code changes, just version number updates)
183
+
184
+ **Breaking Changes**:
185
+ - Add `BREAKING CHANGE:` in the commit message footer for major version bumps
186
+ - Use `feat!:` or `fix!:` syntax to indicate breaking changes
187
+
188
+ **Template for Version Changes**:
189
+ ```
190
+ <type>(<scope>): <short description>
191
+
192
+ <detailed description of changes>
193
+
194
+ Changes:
195
+ - Change 1
196
+ - Change 2
197
+ - Change 3
198
+
199
+ Completed:
200
+ - Task: agent/tasks/task-N-name.md
201
+ - Milestone: M1 (if milestone completed)
202
+
203
+ Tests:
204
+ - X tests passing
205
+ - Y% code coverage
206
+
207
+ Documentation:
208
+ - Design: <link to design doc or external resource>
209
+ - API Docs: <link to generated docs>
210
+ - Related: <link to related documentation>
211
+
212
+ BREAKING CHANGE: <description if major version>
213
+ Closes #<issue-number>
214
+ Related: <PR-link or issue-link>
215
+ Version: X.Y.Z
216
+ ```
217
+
218
+ **Example**:
219
+ ```
220
+ feat(commands): add @git.commit command for intelligent version management
221
+
222
+ Implemented automated version detection and changelog management:
223
+ - Detects version impact (major/minor/patch)
224
+ - Updates all version files automatically
225
+ - Generates CHANGELOG.md entries
226
+ - Creates properly formatted commit messages
227
+
228
+ Changes:
229
+ - Added agent/commands/git.commit.md
230
+ - Updated AGENT.md with changelog emphasis
231
+ - Enhanced version management workflow
232
+
233
+ Completed:
234
+ - Task: agent/tasks/task-1-commands-infrastructure.md
235
+ - Milestone: M1 (ACP Commands) - 75% complete
236
+
237
+ Tests:
238
+ - All existing tests passing
239
+ - No new tests required (documentation only)
240
+
241
+ Version: 1.3.0
242
+ ```
243
+
244
+ **Action**: Generate a commit message following this template.
245
+
246
+ ### 7. Intelligently Stage Changes
247
+
248
+ Analyze the working directory and stage relevant files:
249
+
250
+ **Actions**:
251
+ - Review `git status` to see all changes
252
+ - Stage version files that were updated (AGENT.md, package.json, etc.)
253
+ - Stage CHANGELOG.md
254
+ - Stage source files that are part of this commit
255
+ - Optionally exclude unrelated changes (use `git add <specific-files>` instead of `git add -A`)
256
+
257
+ **Decision Logic**:
258
+ - If all changes are related to this commit: `git add -A`
259
+ - If some changes are unrelated: `git add <file1> <file2> ...` (specific files only)
260
+ - Always include: version files, CHANGELOG.md, and files related to the feature/fix
261
+
262
+ **Example**:
263
+ ```bash
264
+ # If all changes are related:
265
+ git add -A
266
+
267
+ # If only specific files should be committed:
268
+ git add AGENT.md CHANGELOG.md agent/commands/git.commit.md
269
+ ```
270
+
271
+ **Action**: Intelligently stage files based on what's relevant to this commit.
272
+
273
+ ### 8. Create Commit
274
+
275
+ ```bash
276
+ git commit -m "<generated commit message>"
277
+ ```
278
+
279
+ **Action**: Commit with the generated message.
280
+
281
+ ### 9. Display Summary
282
+
283
+ Show what was done:
284
+
285
+ ```
286
+ ✓ Version bumped: 1.2.3 → 1.3.0 (minor)
287
+ ✓ Updated version files:
288
+ - AGENT.md
289
+ - package.json
290
+ ✓ Updated CHANGELOG.md
291
+ ✓ Created commit: feat: add new feature
292
+ ✓ Ready to push
293
+
294
+ Next steps:
295
+ git push
296
+ ```
297
+
298
+ ---
299
+
300
+ ## Verification Checklist
301
+
302
+ After running this command, verify:
303
+
304
+ - [ ] Version number is correct in all files
305
+ - [ ] CHANGELOG.md has a new entry with today's date
306
+ - [ ] CHANGELOG.md entry accurately describes changes
307
+ - [ ] Commit message follows Conventional Commits format
308
+ - [ ] All changes are staged and committed
309
+ - [ ] Version bump type is appropriate (major/minor/patch)
310
+ - [ ] Breaking changes are clearly documented (if major version)
311
+
312
+ ---
313
+
314
+ ## Examples
315
+
316
+ ### Example 1: New Feature (Minor Version)
317
+
318
+ **Context**: Added `@git.commit` command
319
+
320
+ **Detection**:
321
+ - New command file created
322
+ - New functionality added
323
+ - Backward compatible
324
+ - **Decision**: Minor version bump (1.2.3 → 1.3.0)
325
+
326
+ **CHANGELOG.md Entry**:
327
+ ```markdown
328
+ ## [1.3.0] - 2026-02-16
329
+
330
+ ### Added
331
+ - `@git.commit` command for intelligent version management
332
+ - Automated version detection and changelog updates
333
+ - Conventional Commits format support
334
+ ```
335
+
336
+ **Commit Message**:
337
+ ```
338
+ feat: add @git.commit command for intelligent version management
339
+
340
+ Implemented automated version detection and changelog management.
341
+
342
+ Version: 1.3.0
343
+ ```
344
+
345
+ ### Example 2: Bug Fix (Patch Version)
346
+
347
+ **Context**: Fixed syntax error in acp.version-update.sh
348
+
349
+ **Detection**:
350
+ - Bug fix only
351
+ - No new features
352
+ - Backward compatible
353
+ - **Decision**: Patch version bump (1.2.3 → 1.2.4)
354
+
355
+ **CHANGELOG.md Entry**:
356
+ ```markdown
357
+ ## [1.2.4] - 2026-02-16
358
+
359
+ ### Fixed
360
+ - Syntax error in acp.version-update.sh script
361
+ - Script now runs without errors
362
+ ```
363
+
364
+ **Commit Message**:
365
+ ```
366
+ fix: resolve syntax error in acp.version-update.sh script
367
+
368
+ Fixed bash syntax error that prevented update script from running.
369
+
370
+ Version: 1.2.4
371
+ ```
372
+
373
+ ### Example 3: Breaking Change (Major Version)
374
+
375
+ **Context**: Changed command syntax from `AGENT.md: Initialize` to `@acp.init`
376
+
377
+ **Detection**:
378
+ - Breaking change to user interface
379
+ - Old syntax no longer works
380
+ - Requires user action
381
+ - **Decision**: Major version bump (1.2.3 → 2.0.0)
382
+
383
+ **CHANGELOG.md Entry**:
384
+ ```markdown
385
+ ## [2.0.0] - 2026-02-16
386
+
387
+ ### Changed
388
+ - **BREAKING**: Command syntax changed from `AGENT.md: Initialize` to `@acp.init`
389
+ - All commands now use `@acp.*` format
390
+ - Old prompt format no longer supported
391
+
392
+ ### Migration Guide
393
+ - Replace `AGENT.md: Initialize` with `@acp.init`
394
+ - Replace `AGENT.md: Proceed` with `@acp.proceed`
395
+ ```
396
+
397
+ **Commit Message**:
398
+ ```
399
+ feat!: change command syntax to @acp.* format
400
+
401
+ BREAKING CHANGE: Command syntax has changed from "AGENT.md: Initialize"
402
+ to "@acp.init" format. All commands now use the @acp.* namespace.
403
+
404
+ Migration:
405
+ - AGENT.md: Initialize → @acp.init
406
+ - AGENT.md: Proceed → @acp.proceed
407
+
408
+ Version: 2.0.0
409
+ ```
410
+
411
+ ### Example 4: No Version Change
412
+
413
+ **Context**: Work in progress, experimental changes
414
+
415
+ **Detection**:
416
+ - Incomplete feature
417
+ - Not ready for release
418
+ - Internal development
419
+ - **Decision**: No version bump
420
+
421
+ **Commit Message**:
422
+ ```
423
+ chore: work in progress on new feature
424
+
425
+ Experimental implementation, not ready for release.
426
+ ```
427
+
428
+ ---
429
+
430
+ ## Decision Tree
431
+
432
+ ```
433
+ Is this a breaking change?
434
+ ├─ Yes → Major version bump (X.0.0)
435
+ └─ No
436
+ ├─ Is this a new feature?
437
+ │ ├─ Yes → Minor version bump (0.X.0)
438
+ │ └─ No
439
+ │ ├─ Is this a bug fix or improvement?
440
+ │ │ ├─ Yes → Patch version bump (0.0.X)
441
+ │ │ └─ No → No version bump
442
+ ```
443
+
444
+ ---
445
+
446
+ ## Best Practices
447
+
448
+ 1. **Be Honest About Breaking Changes**
449
+ - If it breaks existing functionality, it's a major version
450
+ - Document migration paths clearly
451
+
452
+ 2. **Group Related Changes**
453
+ - Commit related changes together
454
+ - Don't mix features and fixes in one commit
455
+
456
+ 3. **Write Clear CHANGELOG Entries**
457
+ - Focus on user impact, not implementation
458
+ - Include examples for complex changes
459
+ - Link to documentation
460
+
461
+ 4. **Use Conventional Commits**
462
+ - Makes changelog generation easier
463
+ - Enables automated tooling
464
+ - Improves git history readability
465
+
466
+ 5. **Update All Version Files**
467
+ - Don't forget any version identifiers
468
+ - Keep versions synchronized
469
+ - Verify after updating
470
+
471
+ 6. **Review Before Committing**
472
+ - Check CHANGELOG.md accuracy
473
+ - Verify version bump is appropriate
474
+ - Ensure commit message is clear
475
+
476
+ ---
477
+
478
+ ## Troubleshooting
479
+
480
+ **Problem**: Not sure if change is major or minor
481
+ - **Solution**: If in doubt, use minor. Major should only be for clear breaking changes.
482
+
483
+ **Problem**: Multiple unrelated changes staged
484
+ - **Solution**: Unstage and commit separately, or group logically in CHANGELOG.
485
+
486
+ **Problem**: Forgot to update a version file
487
+ - **Solution**: Amend the commit: `git commit --amend`, update files, stage, and amend again.
488
+
489
+ **Problem**: CHANGELOG.md entry is unclear
490
+ - **Solution**: Rewrite focusing on user impact, not technical details.
491
+
492
+ ---
493
+
494
+ ## Related Commands
495
+
496
+ - [`@acp.version-check`](acp.version-check.md) - Check current version
497
+ - [`@acp.version-update`](acp.version-update.md) - Update ACP itself
498
+ - [`@acp.status`](acp.status.md) - Check project status before committing
499
+
500
+ ---
501
+
502
+ ## Notes
503
+
504
+ - This command is for project commits, not ACP updates
505
+ - Always review generated changelog entries
506
+ - Version bumps should be deliberate and meaningful
507
+ - Keep CHANGELOG.md user-focused, not developer-focused
508
+ - Use semantic versioning consistently
509
+
510
+ ---
511
+
512
+ **Status**: Production Ready
513
+ **Last Updated**: 2026-02-16