@prmichaelsen/remember-mcp 2.3.0 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENT.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Agent Context Protocol (ACP)
2
2
 
3
3
  **Also Known As**: The Agent Directory Pattern
4
- **Version**: 1.1.0
4
+ **Version**: 1.3.1
5
5
  **Created**: 2026-02-11
6
6
  **Status**: Production Pattern
7
7
 
@@ -81,6 +81,14 @@ ACP solves these by:
81
81
  project-root/
82
82
  ├── AGENT.md # This file - ACP documentation
83
83
  ├── agent/ # Agent directory (ACP structure)
84
+ │ ├── commands/ # Command system
85
+ │ │ ├── .gitkeep
86
+ │ │ ├── command.template.md # Command template
87
+ │ │ ├── acp.init.md # @acp-init
88
+ │ │ ├── acp.proceed.md # @acp-proceed
89
+ │ │ ├── acp.status.md # @acp-status
90
+ │ │ └── ... # More commands
91
+ │ │
84
92
  │ ├── design/ # Design documents
85
93
  │ │ ├── .gitkeep
86
94
  │ │ ├── requirements.md # Core requirements
@@ -551,6 +559,91 @@ The Agent Pattern represents a **paradigm shift** in how we approach AI-assisted
551
559
 
552
560
  ---
553
561
 
562
+ ## ACP Commands
563
+
564
+ ACP supports a command system for common workflows. Commands are file-based triggers that provide standardized, discoverable interfaces for ACP operations.
565
+
566
+ ### What are ACP Commands?
567
+
568
+ Commands are markdown files in [`agent/commands/`](agent/commands/) that contain step-by-step instructions for AI agents. Instead of typing long prompts like "AGENT.md: Initialize", you can reference command files like `@acp.init` to trigger specific workflows.
569
+
570
+ **Benefits**:
571
+ - **Discoverable**: Browse [`agent/commands/`](agent/commands/) to see all available commands
572
+ - **Consistent**: All commands follow the same structure
573
+ - **Extensible**: Create custom commands for your project
574
+ - **Self-Documenting**: Each command file contains complete documentation
575
+ - **Autocomplete-Friendly**: Type `@acp.` to see all ACP commands
576
+
577
+ ### Core Commands
578
+
579
+ Core ACP commands use the `acp.` prefix and are available in [`agent/commands/`](agent/commands/):
580
+
581
+ - **[`@acp.init`](agent/commands/acp.init.md)** - Initialize agent context (replaces "AGENT.md: Initialize")
582
+ - **[`@acp.proceed`](agent/commands/acp.proceed.md)** - Continue with next task (replaces "AGENT.md: Proceed")
583
+ - **[`@acp.status`](agent/commands/acp.status.md)** - Display project status
584
+ - **[`@acp.version-check`](agent/commands/acp.version-check.md)** - Show current ACP version
585
+ - **[`@acp.version-check-for-updates`](agent/commands/acp.version-check-for-updates.md)** - Check for ACP updates
586
+ - **[`@acp.version-update`](agent/commands/acp.version-update.md)** - Update ACP to latest version
587
+
588
+ ### Command Invocation
589
+
590
+ Commands are invoked using the `@` syntax with dot notation:
591
+
592
+ ```
593
+ @acp.init → agent/commands/acp.init.md
594
+ @acp.proceed → agent/commands/acp.proceed.md
595
+ @acp.status → agent/commands/acp.status.md
596
+ @deploy.production → agent/commands/deploy.production.md
597
+ ```
598
+
599
+ **Format**: `@{namespace}.{action}` resolves to `agent/commands/{namespace}.{action}.md`
600
+
601
+ ### Creating Custom Commands
602
+
603
+ To create custom commands for your project:
604
+
605
+ 1. **Choose a namespace** (e.g., `deploy`, `test`, `custom`)
606
+ - ⚠️ The `acp` namespace is reserved for core commands
607
+ - Use descriptive, single-word namespaces
608
+
609
+ 2. **Copy the command template**:
610
+ ```bash
611
+ cp agent/commands/command.template.md agent/commands/{namespace}.{action}.md
612
+ ```
613
+
614
+ 3. **Fill in the template sections**:
615
+ - Purpose and description
616
+ - Prerequisites
617
+ - Step-by-step instructions
618
+ - Verification checklist
619
+ - Examples and troubleshooting
620
+
621
+ 4. **Invoke your command**: `@{namespace}.{action}`
622
+
623
+ **Example**: Creating a deployment command:
624
+ ```bash
625
+ # Create the command file
626
+ cp agent/commands/command.template.md agent/commands/deploy.production.md
627
+
628
+ # Edit the file with your deployment steps
629
+ # ...
630
+
631
+ # Invoke it
632
+ @deploy.production
633
+ ```
634
+
635
+ ### Command Template
636
+
637
+ See [`agent/commands/command.template.md`](agent/commands/command.template.md) for the complete command template with all sections and examples.
638
+
639
+ ### Installing Third-Party Commands
640
+
641
+ Use `@acp.install` to install command packages from git repositories (available in future release).
642
+
643
+ **Security Note**: Third-party commands can instruct agents to modify files and execute scripts. Always review command files before installation.
644
+
645
+ ---
646
+
554
647
  ## Sample Prompts for Using ACP
555
648
 
556
649
  ### Initialize Prompt
@@ -782,7 +875,17 @@ Run ./agent/scripts/uninstall.sh to remove all ACP files (agent/ directory and A
782
875
  - Update percentages
783
876
  - Add recent work notes
784
877
 
785
- 7. **NEVER handle secrets or sensitive data**
878
+ 7. **CRITICAL: Always update CHANGELOG.md for version changes**
879
+ - ❌ **DO NOT** commit version changes without updating CHANGELOG.md
880
+ - ❌ **DO NOT** forget to update version numbers in all project files
881
+ - ✅ **DO** use [`@acp.commit`](agent/commands/acp.commit.md) for version-aware commits
882
+ - ✅ **DO** detect version impact: major (breaking), minor (features), patch (fixes)
883
+ - ✅ **DO** update CHANGELOG.md with clear, user-focused descriptions
884
+ - ✅ **DO** update all version files (package.json, AGENT.md, etc.)
885
+ - ✅ **DO** use Conventional Commits format for commit messages
886
+ - **Rationale**: CHANGELOG.md is the primary communication tool for users. Every version change must be documented with clear descriptions of what changed, why it changed, and how it affects users. Forgetting to update CHANGELOG.md breaks the project's version history and makes it impossible for users to understand what changed between versions.
887
+
888
+ 8. **NEVER handle secrets or sensitive data**
786
889
  - ❌ **DO NOT** read `.env` files, `.env.local`, or any environment files
787
890
  - ❌ **DO NOT** read files containing API keys, tokens, passwords, or credentials
788
891
  - ❌ **DO NOT** include secrets in messages, documentation, or code examples
@@ -793,6 +896,14 @@ Run ./agent/scripts/uninstall.sh to remove all ACP files (agent/ directory and A
793
896
  - ✅ **DO** create `.env.example` files with placeholder values only
794
897
  - **Rationale**: Secrets must never be exposed in chat logs, documentation, or version control. Agents should treat all credential files as off-limits to prevent accidental exposure.
795
898
 
899
+ 9. **CRITICAL: Respect user's intentional file edits**
900
+ - ❌ **DO NOT** assume missing content needs to be added back
901
+ - ❌ **DO NOT** revert changes without confirming with user
902
+ - ✅ **DO** read files before editing to see current state
903
+ - ✅ **DO** ask user if unexpected changes were intentional
904
+ - ✅ **DO** confirm before reverting user's manual edits
905
+ - **Rationale**: If you read a file and it is missing contents or has changed contents (i.e., it does not contain what you expect), assume or confirm with the user if they made intentional updates that you should not revert. Do not assume "The file is missing <xyz>, I need to add it back". The user may have edited files manually with intention.
906
+
796
907
  ---
797
908
 
798
909
  ## Best Practices
@@ -882,7 +993,7 @@ This repository is actively maintained with improvements to the ACP methodology
882
993
  ./agent/scripts/update.sh
883
994
 
884
995
  # Or download and run directly
885
- curl -fsSL https://raw.githubusercontent.com/prmichaelsen/agent-context-protocol/mainlin./agent/scripts/update.sh | bash
996
+ curl -fsSL https://raw.githubusercontent.com/prmichaelsen/agent-context-protocol/mainline/agent/scripts/update.sh | bash
886
997
  ```
887
998
 
888
999
  The update script will:
package/CHANGELOG.md CHANGED
@@ -5,6 +5,33 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.3.3] - 2026-02-16
9
+
10
+ ### 🐛 Fixed
11
+
12
+ - **Critical: remember_publish Weaviate API usage**
13
+ - Fixed incorrect Weaviate v3 API usage (removed double-wrapping of properties)
14
+ - Properties are now inserted directly without extra wrapper
15
+ - Collection routing is explicit via `ensureSpaceCollection()`, not via document fields
16
+ - Memories correctly stored in `Memory_the_void` collection
17
+ - Preserved `user_id` field for attribution tracking (alongside `author_id` and `space_id`)
18
+
19
+ ### 🔧 Changed
20
+
21
+ - Enhanced logging in `executePublishMemory` to track field presence during publish
22
+ - Added verification logging for `user_id`, `author_id`, and `space_id` fields
23
+
24
+ ---
25
+
26
+ ## [2.3.2] - 2026-02-16
27
+
28
+ ### ⚠️ Reverted
29
+
30
+ - **Incorrect fix**: Removed `user_id` field (this was wrong - user_id needed for attribution)
31
+ - This version should not be used - upgrade to 2.3.3
32
+
33
+ ---
34
+
8
35
  ## [2.3.0] - 2026-02-16
9
36
 
10
37
  ### ✨ Added
@@ -0,0 +1,511 @@
1
+ # Command: commit
2
+
3
+ > **🤖 Agent Directive**: If you are reading this file, the command `@acp-commit` has been invoked. Follow the steps below to execute this command.
4
+
5
+ **Namespace**: acp
6
+ **Version**: 1.0.0
7
+ **Created**: 2026-02-16
8
+ **Last Updated**: 2026-02-16
9
+ **Status**: Active
10
+
11
+ ---
12
+
13
+ **Purpose**: Automate version detection, changelog updates, and git commits with proper semantic versioning
14
+ **Category**: Version Control
15
+ **Frequency**: As Needed
16
+
17
+ ---
18
+
19
+ ## Overview
20
+
21
+ 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.
22
+
23
+ **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.
24
+
25
+ ## When to Use
26
+
27
+ - After completing a feature, fix, or breaking change
28
+ - When you want to commit changes with proper version management
29
+ - To ensure CHANGELOG.md stays synchronized with code changes
30
+ - To maintain consistent commit message formatting
31
+ - When you have unstaged changes that need intelligent staging
32
+
33
+ ## Prerequisites
34
+
35
+ - [ ] Working directory has changes (staged or unstaged)
36
+ - [ ] Understanding of semantic versioning (major.minor.patch)
37
+ - [ ] Project uses version identifiers (package.json, AGENT.md, etc.)
38
+ - [ ] Git repository initialized
39
+
40
+ ---
41
+
42
+ ## Steps
43
+
44
+ ### 1. Analyze Changes for Version Impact
45
+
46
+ Review the staged/unstaged changes and determine:
47
+
48
+ **Major Version (X.0.0)** - Breaking changes:
49
+ - API changes that break backward compatibility
50
+ - Removal of features or functionality
51
+ - Major architectural changes
52
+ - Changes that require users to modify their code
53
+
54
+ **Minor Version (0.X.0)** - New features:
55
+ - New features added (backward compatible)
56
+ - New commands, tools, or capabilities
57
+ - Significant enhancements to existing features
58
+ - New optional parameters or configuration
59
+
60
+ **Patch Version (0.0.X)** - Bug fixes:
61
+ - Bug fixes
62
+ - Documentation updates
63
+ - Performance improvements
64
+ - Refactoring without behavior changes
65
+ - Minor tweaks and adjustments
66
+
67
+ **No Version Change** - Non-versioned changes:
68
+ - Work in progress
69
+ - Experimental changes
70
+ - Internal development changes
71
+ - Changes that don't affect users
72
+
73
+ ### 2. Detect Version Files
74
+
75
+ Search for version identifiers in the project:
76
+
77
+ ```bash
78
+ # Common version files to check:
79
+ - package.json (Node.js projects)
80
+ - pyproject.toml or setup.py (Python projects)
81
+ - Cargo.toml (Rust projects)
82
+ - pom.xml (Java/Maven projects)
83
+ - build.gradle (Java/Gradle projects)
84
+ - AGENT.md (ACP version)
85
+ - version.txt or VERSION file
86
+ - Any project-specific version files
87
+ ```
88
+
89
+ **Action**: List all files containing version numbers that need updating.
90
+
91
+ ### 3. Calculate New Version
92
+
93
+ Based on the current version and change type:
94
+
95
+ ```
96
+ Current: 1.2.3
97
+
98
+ Major bump: 2.0.0
99
+ Minor bump: 1.3.0
100
+ Patch bump: 1.2.4
101
+ ```
102
+
103
+ **Action**: Determine the new version number.
104
+
105
+ ### 4. Update Version Files
106
+
107
+ Update all version identifiers found in step 2:
108
+
109
+ **Example for package.json**:
110
+ ```json
111
+ {
112
+ "version": "1.3.0"
113
+ }
114
+ ```
115
+
116
+ **Example for AGENT.md**:
117
+ ```markdown
118
+ **Version**: 1.3.0
119
+ ```
120
+
121
+ **Action**: Update all version files with the new version number.
122
+
123
+ ### 5. Update CHANGELOG.md
124
+
125
+ Add a new entry at the top of CHANGELOG.md following Keep a Changelog format:
126
+
127
+ ```markdown
128
+ ## [1.3.0] - YYYY-MM-DD
129
+
130
+ ### Added
131
+ - New features added in this version
132
+
133
+ ### Changed
134
+ - Changes to existing functionality
135
+
136
+ ### Deprecated
137
+ - Features marked for removal
138
+
139
+ ### Removed
140
+ - Features removed in this version
141
+
142
+ ### Fixed
143
+ - Bug fixes
144
+
145
+ ### Security
146
+ - Security fixes
147
+ ```
148
+
149
+ **Guidelines**:
150
+ - Use present tense ("Add feature" not "Added feature")
151
+ - Be specific and clear
152
+ - Group related changes
153
+ - Link to issues/PRs if applicable
154
+ - Include breaking changes prominently for major versions
155
+
156
+ **Action**: Create a new CHANGELOG.md entry with all changes in this commit.
157
+
158
+ ### 6. Generate Commit Message
159
+
160
+ Use Conventional Commits format:
161
+
162
+ ```
163
+ <type>(<scope>): <subject>
164
+
165
+ <body>
166
+
167
+ <footer>
168
+ ```
169
+
170
+ **Types**:
171
+ - `feat`: New feature (minor version bump)
172
+ - `fix`: Bug fix (patch version bump)
173
+ - `docs`: Documentation only
174
+ - `style`: Code style changes (formatting, etc.)
175
+ - `refactor`: Code refactoring
176
+ - `perf`: Performance improvements
177
+ - `test`: Adding or updating tests
178
+ - `chore`: Maintenance tasks
179
+ - `agent`: Changes to agent/ directory only (designs, tasks, milestones, patterns)
180
+ - `version`: Version bump only (no code changes, just version number updates)
181
+
182
+ **Breaking Changes**:
183
+ - Add `BREAKING CHANGE:` in the commit message footer for major version bumps
184
+ - Use `feat!:` or `fix!:` syntax to indicate breaking changes
185
+
186
+ **Template for Version Changes**:
187
+ ```
188
+ <type>(<scope>): <short description>
189
+
190
+ <detailed description of changes>
191
+
192
+ Changes:
193
+ - Change 1
194
+ - Change 2
195
+ - Change 3
196
+
197
+ Completed:
198
+ - Task: agent/tasks/task-N-name.md
199
+ - Milestone: M1 (if milestone completed)
200
+
201
+ Tests:
202
+ - X tests passing
203
+ - Y% code coverage
204
+
205
+ Documentation:
206
+ - Design: <link to design doc or external resource>
207
+ - API Docs: <link to generated docs>
208
+ - Related: <link to related documentation>
209
+
210
+ BREAKING CHANGE: <description if major version>
211
+ Closes #<issue-number>
212
+ Related: <PR-link or issue-link>
213
+ Version: X.Y.Z
214
+ ```
215
+
216
+ **Example**:
217
+ ```
218
+ feat(commands): add @acp.commit command for intelligent version management
219
+
220
+ Implemented automated version detection and changelog management:
221
+ - Detects version impact (major/minor/patch)
222
+ - Updates all version files automatically
223
+ - Generates CHANGELOG.md entries
224
+ - Creates properly formatted commit messages
225
+
226
+ Changes:
227
+ - Added agent/commands/acp.commit.md
228
+ - Updated AGENT.md with changelog emphasis
229
+ - Enhanced version management workflow
230
+
231
+ Completed:
232
+ - Task: agent/tasks/task-1-commands-infrastructure.md
233
+ - Milestone: M1 (ACP Commands) - 75% complete
234
+
235
+ Tests:
236
+ - All existing tests passing
237
+ - No new tests required (documentation only)
238
+
239
+ Version: 1.3.0
240
+ ```
241
+
242
+ **Action**: Generate a commit message following this template.
243
+
244
+ ### 7. Intelligently Stage Changes
245
+
246
+ Analyze the working directory and stage relevant files:
247
+
248
+ **Actions**:
249
+ - Review `git status` to see all changes
250
+ - Stage version files that were updated (AGENT.md, package.json, etc.)
251
+ - Stage CHANGELOG.md
252
+ - Stage source files that are part of this commit
253
+ - Optionally exclude unrelated changes (use `git add <specific-files>` instead of `git add -A`)
254
+
255
+ **Decision Logic**:
256
+ - If all changes are related to this commit: `git add -A`
257
+ - If some changes are unrelated: `git add <file1> <file2> ...` (specific files only)
258
+ - Always include: version files, CHANGELOG.md, and files related to the feature/fix
259
+
260
+ **Example**:
261
+ ```bash
262
+ # If all changes are related:
263
+ git add -A
264
+
265
+ # If only specific files should be committed:
266
+ git add AGENT.md CHANGELOG.md agent/commands/acp.commit.md
267
+ ```
268
+
269
+ **Action**: Intelligently stage files based on what's relevant to this commit.
270
+
271
+ ### 8. Create Commit
272
+
273
+ ```bash
274
+ git commit -m "<generated commit message>"
275
+ ```
276
+
277
+ **Action**: Commit with the generated message.
278
+
279
+ ### 9. Display Summary
280
+
281
+ Show what was done:
282
+
283
+ ```
284
+ ✓ Version bumped: 1.2.3 → 1.3.0 (minor)
285
+ ✓ Updated version files:
286
+ - AGENT.md
287
+ - package.json
288
+ ✓ Updated CHANGELOG.md
289
+ ✓ Created commit: feat: add new feature
290
+ ✓ Ready to push
291
+
292
+ Next steps:
293
+ git push
294
+ ```
295
+
296
+ ---
297
+
298
+ ## Verification Checklist
299
+
300
+ After running this command, verify:
301
+
302
+ - [ ] Version number is correct in all files
303
+ - [ ] CHANGELOG.md has a new entry with today's date
304
+ - [ ] CHANGELOG.md entry accurately describes changes
305
+ - [ ] Commit message follows Conventional Commits format
306
+ - [ ] All changes are staged and committed
307
+ - [ ] Version bump type is appropriate (major/minor/patch)
308
+ - [ ] Breaking changes are clearly documented (if major version)
309
+
310
+ ---
311
+
312
+ ## Examples
313
+
314
+ ### Example 1: New Feature (Minor Version)
315
+
316
+ **Context**: Added `@acp.commit` command
317
+
318
+ **Detection**:
319
+ - New command file created
320
+ - New functionality added
321
+ - Backward compatible
322
+ - **Decision**: Minor version bump (1.2.3 → 1.3.0)
323
+
324
+ **CHANGELOG.md Entry**:
325
+ ```markdown
326
+ ## [1.3.0] - 2026-02-16
327
+
328
+ ### Added
329
+ - `@acp.commit` command for intelligent version management
330
+ - Automated version detection and changelog updates
331
+ - Conventional Commits format support
332
+ ```
333
+
334
+ **Commit Message**:
335
+ ```
336
+ feat: add @acp.commit command for intelligent version management
337
+
338
+ Implemented automated version detection and changelog management.
339
+
340
+ Version: 1.3.0
341
+ ```
342
+
343
+ ### Example 2: Bug Fix (Patch Version)
344
+
345
+ **Context**: Fixed syntax error in update.sh
346
+
347
+ **Detection**:
348
+ - Bug fix only
349
+ - No new features
350
+ - Backward compatible
351
+ - **Decision**: Patch version bump (1.2.3 → 1.2.4)
352
+
353
+ **CHANGELOG.md Entry**:
354
+ ```markdown
355
+ ## [1.2.4] - 2026-02-16
356
+
357
+ ### Fixed
358
+ - Syntax error in update.sh script
359
+ - Script now runs without errors
360
+ ```
361
+
362
+ **Commit Message**:
363
+ ```
364
+ fix: resolve syntax error in update.sh script
365
+
366
+ Fixed bash syntax error that prevented update script from running.
367
+
368
+ Version: 1.2.4
369
+ ```
370
+
371
+ ### Example 3: Breaking Change (Major Version)
372
+
373
+ **Context**: Changed command syntax from `AGENT.md: Initialize` to `@acp.init`
374
+
375
+ **Detection**:
376
+ - Breaking change to user interface
377
+ - Old syntax no longer works
378
+ - Requires user action
379
+ - **Decision**: Major version bump (1.2.3 → 2.0.0)
380
+
381
+ **CHANGELOG.md Entry**:
382
+ ```markdown
383
+ ## [2.0.0] - 2026-02-16
384
+
385
+ ### Changed
386
+ - **BREAKING**: Command syntax changed from `AGENT.md: Initialize` to `@acp.init`
387
+ - All commands now use `@acp.*` format
388
+ - Old prompt format no longer supported
389
+
390
+ ### Migration Guide
391
+ - Replace `AGENT.md: Initialize` with `@acp.init`
392
+ - Replace `AGENT.md: Proceed` with `@acp.proceed`
393
+ ```
394
+
395
+ **Commit Message**:
396
+ ```
397
+ feat!: change command syntax to @acp.* format
398
+
399
+ BREAKING CHANGE: Command syntax has changed from "AGENT.md: Initialize"
400
+ to "@acp.init" format. All commands now use the @acp.* namespace.
401
+
402
+ Migration:
403
+ - AGENT.md: Initialize → @acp.init
404
+ - AGENT.md: Proceed → @acp.proceed
405
+
406
+ Version: 2.0.0
407
+ ```
408
+
409
+ ### Example 4: No Version Change
410
+
411
+ **Context**: Work in progress, experimental changes
412
+
413
+ **Detection**:
414
+ - Incomplete feature
415
+ - Not ready for release
416
+ - Internal development
417
+ - **Decision**: No version bump
418
+
419
+ **Commit Message**:
420
+ ```
421
+ chore: work in progress on new feature
422
+
423
+ Experimental implementation, not ready for release.
424
+ ```
425
+
426
+ ---
427
+
428
+ ## Decision Tree
429
+
430
+ ```
431
+ Is this a breaking change?
432
+ ├─ Yes → Major version bump (X.0.0)
433
+ └─ No
434
+ ├─ Is this a new feature?
435
+ │ ├─ Yes → Minor version bump (0.X.0)
436
+ │ └─ No
437
+ │ ├─ Is this a bug fix or improvement?
438
+ │ │ ├─ Yes → Patch version bump (0.0.X)
439
+ │ │ └─ No → No version bump
440
+ ```
441
+
442
+ ---
443
+
444
+ ## Best Practices
445
+
446
+ 1. **Be Honest About Breaking Changes**
447
+ - If it breaks existing functionality, it's a major version
448
+ - Document migration paths clearly
449
+
450
+ 2. **Group Related Changes**
451
+ - Commit related changes together
452
+ - Don't mix features and fixes in one commit
453
+
454
+ 3. **Write Clear CHANGELOG Entries**
455
+ - Focus on user impact, not implementation
456
+ - Include examples for complex changes
457
+ - Link to documentation
458
+
459
+ 4. **Use Conventional Commits**
460
+ - Makes changelog generation easier
461
+ - Enables automated tooling
462
+ - Improves git history readability
463
+
464
+ 5. **Update All Version Files**
465
+ - Don't forget any version identifiers
466
+ - Keep versions synchronized
467
+ - Verify after updating
468
+
469
+ 6. **Review Before Committing**
470
+ - Check CHANGELOG.md accuracy
471
+ - Verify version bump is appropriate
472
+ - Ensure commit message is clear
473
+
474
+ ---
475
+
476
+ ## Troubleshooting
477
+
478
+ **Problem**: Not sure if change is major or minor
479
+ - **Solution**: If in doubt, use minor. Major should only be for clear breaking changes.
480
+
481
+ **Problem**: Multiple unrelated changes staged
482
+ - **Solution**: Unstage and commit separately, or group logically in CHANGELOG.
483
+
484
+ **Problem**: Forgot to update a version file
485
+ - **Solution**: Amend the commit: `git commit --amend`, update files, stage, and amend again.
486
+
487
+ **Problem**: CHANGELOG.md entry is unclear
488
+ - **Solution**: Rewrite focusing on user impact, not technical details.
489
+
490
+ ---
491
+
492
+ ## Related Commands
493
+
494
+ - [`@acp.version-check`](acp.version-check.md) - Check current version
495
+ - [`@acp.version-update`](acp.version-update.md) - Update ACP itself
496
+ - [`@acp.status`](acp.status.md) - Check project status before committing
497
+
498
+ ---
499
+
500
+ ## Notes
501
+
502
+ - This command is for project commits, not ACP updates
503
+ - Always review generated changelog entries
504
+ - Version bumps should be deliberate and meaningful
505
+ - Keep CHANGELOG.md user-focused, not developer-focused
506
+ - Use semantic versioning consistently
507
+
508
+ ---
509
+
510
+ **Status**: Production Ready
511
+ **Last Updated**: 2026-02-16