@prmichaelsen/remember-mcp 2.7.10 → 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 -912
  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 +296 -19
  63. package/dist/server.js +296 -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 +70 -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
@@ -0,0 +1,121 @@
1
+ #!/usr/bin/env bash
2
+ # List projects from registry with filtering
3
+
4
+ set -euo pipefail
5
+
6
+ # Source utilities
7
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8
+ source "${SCRIPT_DIR}/acp.common.sh"
9
+
10
+ # Initialize colors
11
+ init_colors
12
+
13
+ # Parse arguments
14
+ TYPE_FILTER=""
15
+ STATUS_FILTER=""
16
+ TAGS_FILTER=""
17
+
18
+ while [ $# -gt 0 ]; do
19
+ case "$1" in
20
+ --type)
21
+ TYPE_FILTER="$2"
22
+ shift 2
23
+ ;;
24
+ --status)
25
+ STATUS_FILTER="$2"
26
+ shift 2
27
+ ;;
28
+ --tags)
29
+ TAGS_FILTER="$2"
30
+ shift 2
31
+ ;;
32
+ *)
33
+ echo "${RED}Error: Unknown option: $1${NC}"
34
+ exit 1
35
+ ;;
36
+ esac
37
+ done
38
+
39
+ # Get registry path
40
+ REGISTRY_PATH=$(get_projects_registry_path)
41
+
42
+ # Check if registry exists
43
+ if ! projects_registry_exists; then
44
+ echo "${YELLOW}No projects registry found${NC}"
45
+ echo ""
46
+ echo "Create projects with: @acp.project-create"
47
+ exit 0
48
+ fi
49
+
50
+ # Get current project
51
+ CURRENT_PROJECT=$(get_current_project)
52
+
53
+ # Source YAML parser
54
+ source_yaml_parser
55
+
56
+ # Parse registry
57
+ yaml_parse "$REGISTRY_PATH"
58
+
59
+ # Get all project names using yaml_query
60
+ PROJECT_NAMES=$(yaml_query ".projects" | grep -E "^[a-z0-9-]+:" | sed 's/:$//' || true)
61
+
62
+ # Count projects
63
+ TOTAL_COUNT=0
64
+ DISPLAYED_COUNT=0
65
+
66
+ # Display header
67
+ echo ""
68
+ echo "${BOLD}📁 Projects in ~/.acp/projects/${NC}"
69
+ echo ""
70
+
71
+ # Check if any projects exist
72
+ if [ -z "$PROJECT_NAMES" ]; then
73
+ echo "${YELLOW}No projects registered yet${NC}"
74
+ echo ""
75
+ echo "Create projects with: @acp.project-create"
76
+ exit 0
77
+ fi
78
+
79
+ # Iterate through projects
80
+ for project_name in $PROJECT_NAMES; do
81
+ TOTAL_COUNT=$((TOTAL_COUNT + 1))
82
+
83
+ # Get project metadata
84
+ project_type=$(yaml_query ".projects.${project_name}.type" || echo "unknown")
85
+ project_status=$(yaml_query ".projects.${project_name}.status" || echo "unknown")
86
+ project_desc=$(yaml_query ".projects.${project_name}.description" || echo "No description")
87
+ project_accessed=$(yaml_query ".projects.${project_name}.last_accessed" || echo "Never")
88
+
89
+ # Apply filters
90
+ if [ -n "$TYPE_FILTER" ] && [ "$project_type" != "$TYPE_FILTER" ]; then
91
+ continue
92
+ fi
93
+
94
+ if [ -n "$STATUS_FILTER" ] && [ "$project_status" != "$STATUS_FILTER" ]; then
95
+ continue
96
+ fi
97
+
98
+ # TODO: Tag filtering (requires array parsing)
99
+
100
+ # Display project
101
+ DISPLAYED_COUNT=$((DISPLAYED_COUNT + 1))
102
+
103
+ # Mark current project
104
+ if [ "$project_name" = "$CURRENT_PROJECT" ]; then
105
+ echo "${BOLD}${project_name}${NC} (${project_type}) - ${project_status} ${YELLOW}⭐ Current${NC}"
106
+ else
107
+ echo "${BOLD}${project_name}${NC} (${project_type}) - ${project_status}"
108
+ fi
109
+
110
+ echo " ${project_desc}"
111
+ echo " Last accessed: ${project_accessed}"
112
+ echo ""
113
+ done
114
+
115
+ # Summary
116
+ if [ $DISPLAYED_COUNT -eq 0 ]; then
117
+ echo "${YELLOW}No projects match filters${NC}"
118
+ else
119
+ echo "${GREEN}Showing ${DISPLAYED_COUNT} of ${TOTAL_COUNT} projects${NC}"
120
+ fi
121
+ echo ""
@@ -0,0 +1,138 @@
1
+ #!/usr/bin/env bash
2
+ # ACP Project Set - Switch to a different project
3
+ # Sets current project in registry and changes to project directory
4
+
5
+ set -euo pipefail
6
+
7
+ # Get script directory
8
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
9
+
10
+ # Source common utilities
11
+ source "${SCRIPT_DIR}/acp.common.sh"
12
+
13
+ # Source YAML parser
14
+ source_yaml_parser
15
+
16
+ # Usage information
17
+ usage() {
18
+ cat << EOF
19
+ Usage: acp.project-set.sh <project-name>
20
+
21
+ Switch to a different project in the global registry.
22
+
23
+ Arguments:
24
+ project-name Name of the project to switch to
25
+
26
+ Examples:
27
+ acp.project-set.sh remember-mcp-server
28
+ acp.project-set.sh agentbase-mcp-server
29
+
30
+ EOF
31
+ exit 1
32
+ }
33
+
34
+ # Main function
35
+ main() {
36
+ local project_name="$1"
37
+
38
+ # Get registry path
39
+ local registry_path=$(get_projects_registry_path)
40
+
41
+ # Check if registry exists
42
+ if [ ! -f "$registry_path" ]; then
43
+ echo "Error: Project registry not found at: $registry_path"
44
+ echo "Run '@acp.project-create' to create your first project"
45
+ exit 1
46
+ fi
47
+
48
+ # Parse registry (sets global AST)
49
+ yaml_parse "$registry_path"
50
+
51
+ # Check if project exists in registry
52
+ local project_path=$(yaml_query ".projects.${project_name}.path" 2>/dev/null || echo "")
53
+
54
+ if [ -z "$project_path" ]; then
55
+ echo "Error: Project '${project_name}' not found in registry"
56
+ echo ""
57
+ echo "Available projects:"
58
+
59
+ # List available projects
60
+ local projects=$(yaml_query ".projects" 2>/dev/null | grep -E "^[a-zA-Z0-9_-]+:" | sed 's/:$//' || echo "")
61
+
62
+ if [ -n "$projects" ]; then
63
+ echo "$projects" | while read -r proj; do
64
+ echo " - $proj"
65
+ done
66
+ else
67
+ echo " (none)"
68
+ fi
69
+
70
+ echo ""
71
+ echo "Run '@acp.project-list' to see all projects"
72
+ exit 1
73
+ fi
74
+
75
+ # Expand tilde in path
76
+ project_path="${project_path/#\~/$HOME}"
77
+
78
+ # Validate project directory exists
79
+ if [ ! -d "$project_path" ]; then
80
+ echo "Error: Project directory not found: $project_path"
81
+ echo "Project may have been moved or deleted"
82
+ echo ""
83
+ echo "To fix:"
84
+ echo " 1. Update project path: @acp.project-update ${project_name} --path <new-path>"
85
+ echo " 2. Or remove from registry: @acp.project-remove ${project_name}"
86
+ exit 1
87
+ fi
88
+
89
+ # Get project metadata
90
+ local project_type=$(yaml_query ".projects.${project_name}.type")
91
+ local project_description=$(yaml_query ".projects.${project_name}.description")
92
+
93
+ # Re-parse for yaml_set operations (yaml_query cleans up AST)
94
+ yaml_parse "$registry_path"
95
+
96
+ # Update current_project in registry
97
+ yaml_set "current_project" "$project_name"
98
+
99
+ # Update last_accessed timestamp
100
+ local timestamp=$(date -u +%Y-%m-%dT%H:%M:%SZ)
101
+ yaml_set "projects.${project_name}.last_accessed" "$timestamp"
102
+
103
+ # Update registry last_updated
104
+ yaml_set "last_updated" "$timestamp"
105
+
106
+ # Write changes
107
+ yaml_write "$registry_path"
108
+
109
+ # Report success
110
+ echo "✓ Switched to project: ${project_name}"
111
+ echo " Path: ${project_path}"
112
+ echo " Type: ${project_type}"
113
+ if [ -n "$project_description" ]; then
114
+ echo " Description: ${project_description}"
115
+ fi
116
+ echo ""
117
+ echo "You are now in the project directory. All file operations will be relative to:"
118
+ echo " ${project_path}"
119
+ echo ""
120
+ echo "Run '@acp.init' to load project context"
121
+
122
+ # Change to project directory (only if running interactively, not in tests)
123
+ # Note: cd in a script only affects the script's process, not the parent shell
124
+ # For interactive use, this script should be sourced or wrapped
125
+ if [ -t 0 ]; then
126
+ cd "$project_path" 2>/dev/null || true
127
+ fi
128
+ }
129
+
130
+ # Parse arguments
131
+ if [ $# -eq 0 ]; then
132
+ usage
133
+ fi
134
+
135
+ PROJECT_NAME="$1"
136
+
137
+ # Run main function
138
+ main "$PROJECT_NAME"
@@ -2,16 +2,26 @@
2
2
 
3
3
  # Agent Context Protocol (ACP) Uninstall Script
4
4
  # This script removes all ACP files from a project
5
- # Usage: ./agent/scripts/uninstall.sh [-y]
5
+ # Usage: ./agent/scripts/unacp.install.sh [-y]
6
6
 
7
7
  set -e
8
8
 
9
- # Colors for output
10
- RED='\033[0;31m'
11
- GREEN='\033[0;32m'
12
- YELLOW='\033[1;33m'
13
- BLUE='\033[0;34m'
14
- NC='\033[0m' # No Color
9
+ # Colors for output using tput (more reliable than ANSI codes)
10
+ if command -v tput >/dev/null 2>&1 && [ -t 1 ]; then
11
+ RED=$(tput setaf 1)
12
+ GREEN=$(tput setaf 2)
13
+ YELLOW=$(tput setaf 3)
14
+ BLUE=$(tput setaf 4)
15
+ BOLD=$(tput bold)
16
+ NC=$(tput sgr0)
17
+ else
18
+ RED=''
19
+ GREEN=''
20
+ YELLOW=''
21
+ BLUE=''
22
+ BOLD=''
23
+ NC=''
24
+ fi
15
25
 
16
26
  # Check for -y flag
17
27
  AUTO_CONFIRM=false
@@ -19,24 +29,24 @@ if [ "$1" = "-y" ]; then
19
29
  AUTO_CONFIRM=true
20
30
  fi
21
31
 
22
- echo -e "${YELLOW}Agent Context Protocol (ACP) Uninstall${NC}"
32
+ echo "${YELLOW}Agent Context Protocol (ACP) Uninstall${NC}"
23
33
  echo "======================================"
24
34
  echo ""
25
35
 
26
36
  # Check if agent directory exists
27
37
  if [ ! -d "agent" ] && [ ! -f "AGENT.md" ]; then
28
- echo -e "${YELLOW}No ACP files found in current directory${NC}"
38
+ echo "${YELLOW}No ACP files found in current directory${NC}"
29
39
  exit 0
30
40
  fi
31
41
 
32
42
  # If not auto-confirmed, show instructions for agents
33
43
  if [ "$AUTO_CONFIRM" = false ]; then
34
- echo -e "${BLUE}Note for AI Agents:${NC}"
44
+ echo "${BLUE}Note for AI Agents:${NC}"
35
45
  echo "This script requires user confirmation to prevent accidental deletion."
36
46
  echo "Please ask the user: 'Do you want to uninstall ACP from this project?'"
37
- echo "If yes, rerun this script with: ./agent/scripts/uninstall.sh -y"
47
+ echo "If yes, rerun this script with: ./agent/scripts/unacp.install.sh -y"
38
48
  echo ""
39
- echo -e "${RED}WARNING: This will permanently delete:${NC}"
49
+ echo "${RED}WARNING: This will permanently delete:${NC}"
40
50
  echo " - agent/ directory (all contents)"
41
51
  echo " - AGENT.md file"
42
52
  echo ""
@@ -58,17 +68,17 @@ echo "Removing ACP files..."
58
68
  # Remove agent directory
59
69
  if [ -d "agent" ]; then
60
70
  rm -rf agent
61
- echo -e "${GREEN}✓${NC} Removed agent/ directory"
71
+ echo "${GREEN}✓${NC} Removed agent/ directory"
62
72
  fi
63
73
 
64
74
  # Remove AGENT.md
65
75
  if [ -f "AGENT.md" ]; then
66
76
  rm -f AGENT.md
67
- echo -e "${GREEN}✓${NC} Removed AGENT.md"
77
+ echo "${GREEN}✓${NC} Removed AGENT.md"
68
78
  fi
69
79
 
70
80
  echo ""
71
- echo -e "${GREEN}Uninstall complete!${NC}"
81
+ echo "${GREEN}Uninstall complete!${NC}"
72
82
  echo ""
73
83
  echo "All ACP files have been removed from this project."
74
84
  echo "Use 'git status' to see what was deleted."
@@ -5,12 +5,22 @@
5
5
 
6
6
  set -e
7
7
 
8
- # Colors for output
9
- RED='\033[0;31m'
10
- GREEN='\033[0;32m'
11
- YELLOW='\033[1;33m'
12
- BLUE='\033[0;34m'
13
- NC='\033[0m' # No Color
8
+ # Colors for output using tput (more reliable than ANSI codes)
9
+ if command -v tput >/dev/null 2>&1 && [ -t 1 ]; then
10
+ RED=$(tput setaf 1)
11
+ GREEN=$(tput setaf 2)
12
+ YELLOW=$(tput setaf 3)
13
+ BLUE=$(tput setaf 4)
14
+ BOLD=$(tput bold)
15
+ NC=$(tput sgr0)
16
+ else
17
+ RED=''
18
+ GREEN=''
19
+ YELLOW=''
20
+ BLUE=''
21
+ BOLD=''
22
+ NC=''
23
+ fi
14
24
 
15
25
  # Repository URL
16
26
  REPO_URL="https://raw.githubusercontent.com/prmichaelsen/agent-context-protocol/mainline"
@@ -26,7 +36,7 @@ fi
26
36
  # Check if AGENT.md exists
27
37
  if [ ! -f "AGENT.md" ]; then
28
38
  if [ "$SILENT" = false ]; then
29
- echo -e "${RED}Error: AGENT.md not found in current directory${NC}" >&2
39
+ echo "${RED}Error: AGENT.md not found in current directory${NC}" >&2
30
40
  echo "This script should be run from your project root where AGENT.md is located." >&2
31
41
  fi
32
42
  exit 2
@@ -34,7 +44,7 @@ fi
34
44
 
35
45
  # Download latest AGENT.md for comparison
36
46
  if [ "$SILENT" = false ]; then
37
- echo -e "${BLUE}Checking for updates...${NC}"
47
+ echo "${BLUE}Checking for updates...${NC}"
38
48
  fi
39
49
 
40
50
  if command -v curl &> /dev/null; then
@@ -43,14 +53,14 @@ elif command -v wget &> /dev/null; then
43
53
  wget -q "$AGENT_MD_URL" -O /tmp/AGENT.md.latest 2>/dev/null
44
54
  else
45
55
  if [ "$SILENT" = false ]; then
46
- echo -e "${RED}Error: Neither curl nor wget is available${NC}" >&2
56
+ echo "${RED}Error: Neither curl nor wget is available${NC}" >&2
47
57
  fi
48
58
  exit 2
49
59
  fi
50
60
 
51
61
  if [ $? -ne 0 ]; then
52
62
  if [ "$SILENT" = false ]; then
53
- echo -e "${RED}Error: Failed to download latest AGENT.md${NC}" >&2
63
+ echo "${RED}Error: Failed to download latest AGENT.md${NC}" >&2
54
64
  echo "Please check your internet connection." >&2
55
65
  fi
56
66
  rm -f /tmp/AGENT.md.latest
@@ -61,14 +71,14 @@ fi
61
71
  if cmp -s AGENT.md /tmp/AGENT.md.latest; then
62
72
  # Files are identical - no updates
63
73
  if [ "$SILENT" = false ]; then
64
- echo -e "${GREEN}✓${NC} Your AGENT.md is up to date!"
74
+ echo "${GREEN}✓${NC} Your AGENT.md is up to date!"
65
75
  fi
66
76
  rm -f /tmp/AGENT.md.latest
67
77
  exit 0
68
78
  else
69
79
  # Files differ - updates available
70
80
  if [ "$SILENT" = false ]; then
71
- echo -e "${YELLOW}⚠${NC} Updates are available for AGENT.md"
81
+ echo "${YELLOW}⚠${NC} Updates are available for AGENT.md"
72
82
  echo ""
73
83
 
74
84
  # Download and display changelog
@@ -80,8 +90,8 @@ else
80
90
  wget -q "$CHANGELOG_URL" -O - 2>/dev/null | head -n 50
81
91
  fi
82
92
  echo ""
83
- echo "To update, run: ./agent/scripts/update.sh"
84
- echo "Or: curl -fsSL https://raw.githubusercontent.com/prmichaelsen/agent-context-protocol/mainlin./agent/scripts/update.sh | bash"
93
+ echo "To update, run: ./agent/scripts/acp.version-update.sh"
94
+ echo "Or: curl -fsSL https://raw.githubusercontent.com/prmichaelsen/agent-context-protocol/mainlin./agent/scripts/acp.version-update.sh | bash"
85
95
  fi
86
96
  rm -f /tmp/AGENT.md.latest
87
97
  exit 1
@@ -5,10 +5,22 @@
5
5
 
6
6
  set -e
7
7
 
8
- # Colors for output
9
- GREEN='\033[0;32m'
10
- BLUE='\033[0;34m'
11
- NC='\033[0m' # No Color
8
+ # Colors for output using tput (more reliable than ANSI codes)
9
+ if command -v tput >/dev/null 2>&1 && [ -t 1 ]; then
10
+ RED=$(tput setaf 1)
11
+ GREEN=$(tput setaf 2)
12
+ YELLOW=$(tput setaf 3)
13
+ BLUE=$(tput setaf 4)
14
+ BOLD=$(tput bold)
15
+ NC=$(tput sgr0)
16
+ else
17
+ RED=''
18
+ GREEN=''
19
+ YELLOW=''
20
+ BLUE=''
21
+ BOLD=''
22
+ NC=''
23
+ fi
12
24
 
13
25
  # Check if AGENT.md exists
14
26
  if [ ! -f "AGENT.md" ]; then
@@ -23,13 +35,13 @@ CREATED=$(grep -m 1 "^\*\*Created\*\*:" AGENT.md | sed 's/.*: //')
23
35
  STATUS=$(grep -m 1 "^\*\*Status\*\*:" AGENT.md | sed 's/.*: //')
24
36
 
25
37
  # Display version information
26
- echo -e "${BLUE}📦 ACP Version Information${NC}"
38
+ echo "${BLUE}📦 ACP Version Information${NC}"
27
39
  echo ""
28
40
  echo "Version: $VERSION"
29
41
  echo "Created: $CREATED"
30
42
  echo "Status: $STATUS"
31
43
  echo ""
32
- echo -e "${GREEN}✓${NC} ACP is installed"
44
+ echo "${GREEN}✓${NC} ACP is installed"
33
45
  echo ""
34
- echo "To check for updates: ./agent/scripts/check-for-updates.sh"
35
- echo "To update ACP: ./agent/scripts/update.sh"
46
+ echo "To check for updates: ./agent/scripts/acp.version-check-for-updates.sh"
47
+ echo "To update ACP: ./agent/scripts/acp.version-update.sh"
@@ -86,19 +86,55 @@ fi
86
86
  # Update progress template
87
87
  cp "$TEMP_DIR/agent/progress.template.yaml" "agent/"
88
88
 
89
+ # Update manifest template
90
+ if [ -f "$TEMP_DIR/agent/manifest.template.yaml" ]; then
91
+ cp "$TEMP_DIR/agent/manifest.template.yaml" "agent/"
92
+ fi
93
+
94
+ # Update package template
95
+ if [ -f "$TEMP_DIR/agent/package.template.yaml" ]; then
96
+ cp "$TEMP_DIR/agent/package.template.yaml" "agent/"
97
+ fi
98
+
89
99
  # Update AGENT.md
90
100
  cp "$TEMP_DIR/AGENT.md" "."
91
101
 
92
- # Update scripts
93
- cp "$TEMP_DIR/agent/scripts/update.sh" "agent/scripts/"
94
- cp "$TEMP_DIR/agent/scripts/check-for-updates.sh" "agent/scripts/"
95
- cp "$TEMP_DIR/agent/scripts/uninstall.sh" "agent/scripts/"
96
- cp "$TEMP_DIR/agent/scripts/version.sh" "agent/scripts/"
97
- cp "$TEMP_DIR/agent/scripts/install.sh" "agent/scripts/"
98
- chmod +x agent/scripts/*.sh
102
+ # Update all scripts (*.sh files)
103
+ # This ensures all current and future scripts are copied
104
+ if [ -d "$TEMP_DIR/agent/scripts" ]; then
105
+ find "$TEMP_DIR/agent/scripts" -maxdepth 1 -name "*.sh" -exec cp {} "agent/scripts/" \;
106
+ chmod +x agent/scripts/*.sh
107
+ fi
108
+
109
+ # Clean up deprecated scripts (from versions < 2.0.0)
110
+ . "agent/scripts/acp.common.sh"
111
+ init_colors
112
+ cleanup_deprecated_scripts
99
113
 
100
114
  echo "${GREEN}✓${NC} All files updated"
101
115
  echo ""
116
+
117
+ # Update acp-core version in manifest if it exists
118
+ if [ -f "agent/manifest.yaml" ]; then
119
+ echo "Updating manifest..."
120
+
121
+ # Get new ACP version
122
+ NEW_VERSION=$(grep "^\*\*Version\*\*:" "AGENT.md" | sed 's/.*: //' | head -1)
123
+ UPDATE_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
124
+
125
+ # Update acp-core version and timestamps
126
+ sed -i "/^ acp-core:/,/^ [a-z]/ {
127
+ s/package_version: .*/package_version: ${NEW_VERSION}/
128
+ s/updated_at: .*/updated_at: ${UPDATE_DATE}/
129
+ }" agent/manifest.yaml
130
+
131
+ # Update manifest timestamp
132
+ sed -i "s/^last_updated: .*/last_updated: ${UPDATE_DATE}/" agent/manifest.yaml
133
+
134
+ echo "${GREEN}✓${NC} Updated acp-core to v${NEW_VERSION} in manifest.yaml"
135
+ echo ""
136
+ fi
137
+
102
138
  echo "${GREEN}Update complete!${NC}"
103
139
  echo ""
104
140
  echo "${BLUE}What was updated:${NC}"
@@ -115,24 +151,7 @@ echo ""
115
151
  echo "For detailed changelog:"
116
152
  echo " https://github.com/prmichaelsen/agent-context-protocol/blob/mainline/CHANGELOG.md"
117
153
  echo ""
118
- echo "${BLUE}ACP Commands Available:${NC}"
119
- echo ""
120
- echo " ${GREEN}@acp.init${NC} - Initialize agent context (run after update!)"
121
- echo " ${GREEN}@acp.proceed${NC} - Continue with next task"
122
- echo " ${GREEN}@acp.status${NC} - Display project status"
123
- echo " ${GREEN}@acp.update${NC} - Update progress tracking"
124
- echo " ${GREEN}@acp.sync${NC} - Sync documentation with code"
125
- echo " ${GREEN}@acp.validate${NC} - Validate ACP documents"
126
- echo " ${GREEN}@acp.report${NC} - Generate project report"
127
- echo " ${GREEN}@acp.version-check${NC} - Show current ACP version"
128
- echo " ${GREEN}@acp.version-check-for-updates${NC} - Check for ACP updates"
129
- echo " ${GREEN}@acp.version-update${NC} - Update ACP to latest version"
130
- echo " ${GREEN}@acp.package-install${NC} - Install third-party command packages"
131
- echo ""
132
- echo "${BLUE}Git Commands Available:${NC}"
133
- echo ""
134
- echo " ${GREEN}@git.init${NC} - Initialize git repository with smart .gitignore"
135
- echo " ${GREEN}@git.commit${NC} - Intelligent version-aware git commit"
154
+ display_available_commands
136
155
  echo ""
137
156
  echo "${BLUE}For AI agents:${NC}"
138
157
  echo "Type '${GREEN}@acp.init${NC}' to reload context with updated files."