@prmichaelsen/remember-mcp 2.3.1 → 2.5.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 (34) hide show
  1. package/AGENT.md +20 -2
  2. package/CHANGELOG.md +69 -0
  3. package/README.md +50 -5
  4. package/agent/commands/acp.commit.md +511 -0
  5. package/agent/design/comment-memory-type.md +556 -0
  6. package/agent/design/unified-public-collection.md +545 -0
  7. package/agent/milestones/milestone-11-unified-public-collection.md +205 -0
  8. package/agent/progress.yaml +26 -0
  9. package/agent/scripts/install.sh +25 -1
  10. package/agent/scripts/update.sh +37 -0
  11. package/agent/tasks/task-46-update-spacememory-types.md +94 -0
  12. package/agent/tasks/task-47-update-space-schema.md +102 -0
  13. package/agent/tasks/task-48-create-memory-public-collection.md +96 -0
  14. package/agent/tasks/task-49-update-remember-publish.md +153 -0
  15. package/agent/tasks/task-50-update-remember-confirm.md +111 -0
  16. package/agent/tasks/task-51-update-remember-search-space.md +154 -0
  17. package/agent/tasks/task-52-update-remember-query-space.md +142 -0
  18. package/agent/tasks/task-53-add-multispace-tests.md +193 -0
  19. package/agent/tasks/task-54-update-documentation-multispace.md +191 -0
  20. package/dist/server-factory.js +140 -83
  21. package/dist/server.js +140 -83
  22. package/dist/tools/publish.d.ts +1 -1
  23. package/dist/tools/query-space.d.ts +1 -1
  24. package/dist/tools/search-space.d.ts +1 -1
  25. package/dist/types/space-memory.d.ts +5 -3
  26. package/dist/weaviate/space-schema.d.ts +16 -0
  27. package/package.json +1 -1
  28. package/src/tools/confirm.ts +20 -19
  29. package/src/tools/publish.ts +42 -20
  30. package/src/tools/query-space.ts +38 -24
  31. package/src/tools/search-space.ts +51 -28
  32. package/src/types/space-memory.ts +5 -3
  33. package/src/weaviate/space-schema.spec.ts +55 -0
  34. package/src/weaviate/space-schema.ts +45 -6
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.2.0
4
+ **Version**: 1.3.1
5
5
  **Created**: 2026-02-11
6
6
  **Status**: Production Pattern
7
7
 
@@ -875,7 +875,17 @@ Run ./agent/scripts/uninstall.sh to remove all ACP files (agent/ directory and A
875
875
  - Update percentages
876
876
  - Add recent work notes
877
877
 
878
- 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**
879
889
  - ❌ **DO NOT** read `.env` files, `.env.local`, or any environment files
880
890
  - ❌ **DO NOT** read files containing API keys, tokens, passwords, or credentials
881
891
  - ❌ **DO NOT** include secrets in messages, documentation, or code examples
@@ -886,6 +896,14 @@ Run ./agent/scripts/uninstall.sh to remove all ACP files (agent/ directory and A
886
896
  - ✅ **DO** create `.env.example` files with placeholder values only
887
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.
888
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
+
889
907
  ---
890
908
 
891
909
  ## Best Practices
package/CHANGELOG.md CHANGED
@@ -5,6 +5,75 @@ 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.4.0] - 2026-02-16
9
+
10
+ ### ✨ Added
11
+
12
+ - **Multi-Space Support**: Publish and search across multiple spaces simultaneously
13
+ - `spaces` array parameter in `remember_publish` (replaces `target`)
14
+ - `spaces` array parameter in `remember_search_space` (replaces `space`)
15
+ - `spaces` array parameter in `remember_query_space` (replaces `space`)
16
+ - Single memory can belong to multiple spaces
17
+ - No duplication - one memory, multiple spaces
18
+ - Search multiple spaces in one query
19
+
20
+ - **Unified Public Collection**: `Memory_public` replaces per-space collections
21
+ - All public memories in single collection
22
+ - Efficient storage (N× reduction in documents)
23
+ - Simpler architecture
24
+ - Uses `containsAny` filter for multi-space queries
25
+
26
+ ### 🔧 Changed
27
+
28
+ - **SpaceMemory type**: `space_id: string` → `spaces: string[]`
29
+ - **remember_publish**: `target` parameter → `spaces` array
30
+ - **remember_search_space**: `space` parameter → `spaces` array
31
+ - **remember_query_space**: `space` parameter → `spaces` array
32
+ - **Collection strategy**: Per-space collections → Unified `Memory_public`
33
+ - **Search results**: Include `spaces_searched` or `spaces_queried` in response
34
+
35
+ ### 📚 Documentation
36
+
37
+ - Created Milestone 11: Unified Public Collection
38
+ - Created Tasks 46-54 for implementation
39
+ - Created design document: `agent/design/unified-public-collection.md`
40
+ - Created design document: `agent/design/comment-memory-type.md`
41
+
42
+ ### ⚠️ Deprecation
43
+
44
+ - `ensureSpaceCollection()` deprecated (use `ensurePublicCollection()`)
45
+ - `getSpaceCollectionName()` deprecated (use `PUBLIC_COLLECTION_NAME`)
46
+ - Per-space collections (`Memory_the_void`, etc.) will be removed in v3.0.0
47
+
48
+ ---
49
+
50
+ ## [2.3.3] - 2026-02-16
51
+
52
+ ### 🐛 Fixed
53
+
54
+ - **Critical: remember_publish Weaviate API usage**
55
+ - Fixed incorrect Weaviate v3 API usage (removed double-wrapping of properties)
56
+ - Properties are now inserted directly without extra wrapper
57
+ - Collection routing is explicit via `ensureSpaceCollection()`, not via document fields
58
+ - Memories correctly stored in `Memory_the_void` collection
59
+ - Preserved `user_id` field for attribution tracking (alongside `author_id` and `space_id`)
60
+
61
+ ### 🔧 Changed
62
+
63
+ - Enhanced logging in `executePublishMemory` to track field presence during publish
64
+ - Added verification logging for `user_id`, `author_id`, and `space_id` fields
65
+
66
+ ---
67
+
68
+ ## [2.3.2] - 2026-02-16
69
+
70
+ ### ⚠️ Reverted
71
+
72
+ - **Incorrect fix**: Removed `user_id` field (this was wrong - user_id needed for attribution)
73
+ - This version should not be used - upgrade to 2.3.3
74
+
75
+ ---
76
+
8
77
  ## [2.3.0] - 2026-02-16
9
78
 
10
79
  ### ✨ Added
package/README.md CHANGED
@@ -149,12 +149,41 @@ await wrapped.start();
149
149
  ## Architecture
150
150
 
151
151
  - **Weaviate**: Vector storage for memories, relationships, and shared spaces
152
- - Personal collections: `Memory_{user_id}`
153
- - Shared collections: `Memory_the_void`, `Memory_public_space`
152
+ - Personal collections: `Memory_{user_id}` (per-user isolation)
153
+ - Unified public collection: `Memory_public` (all public spaces)
154
+ - Multi-space support: Memories can belong to multiple spaces via `spaces` array
154
155
  - **Firestore**: Permissions, preferences, confirmation tokens
155
156
  - User data: `users/{user_id}/preferences`, `users/{user_id}/requests`
156
157
  - **Firebase Auth**: User authentication
157
158
 
159
+ ### Multi-Space Architecture (v2.4.0+)
160
+
161
+ **Unified Collection**: All public memories stored in single `Memory_public` collection
162
+
163
+ **Benefits**:
164
+ - ✅ Search multiple spaces in one query
165
+ - ✅ Publish to multiple spaces in one operation
166
+ - ✅ No memory duplication
167
+ - ✅ Efficient storage (N× reduction)
168
+
169
+ **Example**:
170
+ ```typescript
171
+ // One memory, three spaces
172
+ {
173
+ "id": "abc123",
174
+ "spaces": ["the_void", "dogs", "cats"],
175
+ "content": "My dog is adorable!",
176
+ "author_id": "user123"
177
+ }
178
+
179
+ // Search across spaces
180
+ remember_search_space({
181
+ spaces: ["the_void", "dogs"],
182
+ query: "adorable pets"
183
+ })
184
+ // Finds memories published to ANY of the requested spaces
185
+ ```
186
+
158
187
  ## Shared Spaces
159
188
 
160
189
  Publish memories to shared discovery spaces where other users can find them.
@@ -167,19 +196,35 @@ Publish memories to shared discovery spaces where other users can find them.
167
196
 
168
197
  1. **Request Publication**: Generate confirmation token
169
198
  ```typescript
170
- remember_publish({ memory_id: "abc123", target: "the_void" })
199
+ // Publish to single space
200
+ remember_publish({ memory_id: "abc123", spaces: ["the_void"] })
201
+
202
+ // Publish to multiple spaces at once!
203
+ remember_publish({ memory_id: "abc123", spaces: ["the_void", "dogs", "cats"] })
204
+
171
205
  // Returns: { success: true, token: "xyz789" }
172
206
  ```
173
207
 
174
208
  2. **User Confirms**: Execute the publication
175
209
  ```typescript
176
210
  remember_confirm({ token: "xyz789" })
177
- // Returns: { success: true, space_memory_id: "new-id" }
211
+ // Returns: {
212
+ // success: true,
213
+ // space_memory_id: "new-id",
214
+ // spaces: ["the_void", "dogs", "cats"]
215
+ // }
178
216
  ```
179
217
 
180
218
  3. **Discover**: Search shared spaces
181
219
  ```typescript
182
- remember_search_space({ query: "interesting ideas", space: "the_void" })
220
+ // Search single space
221
+ remember_search_space({ query: "interesting ideas", spaces: ["the_void"] })
222
+
223
+ // Search multiple spaces at once!
224
+ remember_search_space({
225
+ query: "cute dog pictures",
226
+ spaces: ["the_void", "dogs"]
227
+ })
183
228
  ```
184
229
 
185
230
  ### Space Tools (5 new)
@@ -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