@prmichaelsen/remember-mcp 2.7.11 → 2.8.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 (76) hide show
  1. package/.env.example +6 -0
  2. package/AGENT.md +224 -21
  3. package/CHANGELOG.md +47 -937
  4. package/README.md +35 -0
  5. package/agent/commands/acp.command-create.md +373 -0
  6. package/agent/commands/acp.design-create.md +225 -0
  7. package/agent/commands/acp.init.md +40 -5
  8. package/agent/commands/acp.package-create.md +895 -0
  9. package/agent/commands/acp.package-info.md +212 -0
  10. package/agent/commands/acp.package-install.md +207 -33
  11. package/agent/commands/acp.package-list.md +280 -0
  12. package/agent/commands/acp.package-publish.md +541 -0
  13. package/agent/commands/acp.package-remove.md +293 -0
  14. package/agent/commands/acp.package-search.md +307 -0
  15. package/agent/commands/acp.package-update.md +361 -0
  16. package/agent/commands/acp.package-validate.md +540 -0
  17. package/agent/commands/acp.pattern-create.md +327 -0
  18. package/agent/commands/acp.plan.md +553 -0
  19. package/agent/commands/acp.proceed.md +112 -86
  20. package/agent/commands/acp.project-create.md +673 -0
  21. package/agent/commands/acp.project-list.md +225 -0
  22. package/agent/commands/acp.project-set.md +227 -0
  23. package/agent/commands/acp.report.md +3 -0
  24. package/agent/commands/acp.resume.md +238 -0
  25. package/agent/commands/acp.status.md +1 -0
  26. package/agent/commands/acp.sync.md +56 -15
  27. package/agent/commands/acp.task-create.md +391 -0
  28. package/agent/commands/acp.update.md +1 -0
  29. package/agent/commands/acp.validate.md +62 -10
  30. package/agent/commands/acp.version-check-for-updates.md +6 -5
  31. package/agent/commands/acp.version-check.md +7 -6
  32. package/agent/commands/acp.version-update.md +7 -6
  33. package/agent/commands/command.template.md +48 -0
  34. package/agent/commands/git.commit.md +6 -3
  35. package/agent/commands/git.init.md +1 -0
  36. package/agent/manifest.template.yaml +13 -0
  37. package/agent/package.template.yaml +53 -0
  38. package/agent/progress.template.yaml +3 -0
  39. package/agent/progress.yaml +103 -5
  40. package/agent/scripts/acp.common.sh +1536 -0
  41. package/agent/scripts/acp.install.sh +293 -0
  42. package/agent/scripts/acp.package-create.sh +925 -0
  43. package/agent/scripts/acp.package-info.sh +270 -0
  44. package/agent/scripts/acp.package-install.sh +675 -0
  45. package/agent/scripts/acp.package-list.sh +263 -0
  46. package/agent/scripts/acp.package-publish.sh +420 -0
  47. package/agent/scripts/acp.package-remove.sh +272 -0
  48. package/agent/scripts/acp.package-search.sh +156 -0
  49. package/agent/scripts/acp.package-update.sh +438 -0
  50. package/agent/scripts/acp.package-validate.sh +954 -0
  51. package/agent/scripts/acp.project-list.sh +121 -0
  52. package/agent/scripts/acp.project-set.sh +138 -0
  53. package/agent/scripts/{uninstall.sh → acp.uninstall.sh} +25 -15
  54. package/agent/scripts/{check-for-updates.sh → acp.version-check-for-updates.sh} +24 -14
  55. package/agent/scripts/{version.sh → acp.version-check.sh} +20 -8
  56. package/agent/scripts/{update.sh → acp.version-update.sh} +44 -25
  57. package/agent/scripts/acp.yaml-parser.sh +853 -0
  58. package/agent/scripts/acp.yaml-validate.sh +205 -0
  59. package/agent/tasks/task-68-fix-missing-space-properties.md +192 -0
  60. package/agent/tasks/task-69-add-comprehensive-tool-debugging.md +454 -0
  61. package/dist/config.d.ts +18 -0
  62. package/dist/server-factory.js +276 -19
  63. package/dist/server.js +276 -19
  64. package/dist/utils/debug.d.ts +52 -0
  65. package/dist/utils/debug.spec.d.ts +5 -0
  66. package/dist/weaviate/client.d.ts +1 -1
  67. package/package.json +1 -1
  68. package/src/config.ts +33 -0
  69. package/src/tools/confirm.ts +48 -7
  70. package/src/tools/publish.ts +19 -1
  71. package/src/tools/query-space.ts +36 -3
  72. package/src/tools/search-space.ts +36 -3
  73. package/src/utils/debug.spec.ts +257 -0
  74. package/src/utils/debug.ts +138 -0
  75. package/src/weaviate/client.ts +42 -3
  76. package/agent/scripts/install.sh +0 -157
package/.env.example CHANGED
@@ -63,3 +63,9 @@ ENVIRONMENT=e0
63
63
 
64
64
  # MCP Configuration
65
65
  MCP_TRANSPORT=sse
66
+
67
+ # Debug Configuration (optional)
68
+ # Controls debug logging verbosity for tool execution
69
+ # Values: NONE (default), ERROR, WARN, INFO, DEBUG, TRACE
70
+ # TRACE includes full parameter dumps (use with caution in production)
71
+ REMEMBER_MCP_DEBUG_LEVEL=NONE
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.4.2
4
+ **Version**: 3.14.0
5
5
  **Created**: 2026-02-11
6
6
  **Status**: Production Pattern
7
7
 
@@ -296,6 +296,7 @@ tasks:
296
296
  status: not_started | in_progress | completed
297
297
  file: agent/tasks/task-1-name.md
298
298
  estimated_hours: N
299
+ actual_hours: null
299
300
  completed_date: YYYY-MM-DD | null
300
301
  notes: |
301
302
  Task notes
@@ -642,6 +643,158 @@ Use `@acp.install` to install command packages from git repositories (available
642
643
 
643
644
  **Security Note**: Third-party commands can instruct agents to modify files and execute scripts. Always review command files before installation.
644
645
 
646
+ ## Global Package Discovery
647
+
648
+ ACP supports global package installation to `~/.acp/agent/` for package development and global command libraries.
649
+
650
+ ### For Agents: How to Discover Global Packages
651
+
652
+ When working in any project, you can discover globally installed packages:
653
+
654
+ 1. **Check if global manifest exists**: `~/.acp/agent/manifest.yaml`
655
+ 2. **Read global manifest**: Contains all globally installed packages
656
+ 3. **Navigate to package files**: Files are installed directly into `~/.acp/agent/`
657
+ 4. **Use commands/patterns**: Reference via `@namespace.command` syntax
658
+
659
+ **Automatic Discovery**: The [`@acp.init`](agent/commands/acp.init.md) command automatically reads `~/.acp/agent/manifest.yaml` and reports globally installed packages.
660
+
661
+ ### Namespace Precedence Rules
662
+
663
+ **CRITICAL**: Local packages always take precedence over global packages.
664
+
665
+ **Resolution order**:
666
+ 1. Check local: `./agent/commands/{namespace}.{command}.md`
667
+ 2. If not found, check global: `~/.acp/agent/commands/{namespace}.{command}.md`
668
+ 3. Use first match found
669
+
670
+ **Example**: If both local and global packages define `@firebase.deploy`:
671
+ - ✅ Use `./agent/commands/firebase.deploy.md` (local takes precedence)
672
+ - ❌ Ignore `~/.acp/agent/commands/firebase.deploy.md`
673
+
674
+ ### Global ACP Structure
675
+
676
+ ```
677
+ ~/.acp/
678
+ ├── AGENT.md # ACP methodology documentation
679
+ ├── agent/ # Full ACP installation
680
+ │ ├── commands/ # All commands (core + packages)
681
+ │ │ ├── acp.init.md # Core ACP commands
682
+ │ │ ├── firebase.deploy.md # From @user/acp-firebase package
683
+ │ │ └── git.commit.md # From @user/acp-git package
684
+ │ ├── patterns/ # All patterns (core + packages)
685
+ │ ├── design/ # All designs (core + packages)
686
+ │ ├── scripts/ # All scripts (core + packages)
687
+ │ └── manifest.yaml # Tracks package sources
688
+ └── projects/ # Optional: User projects workspace
689
+ └── my-project/ # Develop projects here
690
+ ```
691
+
692
+ ### When to Use Global Packages
693
+
694
+ **Use global installation** (`--global` flag) for:
695
+ - ✅ Package development (work on packages with full ACP tooling)
696
+ - ✅ Common utilities used across many projects (git helpers, firebase patterns)
697
+ - ✅ Building a personal command library
698
+ - ✅ Experimenting with packages before local installation
699
+
700
+ **Use local installation** (default) for:
701
+ - ✅ Project-specific packages
702
+ - ✅ Packages that are part of project dependencies
703
+ - ✅ When you want version control over package versions
704
+ - ✅ Production projects (local is more explicit and controlled)
705
+
706
+ ### Example: Using Global Packages
707
+
708
+ ```bash
709
+ # Install git helpers globally
710
+ @acp.package-install --global https://github.com/prmichaelsen/acp-git.git
711
+
712
+ # In any project, discover global packages
713
+ @acp.init
714
+ # Output: "Found 2 global packages: acp-core, @prmichaelsen/acp-git"
715
+
716
+ # Use global command
717
+ @git.commit
718
+ # Agent reads: ~/.acp/agent/commands/git.commit.md
719
+ ```
720
+
721
+ ---
722
+
723
+ ## Experimental Features
724
+
725
+ ACP supports marking features as "experimental" to enable safe innovation without affecting stable installations.
726
+
727
+ ### What are Experimental Features?
728
+
729
+ Experimental features are:
730
+ - Bleeding-edge features that may change frequently
731
+ - Features under active development
732
+ - Features that may have breaking changes
733
+ - Features requiring explicit opt-in
734
+
735
+ ### Marking Features as Experimental
736
+
737
+ **In package.yaml**:
738
+ ```yaml
739
+ contents:
740
+ commands:
741
+ - name: stable-command.md
742
+ description: A stable command
743
+
744
+ - name: experimental-command.md
745
+ description: An experimental command
746
+ experimental: true # ← Mark as experimental
747
+ ```
748
+
749
+ **In file metadata**:
750
+ ```markdown
751
+ # Command: experimental-command
752
+
753
+ **Namespace**: mypackage
754
+ **Version**: 0.1.0
755
+ **Status**: Experimental # ← Mark as experimental
756
+ ```
757
+
758
+ ### Installing Experimental Features
759
+
760
+ ```bash
761
+ # Install only stable features (default)
762
+ @acp.package-install --repo https://github.com/user/package.git
763
+
764
+ # Install all features including experimental
765
+ @acp.package-install --repo https://github.com/user/package.git --experimental
766
+ ```
767
+
768
+ ### Updating Experimental Features
769
+
770
+ Once installed, experimental features update normally:
771
+ ```bash
772
+ @acp.package-update package-name # Updates experimental features if already installed
773
+ ```
774
+
775
+ ### Graduating Features
776
+
777
+ To graduate a feature from experimental to stable:
778
+ 1. Remove `experimental: true` from package.yaml
779
+ 2. Change `**Status**: Experimental` to `**Status**: Active` in file
780
+ 3. Bump version to 1.0.0 (semantic versioning)
781
+ 4. Update CHANGELOG.md noting the graduation
782
+
783
+ ### Validation
784
+
785
+ Validation ensures consistency:
786
+ ```bash
787
+ @acp.package-validate # Checks experimental marking is synchronized
788
+ ```
789
+
790
+ ### Best Practices
791
+
792
+ 1. **Use sparingly** - Only mark truly experimental features
793
+ 2. **Document risks** - Explain what might change in file documentation
794
+ 3. **Graduate promptly** - Move to stable once proven
795
+ 4. **Version appropriately** - Use 0.x.x versions for experimental
796
+ 5. **Communicate clearly** - Note experimental status in README.md
797
+
645
798
  ---
646
799
 
647
800
  ## Sample Prompts for Using ACP
@@ -653,7 +806,7 @@ Use `@acp.install` to install command packages from git repositories (available
653
806
  Use this prompt when starting work on an ACP-structured project:
654
807
 
655
808
  ```markdown
656
- First, check for ACP updates by running ./agent/scripts/check-for-updates.sh (if it exists). If updates are available, report what changed and ask if I want to update.
809
+ First, check for ACP updates by running ./agent/scripts/acp.version-check-for-updates.sh (if it exists). If updates are available, report what changed and ask if I want to update.
657
810
 
658
811
  Then read ALL files in @agent. We are going to understand this project then work on a generic task.
659
812
 
@@ -691,7 +844,7 @@ Let's proceed with implementing the current or next task. Remember to update @ag
691
844
  Updates all ACP files to the latest version:
692
845
 
693
846
  ```markdown
694
- Run ./agent/scripts/update.sh to update all ACP files (AGENT.md, templates, and scripts) to the latest version.
847
+ Run ./agent/scripts/acp.version-update.sh to update all ACP files (AGENT.md, templates, and scripts) to the latest version.
695
848
  ```
696
849
 
697
850
  **Purpose**:
@@ -707,7 +860,7 @@ Run ./agent/scripts/update.sh to update all ACP files (AGENT.md, templates, and
707
860
  Checks if updates are available without applying them:
708
861
 
709
862
  ```markdown
710
- Run ./agent/scripts/check-for-updates.sh to see if ACP updates are available.
863
+ Run ./agent/scripts/acp.version-check-for-updates.sh to see if ACP updates are available.
711
864
  ```
712
865
 
713
866
  **Purpose**:
@@ -722,12 +875,12 @@ Run ./agent/scripts/check-for-updates.sh to see if ACP updates are available.
722
875
  Removes all ACP files from the project:
723
876
 
724
877
  ```markdown
725
- Run ./agent/scripts/uninstall.sh to remove all ACP files (agent/ directory and AGENT.md) from this project.
878
+ Run ./agent/scripts/unacp.install.sh to remove all ACP files (agent/ directory and AGENT.md) from this project.
726
879
  ```
727
880
 
728
881
  **Note**: This script requires user confirmation. If the user confirms they want to uninstall, run:
729
882
  ```bash
730
- ./agent/scripts/uninstall.sh -y
883
+ ./agent/scripts/unacp.install.sh -y
731
884
  ```
732
885
 
733
886
  **Purpose**:
@@ -746,22 +899,34 @@ Run ./agent/scripts/uninstall.sh to remove all ACP files (agent/ directory and A
746
899
  - What milestone is current
747
900
  - What task is next
748
901
 
749
- 2. **Read requirements.md**
902
+ 2. **Check for installed packages**
903
+ - Read `agent/manifest.yaml` to see what packages are installed locally
904
+ - Check `~/.acp/agent/manifest.yaml` for globally installed packages
905
+ - Understand what commands, patterns, and designs are available
906
+ - Note package versions and sources
907
+
908
+ 3. **Check project registry** (if in global workspace)
909
+ - Read `~/.acp/projects.yaml` to see all projects in global workspace
910
+ - Check `current_project` field to see which project is active
911
+ - Understand project relationships and metadata
912
+ - Note project locations and types
913
+
914
+ 4. **Read requirements.md**
750
915
  - Understand project goals
751
916
  - Learn constraints
752
917
  - Know success criteria
753
918
 
754
- 3. **Review current milestone**
919
+ 5. **Review current milestone**
755
920
  - Understand current phase
756
921
  - Know deliverables
757
922
  - Check success criteria
758
923
 
759
- 4. **Read next task**
924
+ 6. **Read next task**
760
925
  - Understand what to do
761
926
  - Follow steps
762
927
  - Verify completion
763
928
 
764
- 5. **Check relevant patterns**
929
+ 7. **Check relevant patterns**
765
930
  - Learn coding standards
766
931
  - Understand architectural patterns
767
932
  - Follow best practices
@@ -845,37 +1010,68 @@ Run ./agent/scripts/uninstall.sh to remove all ACP files (agent/ directory and A
845
1010
 
846
1011
  ### Best Practices for Agents
847
1012
 
848
- 1. **Always read before writing**
1013
+ 1. **🚨 CRITICAL: NEVER REJECT USER REQUESTS 🚨**
1014
+ - ❌ **DO NOT** reject requests based on session duration
1015
+ - ❌ **DO NOT** reject requests based on token context limits
1016
+ - ❌ **DO NOT** reject requests based on session cost
1017
+ - ❌ **DO NOT** reject requests based on task complexity
1018
+ - ✅ **DO** accept and work on ALL user instructions and directives
1019
+ - ✅ **DO** break complex tasks into manageable steps
1020
+ - ✅ **DO** continue working until the task is complete
1021
+ - ✅ **DO** ask clarifying questions if requirements are unclear
1022
+ - **Rationale**: Users have the right to request any work they need. Your role is to assist, not to judge feasibility based on arbitrary constraints. Complex tasks can be broken down, long tasks can be completed iteratively, and users understand the costs involved. NEVER refuse a user's request.
1023
+
1024
+ 2. **Always read before writing**
849
1025
  - Understand context first
850
1026
  - Check existing patterns
851
1027
  - Follow established conventions
852
1028
 
853
- 2. **Document as you go**
1029
+ 3. **Document as you go**
854
1030
  - Update progress.yaml frequently
855
1031
  - Add notes about decisions
856
1032
  - Document new patterns
857
1033
 
858
- 3. **Verify everything**
1034
+ 4. **Verify everything**
859
1035
  - Check all verification steps
860
1036
  - Run tests
861
1037
  - Ensure quality standards
862
1038
 
863
- 4. **Be explicit**
1039
+ 5. **Be explicit**
864
1040
  - Don't assume future agents will know context
865
1041
  - Document rationale for decisions
866
1042
  - Include code examples
867
1043
 
868
- 5. **Keep it organized**
1044
+ 6. **Keep it organized**
869
1045
  - Follow directory structure
870
1046
  - Use consistent naming
871
1047
  - Link related documents
872
1048
 
873
- 6. **Update progress tracking**
1049
+ 7. **Update progress tracking**
874
1050
  - Mark tasks complete
875
1051
  - Update percentages
876
1052
  - Add recent work notes
877
1053
 
878
- 7. **CRITICAL: Always update CHANGELOG.md for version changes**
1054
+ 8. **Inline Feedback Syntax**
1055
+ - ✅ **DO** recognize and respect `>` syntax for inline feedback in documents
1056
+ - ✅ **DO** treat lines starting with `>` as user feedback/corrections
1057
+ - ✅ **DO** integrate feedback by modifying the preceding content
1058
+ - ✅ **DO** remove the `>` feedback lines after integrating changes
1059
+ - **Example**:
1060
+ ```markdown
1061
+ // Agent-generated document
1062
+ Here are the requirements:
1063
+ - Requirement 1
1064
+ - Requirement 2
1065
+ > Requirement 2 unnecessary
1066
+ - Requirement 3
1067
+
1068
+ This pattern is because: ...
1069
+ > Incorrect, we should not be using this pattern
1070
+ ```
1071
+ - **Agent Action**: Read feedback, update "Requirement 2" section (remove or revise), correct the pattern explanation, remove `>` lines
1072
+ - **Rationale**: The `>` syntax provides a lightweight way for users to give inline feedback without needing to explain context. Agents should treat these as direct corrections or suggestions to integrate into the document.
1073
+
1074
+ 9. **CRITICAL: Always update CHANGELOG.md for version changes**
879
1075
  - ❌ **DO NOT** commit version changes without updating CHANGELOG.md
880
1076
  - ❌ **DO NOT** forget to update version numbers in all project files
881
1077
  - ✅ **DO** use [`@git.commit`](agent/commands/git.commit.md) for version-aware commits
@@ -904,9 +1100,16 @@ Run ./agent/scripts/uninstall.sh to remove all ACP files (agent/ directory and A
904
1100
  - ✅ **DO** confirm before reverting user's manual edits
905
1101
  - **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
1102
 
907
- ---
1103
+ 10. **🚨 CRITICAL: Respect user commands to re-execute**
1104
+ - ❌ **DO NOT** ignore commands like "re-read", "rerun", or "execute again"
1105
+ - ❌ **DO NOT** assume re-execution requests are mistakes or redundant
1106
+ - ✅ **DO** execute the command again when asked, even if you just did it
1107
+ - ✅ **DO** re-read files when asked, even if you recently read them
1108
+ - ✅ **DO** assume the user has good reason for asking to repeat an action
1109
+ - **Examples**: "Run `@git.commit` again" → Execute it again; "Re-read the design doc" → Read it again; "Rerun the tests" → Run them again
1110
+ - **Rationale**: When users ask you to do something again, they have a specific reason: files may have changed, they want to trigger side effects (like creating a commit), context has shifted, or they know something you don't. Always respect these requests and execute them with intention.
908
1111
 
909
- ## Best Practices
1112
+ ---
910
1113
 
911
1114
  ### Documentation
912
1115
 
@@ -990,10 +1193,10 @@ This repository is actively maintained with improvements to the ACP methodology
990
1193
 
991
1194
  ```bash
992
1195
  # Run from your project root (if you have the update script installed)
993
- ./agent/scripts/update.sh
1196
+ ./agent/scripts/acp.version-update.sh
994
1197
 
995
1198
  # Or download and run directly
996
- curl -fsSL https://raw.githubusercontent.com/prmichaelsen/agent-context-protocol/mainline/agent/scripts/update.sh | bash
1199
+ curl -fsSL https://raw.githubusercontent.com/prmichaelsen/agent-context-protocol/mainline/agent/scripts/acp.version-update.sh | bash
997
1200
  ```
998
1201
 
999
1202
  The update script will: