@prmichaelsen/acp-visualizer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/README.md +68 -0
  2. package/agent/commands/acp.clarification-address.md +417 -0
  3. package/agent/commands/acp.clarification-capture.md +386 -0
  4. package/agent/commands/acp.clarification-create.md +437 -0
  5. package/agent/commands/acp.clarifications-research.md +326 -0
  6. package/agent/commands/acp.command-create.md +432 -0
  7. package/agent/commands/acp.design-create.md +286 -0
  8. package/agent/commands/acp.design-reference.md +355 -0
  9. package/agent/commands/acp.handoff.md +270 -0
  10. package/agent/commands/acp.index.md +423 -0
  11. package/agent/commands/acp.init.md +546 -0
  12. package/agent/commands/acp.package-create.md +895 -0
  13. package/agent/commands/acp.package-info.md +212 -0
  14. package/agent/commands/acp.package-install.md +539 -0
  15. package/agent/commands/acp.package-list.md +280 -0
  16. package/agent/commands/acp.package-publish.md +541 -0
  17. package/agent/commands/acp.package-remove.md +293 -0
  18. package/agent/commands/acp.package-search.md +307 -0
  19. package/agent/commands/acp.package-update.md +361 -0
  20. package/agent/commands/acp.package-validate.md +540 -0
  21. package/agent/commands/acp.pattern-create.md +386 -0
  22. package/agent/commands/acp.plan.md +587 -0
  23. package/agent/commands/acp.proceed.md +882 -0
  24. package/agent/commands/acp.project-create.md +675 -0
  25. package/agent/commands/acp.project-info.md +312 -0
  26. package/agent/commands/acp.project-list.md +226 -0
  27. package/agent/commands/acp.project-remove.md +379 -0
  28. package/agent/commands/acp.project-set.md +227 -0
  29. package/agent/commands/acp.project-update.md +307 -0
  30. package/agent/commands/acp.projects-restore.md +228 -0
  31. package/agent/commands/acp.projects-sync.md +347 -0
  32. package/agent/commands/acp.report.md +407 -0
  33. package/agent/commands/acp.resume.md +239 -0
  34. package/agent/commands/acp.sessions.md +301 -0
  35. package/agent/commands/acp.status.md +293 -0
  36. package/agent/commands/acp.sync.md +364 -0
  37. package/agent/commands/acp.task-create.md +500 -0
  38. package/agent/commands/acp.update.md +302 -0
  39. package/agent/commands/acp.validate.md +466 -0
  40. package/agent/commands/acp.version-check-for-updates.md +276 -0
  41. package/agent/commands/acp.version-check.md +191 -0
  42. package/agent/commands/acp.version-update.md +289 -0
  43. package/agent/commands/command.template.md +339 -0
  44. package/agent/commands/git.commit.md +526 -0
  45. package/agent/commands/git.init.md +514 -0
  46. package/agent/commands/tanstack-cloudflare.deploy.md +272 -0
  47. package/agent/commands/tanstack-cloudflare.tail.md +275 -0
  48. package/agent/design/.gitkeep +0 -0
  49. package/agent/design/design.template.md +154 -0
  50. package/agent/design/local.dashboard-layout-routing.md +288 -0
  51. package/agent/design/local.data-model-yaml-parsing.md +310 -0
  52. package/agent/design/local.search-filtering.md +331 -0
  53. package/agent/design/local.server-api-auto-refresh.md +235 -0
  54. package/agent/design/local.table-tree-views.md +299 -0
  55. package/agent/design/local.visualizer-requirements.md +349 -0
  56. package/agent/design/requirements.template.md +387 -0
  57. package/agent/index/.gitkeep +0 -0
  58. package/agent/index/acp.core.yaml +137 -0
  59. package/agent/index/local.main.template.yaml +37 -0
  60. package/agent/manifest.template.yaml +13 -0
  61. package/agent/manifest.yaml +302 -0
  62. package/agent/milestones/.gitkeep +0 -0
  63. package/agent/milestones/milestone-1-project-scaffold-data-pipeline.md +67 -0
  64. package/agent/milestones/milestone-1-{title}.template.md +206 -0
  65. package/agent/milestones/milestone-2-dashboard-views-interaction.md +79 -0
  66. package/agent/package.template.yaml +86 -0
  67. package/agent/patterns/.gitkeep +0 -0
  68. package/agent/patterns/bootstrap.template.md +1237 -0
  69. package/agent/patterns/pattern.template.md +382 -0
  70. package/agent/patterns/tanstack-cloudflare.acl-permissions.md +332 -0
  71. package/agent/patterns/tanstack-cloudflare.action-bar-item.md +416 -0
  72. package/agent/patterns/tanstack-cloudflare.api-route-handlers.md +401 -0
  73. package/agent/patterns/tanstack-cloudflare.auth-session-management.md +387 -0
  74. package/agent/patterns/tanstack-cloudflare.card-and-list.md +271 -0
  75. package/agent/patterns/tanstack-cloudflare.chat-engine.md +353 -0
  76. package/agent/patterns/tanstack-cloudflare.confirmation-tokens.md +346 -0
  77. package/agent/patterns/tanstack-cloudflare.durable-objects-websocket.md +516 -0
  78. package/agent/patterns/tanstack-cloudflare.email-service.md +431 -0
  79. package/agent/patterns/tanstack-cloudflare.expander.md +98 -0
  80. package/agent/patterns/tanstack-cloudflare.fcm-push.md +115 -0
  81. package/agent/patterns/tanstack-cloudflare.firebase-anonymous-sessions.md +441 -0
  82. package/agent/patterns/tanstack-cloudflare.firebase-auth.md +348 -0
  83. package/agent/patterns/tanstack-cloudflare.firebase-firestore.md +550 -0
  84. package/agent/patterns/tanstack-cloudflare.firebase-storage.md +369 -0
  85. package/agent/patterns/tanstack-cloudflare.form-controls.md +145 -0
  86. package/agent/patterns/tanstack-cloudflare.global-search-context.md +93 -0
  87. package/agent/patterns/tanstack-cloudflare.image-carousel.md +126 -0
  88. package/agent/patterns/tanstack-cloudflare.library-services.md +553 -0
  89. package/agent/patterns/tanstack-cloudflare.lightbox.md +169 -0
  90. package/agent/patterns/tanstack-cloudflare.markdown-content.md +115 -0
  91. package/agent/patterns/tanstack-cloudflare.mention-suggestions.md +98 -0
  92. package/agent/patterns/tanstack-cloudflare.modal.md +156 -0
  93. package/agent/patterns/tanstack-cloudflare.nextjs-to-tanstack-routing.md +461 -0
  94. package/agent/patterns/tanstack-cloudflare.notifications-engine.md +151 -0
  95. package/agent/patterns/tanstack-cloudflare.oauth-token-refresh.md +90 -0
  96. package/agent/patterns/tanstack-cloudflare.og-metadata.md +296 -0
  97. package/agent/patterns/tanstack-cloudflare.pagination.md +442 -0
  98. package/agent/patterns/tanstack-cloudflare.pill-input.md +220 -0
  99. package/agent/patterns/tanstack-cloudflare.provider-adapter.md +401 -0
  100. package/agent/patterns/tanstack-cloudflare.rate-limiting.md +323 -0
  101. package/agent/patterns/tanstack-cloudflare.scheduled-tasks.md +338 -0
  102. package/agent/patterns/tanstack-cloudflare.searchable-settings.md +375 -0
  103. package/agent/patterns/tanstack-cloudflare.slide-over.md +129 -0
  104. package/agent/patterns/tanstack-cloudflare.ssr-preload.md +571 -0
  105. package/agent/patterns/tanstack-cloudflare.third-party-api-integration.md +508 -0
  106. package/agent/patterns/tanstack-cloudflare.toast-system.md +142 -0
  107. package/agent/patterns/tanstack-cloudflare.unified-header.md +280 -0
  108. package/agent/patterns/tanstack-cloudflare.user-scoped-collections.md +628 -0
  109. package/agent/patterns/tanstack-cloudflare.websocket-manager.md +237 -0
  110. package/agent/patterns/tanstack-cloudflare.wrangler-configuration.md +358 -0
  111. package/agent/patterns/tanstack-cloudflare.zod-schema-validation.md +336 -0
  112. package/agent/progress.template.yaml +161 -0
  113. package/agent/progress.yaml +145 -0
  114. package/agent/schemas/package.schema.yaml +276 -0
  115. package/agent/scripts/acp.common.sh +1781 -0
  116. package/agent/scripts/acp.install.sh +333 -0
  117. package/agent/scripts/acp.package-create.sh +924 -0
  118. package/agent/scripts/acp.package-info.sh +288 -0
  119. package/agent/scripts/acp.package-install.sh +893 -0
  120. package/agent/scripts/acp.package-list.sh +311 -0
  121. package/agent/scripts/acp.package-publish.sh +420 -0
  122. package/agent/scripts/acp.package-remove.sh +348 -0
  123. package/agent/scripts/acp.package-search.sh +156 -0
  124. package/agent/scripts/acp.package-update.sh +517 -0
  125. package/agent/scripts/acp.package-validate.sh +1018 -0
  126. package/agent/scripts/acp.uninstall.sh +85 -0
  127. package/agent/scripts/acp.version-check-for-updates.sh +98 -0
  128. package/agent/scripts/acp.version-check.sh +47 -0
  129. package/agent/scripts/acp.version-update.sh +176 -0
  130. package/agent/scripts/acp.yaml-parser.sh +985 -0
  131. package/agent/scripts/acp.yaml-validate.sh +205 -0
  132. package/agent/tasks/.gitkeep +0 -0
  133. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-1-initialize-tanstack-start-project.md +210 -0
  134. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-2-implement-data-model-yaml-parser.md +294 -0
  135. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-3-build-server-api-data-loading.md +193 -0
  136. package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-4-add-auto-refresh-sse.md +262 -0
  137. package/agent/tasks/milestone-2-dashboard-views-interaction/task-10-polish-integration-testing.md +156 -0
  138. package/agent/tasks/milestone-2-dashboard-views-interaction/task-5-build-dashboard-layout-routing.md +178 -0
  139. package/agent/tasks/milestone-2-dashboard-views-interaction/task-6-build-overview-page.md +141 -0
  140. package/agent/tasks/milestone-2-dashboard-views-interaction/task-7-implement-milestone-table-view.md +153 -0
  141. package/agent/tasks/milestone-2-dashboard-views-interaction/task-8-implement-milestone-tree-view.md +174 -0
  142. package/agent/tasks/milestone-2-dashboard-views-interaction/task-9-implement-search-filtering.md +233 -0
  143. package/agent/tasks/task-1-{title}.template.md +244 -0
  144. package/bin/visualize.mjs +84 -0
  145. package/package.json +48 -0
  146. package/src/components/ExtraFieldsBadge.tsx +15 -0
  147. package/src/components/FilterBar.tsx +33 -0
  148. package/src/components/Header.tsx +23 -0
  149. package/src/components/MilestoneTable.tsx +167 -0
  150. package/src/components/MilestoneTree.tsx +84 -0
  151. package/src/components/ProgressBar.tsx +20 -0
  152. package/src/components/SearchInput.tsx +22 -0
  153. package/src/components/Sidebar.tsx +54 -0
  154. package/src/components/StatusBadge.tsx +23 -0
  155. package/src/components/StatusDot.tsx +12 -0
  156. package/src/components/TaskList.tsx +36 -0
  157. package/src/components/ViewToggle.tsx +31 -0
  158. package/src/lib/config.ts +8 -0
  159. package/src/lib/file-watcher.ts +43 -0
  160. package/src/lib/search.ts +48 -0
  161. package/src/lib/types.ts +73 -0
  162. package/src/lib/useAutoRefresh.ts +31 -0
  163. package/src/lib/useCollapse.ts +31 -0
  164. package/src/lib/useFilteredData.ts +55 -0
  165. package/src/lib/yaml-loader-real.spec.ts +47 -0
  166. package/src/lib/yaml-loader.spec.ts +201 -0
  167. package/src/lib/yaml-loader.ts +265 -0
  168. package/src/routeTree.gen.ts +140 -0
  169. package/src/router.tsx +10 -0
  170. package/src/routes/__root.tsx +75 -0
  171. package/src/routes/api/watch.ts +29 -0
  172. package/src/routes/index.tsx +115 -0
  173. package/src/routes/milestones.tsx +50 -0
  174. package/src/routes/search.tsx +84 -0
  175. package/src/routes/tasks.tsx +63 -0
  176. package/src/services/progress-database.service.ts +46 -0
  177. package/src/styles.css +25 -0
  178. package/tsconfig.json +24 -0
  179. package/vite.config.ts +16 -0
  180. package/vitest.config.ts +27 -0
@@ -0,0 +1,85 @@
1
+ #!/bin/bash
2
+
3
+ # Agent Context Protocol (ACP) Uninstall Script
4
+ # This script removes all ACP files from a project
5
+ # Usage: ./agent/scripts/unacp.install.sh [-y]
6
+
7
+ set -e
8
+
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
25
+
26
+ # Check for -y flag
27
+ AUTO_CONFIRM=false
28
+ if [ "$1" = "-y" ]; then
29
+ AUTO_CONFIRM=true
30
+ fi
31
+
32
+ echo "${YELLOW}Agent Context Protocol (ACP) Uninstall${NC}"
33
+ echo "======================================"
34
+ echo ""
35
+
36
+ # Check if agent directory exists
37
+ if [ ! -d "agent" ] && [ ! -f "AGENT.md" ]; then
38
+ echo "${YELLOW}No ACP files found in current directory${NC}"
39
+ exit 0
40
+ fi
41
+
42
+ # If not auto-confirmed, show instructions for agents
43
+ if [ "$AUTO_CONFIRM" = false ]; then
44
+ echo "${BLUE}Note for AI Agents:${NC}"
45
+ echo "This script requires user confirmation to prevent accidental deletion."
46
+ echo "Please ask the user: 'Do you want to uninstall ACP from this project?'"
47
+ echo "If yes, rerun this script with: ./agent/scripts/unacp.install.sh -y"
48
+ echo ""
49
+ echo "${RED}WARNING: This will permanently delete:${NC}"
50
+ echo " - agent/ directory (all contents)"
51
+ echo " - AGENT.md file"
52
+ echo ""
53
+ echo "Make sure you have committed any important changes to git."
54
+ echo ""
55
+
56
+ read -p "Are you sure you want to remove all ACP files? (y/N) " -n 1 -r
57
+ echo
58
+
59
+ if [[ ! $REPLY =~ ^[Yy]$ ]]; then
60
+ echo "Uninstall cancelled. No files were deleted."
61
+ exit 0
62
+ fi
63
+ fi
64
+
65
+ echo ""
66
+ echo "Removing ACP files..."
67
+
68
+ # Remove agent directory
69
+ if [ -d "agent" ]; then
70
+ rm -rf agent
71
+ echo "${GREEN}✓${NC} Removed agent/ directory"
72
+ fi
73
+
74
+ # Remove AGENT.md
75
+ if [ -f "AGENT.md" ]; then
76
+ rm -f AGENT.md
77
+ echo "${GREEN}✓${NC} Removed AGENT.md"
78
+ fi
79
+
80
+ echo ""
81
+ echo "${GREEN}Uninstall complete!${NC}"
82
+ echo ""
83
+ echo "All ACP files have been removed from this project."
84
+ echo "Use 'git status' to see what was deleted."
85
+ echo ""
@@ -0,0 +1,98 @@
1
+ #!/bin/bash
2
+
3
+ # Agent Context Protocol (ACP) Update Checker
4
+ # This script checks if updates are available for AGENT.md
5
+
6
+ set -e
7
+
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
24
+
25
+ # Repository URL
26
+ REPO_URL="https://raw.githubusercontent.com/prmichaelsen/agent-context-protocol/mainline"
27
+ AGENT_MD_URL="$REPO_URL/AGENT.md"
28
+ CHANGELOG_URL="$REPO_URL/CHANGELOG.md"
29
+
30
+ # Silent mode (no output, just exit codes)
31
+ SILENT=false
32
+ if [ "$1" = "--silent" ] || [ "$1" = "-s" ]; then
33
+ SILENT=true
34
+ fi
35
+
36
+ # Check if AGENT.md exists
37
+ if [ ! -f "AGENT.md" ]; then
38
+ if [ "$SILENT" = false ]; then
39
+ echo "${RED}Error: AGENT.md not found in current directory${NC}" >&2
40
+ echo "This script should be run from your project root where AGENT.md is located." >&2
41
+ fi
42
+ exit 2
43
+ fi
44
+
45
+ # Download latest AGENT.md for comparison
46
+ if [ "$SILENT" = false ]; then
47
+ echo "${BLUE}Checking for updates...${NC}"
48
+ fi
49
+
50
+ if command -v curl &> /dev/null; then
51
+ curl -fsSL "$AGENT_MD_URL" -o /tmp/AGENT.md.latest 2>/dev/null
52
+ elif command -v wget &> /dev/null; then
53
+ wget -q "$AGENT_MD_URL" -O /tmp/AGENT.md.latest 2>/dev/null
54
+ else
55
+ if [ "$SILENT" = false ]; then
56
+ echo "${RED}Error: Neither curl nor wget is available${NC}" >&2
57
+ fi
58
+ exit 2
59
+ fi
60
+
61
+ if [ $? -ne 0 ]; then
62
+ if [ "$SILENT" = false ]; then
63
+ echo "${RED}Error: Failed to download latest AGENT.md${NC}" >&2
64
+ echo "Please check your internet connection." >&2
65
+ fi
66
+ rm -f /tmp/AGENT.md.latest
67
+ exit 2
68
+ fi
69
+
70
+ # Compare files
71
+ if cmp -s AGENT.md /tmp/AGENT.md.latest; then
72
+ # Files are identical - no updates
73
+ if [ "$SILENT" = false ]; then
74
+ echo "${GREEN}✓${NC} Your AGENT.md is up to date!"
75
+ fi
76
+ rm -f /tmp/AGENT.md.latest
77
+ exit 0
78
+ else
79
+ # Files differ - updates available
80
+ if [ "$SILENT" = false ]; then
81
+ echo "${YELLOW}⚠${NC} Updates are available for AGENT.md"
82
+ echo ""
83
+
84
+ # Download and display changelog
85
+ echo "Recent changes:"
86
+ echo "---------------"
87
+ if command -v curl &> /dev/null; then
88
+ curl -fsSL "$CHANGELOG_URL" 2>/dev/null | head -n 50
89
+ elif command -v wget &> /dev/null; then
90
+ wget -q "$CHANGELOG_URL" -O - 2>/dev/null | head -n 50
91
+ fi
92
+ echo ""
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"
95
+ fi
96
+ rm -f /tmp/AGENT.md.latest
97
+ exit 1
98
+ fi
@@ -0,0 +1,47 @@
1
+ #!/bin/bash
2
+
3
+ # ACP Version Check Script
4
+ # Extracts and displays the current ACP version from AGENT.md
5
+
6
+ set -e
7
+
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
24
+
25
+ # Check if AGENT.md exists
26
+ if [ ! -f "AGENT.md" ]; then
27
+ echo "Error: AGENT.md not found in current directory"
28
+ echo "This script should be run from your project root where AGENT.md is located."
29
+ exit 1
30
+ fi
31
+
32
+ # Extract version from AGENT.md
33
+ VERSION=$(grep -m 1 "^\*\*Version\*\*:" AGENT.md | sed 's/.*: //')
34
+ CREATED=$(grep -m 1 "^\*\*Created\*\*:" AGENT.md | sed 's/.*: //')
35
+ STATUS=$(grep -m 1 "^\*\*Status\*\*:" AGENT.md | sed 's/.*: //')
36
+
37
+ # Display version information
38
+ echo "${BLUE}📦 ACP Version Information${NC}"
39
+ echo ""
40
+ echo "Version: $VERSION"
41
+ echo "Created: $CREATED"
42
+ echo "Status: $STATUS"
43
+ echo ""
44
+ echo "${GREEN}✓${NC} ACP is installed"
45
+ echo ""
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"
@@ -0,0 +1,176 @@
1
+ #!/bin/bash
2
+
3
+ # Agent Context Protocol (ACP) Update Script
4
+ # This script updates AGENT.md, template files, and utility scripts from the repository
5
+
6
+ # Self-relocation guard: this script overwrites itself during the update
7
+ # (it copies the latest version from the repo to agent/scripts/). Bash reads
8
+ # files lazily by byte offset, so the overwrite garbles execution. Fix: re-exec
9
+ # from a temp copy so the file on disk can safely change.
10
+ if [ -z "$_ACP_UPDATE_RELOCATED" ]; then
11
+ _tmp_copy=$(mktemp)
12
+ cp "$0" "$_tmp_copy"
13
+ export _ACP_UPDATE_RELOCATED=1
14
+ bash "$_tmp_copy" "$@"
15
+ _rc=$?
16
+ rm -f "$_tmp_copy"
17
+ exit $_rc
18
+ fi
19
+
20
+ set -e
21
+
22
+ # Colors for output using tput (more reliable than ANSI codes)
23
+ if command -v tput >/dev/null 2>&1 && [ -t 1 ]; then
24
+ RED=$(tput setaf 1)
25
+ GREEN=$(tput setaf 2)
26
+ YELLOW=$(tput setaf 3)
27
+ BLUE=$(tput setaf 4)
28
+ BOLD=$(tput bold)
29
+ NC=$(tput sgr0)
30
+ else
31
+ RED=''
32
+ GREEN=''
33
+ YELLOW=''
34
+ BLUE=''
35
+ BOLD=''
36
+ NC=''
37
+ fi
38
+
39
+ # Repository details
40
+ REPO_URL="https://github.com/prmichaelsen/agent-context-protocol.git"
41
+ BRANCH="mainline"
42
+
43
+ echo "${BLUE}Agent Context Protocol (ACP) Updater${NC}"
44
+ echo "======================================"
45
+ echo ""
46
+
47
+ # Check if AGENT.md exists
48
+ if [ ! -f "AGENT.md" ]; then
49
+ echo "${RED}Error: AGENT.md not found in current directory${NC}"
50
+ echo "This script should be run from your project root where AGENT.md is located."
51
+ exit 1
52
+ fi
53
+
54
+ # Create temporary directory
55
+ TEMP_DIR=$(mktemp -d)
56
+ trap "rm -rf $TEMP_DIR" EXIT
57
+
58
+ echo "Fetching latest ACP files..."
59
+ if ! git clone --depth 1 --branch "$BRANCH" "$REPO_URL" "$TEMP_DIR" &>/dev/null; then
60
+ echo "${RED}Error: Failed to fetch repository${NC}"
61
+ echo "Please check your internet connection and try again."
62
+ exit 1
63
+ fi
64
+
65
+ echo "${GREEN}✓${NC} Latest files fetched"
66
+ echo ""
67
+
68
+ # Ensure reports directory exists and is ignored
69
+ mkdir -p "agent/reports"
70
+ if [ ! -f "agent/.gitignore" ]; then
71
+ echo "Creating agent/.gitignore..."
72
+ cat > "agent/.gitignore" << 'EOF'
73
+ # Agent Context Protocol - Local Files
74
+ # These files are generated locally and should not be committed
75
+
76
+ # Reports directory - generated by @acp.report command
77
+ reports/
78
+ clarifications/
79
+ feedback/
80
+ drafts/
81
+ preferences/
82
+ EOF
83
+ echo "${GREEN}✓${NC} Created agent/.gitignore"
84
+ fi
85
+
86
+ echo "Updating ACP files..."
87
+
88
+ # Update template files (only .template.md files from these directories)
89
+ find "$TEMP_DIR/agent/design" -maxdepth 1 -name "*.template.md" -exec cp {} "agent/design/" \;
90
+ find "$TEMP_DIR/agent/milestones" -maxdepth 1 -name "*.template.md" -exec cp {} "agent/milestones/" \;
91
+ find "$TEMP_DIR/agent/patterns" -maxdepth 1 -name "*.template.md" -exec cp {} "agent/patterns/" \;
92
+ find "$TEMP_DIR/agent/tasks" -maxdepth 1 -name "*.template.md" -exec cp {} "agent/tasks/" \;
93
+
94
+ # Update command template
95
+ mkdir -p "agent/commands"
96
+ cp "$TEMP_DIR/agent/commands/command.template.md" "agent/commands/"
97
+
98
+ # Update all command files (flat structure with dot notation)
99
+ # Copies files like acp.init.md, acp.status.md, deploy.production.md, etc.
100
+ if [ -d "$TEMP_DIR/agent/commands" ]; then
101
+ find "$TEMP_DIR/agent/commands" -maxdepth 1 -name "*.*.md" -exec cp {} "agent/commands/" \;
102
+ fi
103
+
104
+ # Update progress template
105
+ cp "$TEMP_DIR/agent/progress.template.yaml" "agent/"
106
+
107
+ # Update manifest template
108
+ if [ -f "$TEMP_DIR/agent/manifest.template.yaml" ]; then
109
+ cp "$TEMP_DIR/agent/manifest.template.yaml" "agent/"
110
+ fi
111
+
112
+ # Update package template
113
+ if [ -f "$TEMP_DIR/agent/package.template.yaml" ]; then
114
+ cp "$TEMP_DIR/agent/package.template.yaml" "agent/"
115
+ fi
116
+
117
+ # Update AGENT.md
118
+ cp "$TEMP_DIR/AGENT.md" "."
119
+
120
+ # Update all scripts (*.sh files)
121
+ # This ensures all current and future scripts are copied
122
+ if [ -d "$TEMP_DIR/agent/scripts" ]; then
123
+ find "$TEMP_DIR/agent/scripts" -maxdepth 1 -name "*.sh" -exec cp {} "agent/scripts/" \;
124
+ chmod +x agent/scripts/*.sh
125
+ fi
126
+
127
+ # Clean up deprecated scripts (from versions < 2.0.0)
128
+ . "agent/scripts/acp.common.sh"
129
+ init_colors
130
+ cleanup_deprecated_scripts
131
+
132
+ echo "${GREEN}✓${NC} All files updated"
133
+ echo ""
134
+
135
+ # Update acp-core version in manifest if it exists
136
+ if [ -f "agent/manifest.yaml" ]; then
137
+ echo "Updating manifest..."
138
+
139
+ # Get new ACP version
140
+ NEW_VERSION=$(grep "^\*\*Version\*\*:" "AGENT.md" | sed 's/.*: //' | head -1)
141
+ UPDATE_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
142
+
143
+ # Update acp-core version and timestamps
144
+ _sed_i "/^ acp-core:/,/^ [a-z]/ {
145
+ s/package_version: .*/package_version: ${NEW_VERSION}/
146
+ s/updated_at: .*/updated_at: ${UPDATE_DATE}/
147
+ }" agent/manifest.yaml
148
+
149
+ # Update manifest timestamp
150
+ _sed_i "s/^last_updated: .*/last_updated: ${UPDATE_DATE}/" agent/manifest.yaml
151
+
152
+ echo "${GREEN}✓${NC} Updated acp-core to v${NEW_VERSION} in manifest.yaml"
153
+ echo ""
154
+ fi
155
+
156
+ echo "${GREEN}Update complete!${NC}"
157
+ echo ""
158
+ echo "${BLUE}What was updated:${NC}"
159
+ echo " ✓ AGENT.md (methodology documentation)"
160
+ echo " ✓ Template files (design, milestone, task, pattern)"
161
+ echo " ✓ Command files (all ACP commands)"
162
+ echo " ✓ Utility scripts (update, check-for-updates, version, etc.)"
163
+ echo ""
164
+ echo "${BLUE}Next steps:${NC}"
165
+ echo "1. Review changes: git diff"
166
+ echo "2. See what changed: git status"
167
+ echo "3. Revert if needed: git checkout <file>"
168
+ echo ""
169
+ echo "For detailed changelog:"
170
+ echo " https://github.com/prmichaelsen/agent-context-protocol/blob/mainline/CHANGELOG.md"
171
+ echo ""
172
+ display_available_commands
173
+ echo ""
174
+ echo "${BLUE}For AI agents:${NC}"
175
+ echo "Type '${GREEN}@acp.init${NC}' to reload context with updated files."
176
+ echo ""