@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.
- package/README.md +68 -0
- package/agent/commands/acp.clarification-address.md +417 -0
- package/agent/commands/acp.clarification-capture.md +386 -0
- package/agent/commands/acp.clarification-create.md +437 -0
- package/agent/commands/acp.clarifications-research.md +326 -0
- package/agent/commands/acp.command-create.md +432 -0
- package/agent/commands/acp.design-create.md +286 -0
- package/agent/commands/acp.design-reference.md +355 -0
- package/agent/commands/acp.handoff.md +270 -0
- package/agent/commands/acp.index.md +423 -0
- package/agent/commands/acp.init.md +546 -0
- package/agent/commands/acp.package-create.md +895 -0
- package/agent/commands/acp.package-info.md +212 -0
- package/agent/commands/acp.package-install.md +539 -0
- package/agent/commands/acp.package-list.md +280 -0
- package/agent/commands/acp.package-publish.md +541 -0
- package/agent/commands/acp.package-remove.md +293 -0
- package/agent/commands/acp.package-search.md +307 -0
- package/agent/commands/acp.package-update.md +361 -0
- package/agent/commands/acp.package-validate.md +540 -0
- package/agent/commands/acp.pattern-create.md +386 -0
- package/agent/commands/acp.plan.md +587 -0
- package/agent/commands/acp.proceed.md +882 -0
- package/agent/commands/acp.project-create.md +675 -0
- package/agent/commands/acp.project-info.md +312 -0
- package/agent/commands/acp.project-list.md +226 -0
- package/agent/commands/acp.project-remove.md +379 -0
- package/agent/commands/acp.project-set.md +227 -0
- package/agent/commands/acp.project-update.md +307 -0
- package/agent/commands/acp.projects-restore.md +228 -0
- package/agent/commands/acp.projects-sync.md +347 -0
- package/agent/commands/acp.report.md +407 -0
- package/agent/commands/acp.resume.md +239 -0
- package/agent/commands/acp.sessions.md +301 -0
- package/agent/commands/acp.status.md +293 -0
- package/agent/commands/acp.sync.md +364 -0
- package/agent/commands/acp.task-create.md +500 -0
- package/agent/commands/acp.update.md +302 -0
- package/agent/commands/acp.validate.md +466 -0
- package/agent/commands/acp.version-check-for-updates.md +276 -0
- package/agent/commands/acp.version-check.md +191 -0
- package/agent/commands/acp.version-update.md +289 -0
- package/agent/commands/command.template.md +339 -0
- package/agent/commands/git.commit.md +526 -0
- package/agent/commands/git.init.md +514 -0
- package/agent/commands/tanstack-cloudflare.deploy.md +272 -0
- package/agent/commands/tanstack-cloudflare.tail.md +275 -0
- package/agent/design/.gitkeep +0 -0
- package/agent/design/design.template.md +154 -0
- package/agent/design/local.dashboard-layout-routing.md +288 -0
- package/agent/design/local.data-model-yaml-parsing.md +310 -0
- package/agent/design/local.search-filtering.md +331 -0
- package/agent/design/local.server-api-auto-refresh.md +235 -0
- package/agent/design/local.table-tree-views.md +299 -0
- package/agent/design/local.visualizer-requirements.md +349 -0
- package/agent/design/requirements.template.md +387 -0
- package/agent/index/.gitkeep +0 -0
- package/agent/index/acp.core.yaml +137 -0
- package/agent/index/local.main.template.yaml +37 -0
- package/agent/manifest.template.yaml +13 -0
- package/agent/manifest.yaml +302 -0
- package/agent/milestones/.gitkeep +0 -0
- package/agent/milestones/milestone-1-project-scaffold-data-pipeline.md +67 -0
- package/agent/milestones/milestone-1-{title}.template.md +206 -0
- package/agent/milestones/milestone-2-dashboard-views-interaction.md +79 -0
- package/agent/package.template.yaml +86 -0
- package/agent/patterns/.gitkeep +0 -0
- package/agent/patterns/bootstrap.template.md +1237 -0
- package/agent/patterns/pattern.template.md +382 -0
- package/agent/patterns/tanstack-cloudflare.acl-permissions.md +332 -0
- package/agent/patterns/tanstack-cloudflare.action-bar-item.md +416 -0
- package/agent/patterns/tanstack-cloudflare.api-route-handlers.md +401 -0
- package/agent/patterns/tanstack-cloudflare.auth-session-management.md +387 -0
- package/agent/patterns/tanstack-cloudflare.card-and-list.md +271 -0
- package/agent/patterns/tanstack-cloudflare.chat-engine.md +353 -0
- package/agent/patterns/tanstack-cloudflare.confirmation-tokens.md +346 -0
- package/agent/patterns/tanstack-cloudflare.durable-objects-websocket.md +516 -0
- package/agent/patterns/tanstack-cloudflare.email-service.md +431 -0
- package/agent/patterns/tanstack-cloudflare.expander.md +98 -0
- package/agent/patterns/tanstack-cloudflare.fcm-push.md +115 -0
- package/agent/patterns/tanstack-cloudflare.firebase-anonymous-sessions.md +441 -0
- package/agent/patterns/tanstack-cloudflare.firebase-auth.md +348 -0
- package/agent/patterns/tanstack-cloudflare.firebase-firestore.md +550 -0
- package/agent/patterns/tanstack-cloudflare.firebase-storage.md +369 -0
- package/agent/patterns/tanstack-cloudflare.form-controls.md +145 -0
- package/agent/patterns/tanstack-cloudflare.global-search-context.md +93 -0
- package/agent/patterns/tanstack-cloudflare.image-carousel.md +126 -0
- package/agent/patterns/tanstack-cloudflare.library-services.md +553 -0
- package/agent/patterns/tanstack-cloudflare.lightbox.md +169 -0
- package/agent/patterns/tanstack-cloudflare.markdown-content.md +115 -0
- package/agent/patterns/tanstack-cloudflare.mention-suggestions.md +98 -0
- package/agent/patterns/tanstack-cloudflare.modal.md +156 -0
- package/agent/patterns/tanstack-cloudflare.nextjs-to-tanstack-routing.md +461 -0
- package/agent/patterns/tanstack-cloudflare.notifications-engine.md +151 -0
- package/agent/patterns/tanstack-cloudflare.oauth-token-refresh.md +90 -0
- package/agent/patterns/tanstack-cloudflare.og-metadata.md +296 -0
- package/agent/patterns/tanstack-cloudflare.pagination.md +442 -0
- package/agent/patterns/tanstack-cloudflare.pill-input.md +220 -0
- package/agent/patterns/tanstack-cloudflare.provider-adapter.md +401 -0
- package/agent/patterns/tanstack-cloudflare.rate-limiting.md +323 -0
- package/agent/patterns/tanstack-cloudflare.scheduled-tasks.md +338 -0
- package/agent/patterns/tanstack-cloudflare.searchable-settings.md +375 -0
- package/agent/patterns/tanstack-cloudflare.slide-over.md +129 -0
- package/agent/patterns/tanstack-cloudflare.ssr-preload.md +571 -0
- package/agent/patterns/tanstack-cloudflare.third-party-api-integration.md +508 -0
- package/agent/patterns/tanstack-cloudflare.toast-system.md +142 -0
- package/agent/patterns/tanstack-cloudflare.unified-header.md +280 -0
- package/agent/patterns/tanstack-cloudflare.user-scoped-collections.md +628 -0
- package/agent/patterns/tanstack-cloudflare.websocket-manager.md +237 -0
- package/agent/patterns/tanstack-cloudflare.wrangler-configuration.md +358 -0
- package/agent/patterns/tanstack-cloudflare.zod-schema-validation.md +336 -0
- package/agent/progress.template.yaml +161 -0
- package/agent/progress.yaml +145 -0
- package/agent/schemas/package.schema.yaml +276 -0
- package/agent/scripts/acp.common.sh +1781 -0
- package/agent/scripts/acp.install.sh +333 -0
- package/agent/scripts/acp.package-create.sh +924 -0
- package/agent/scripts/acp.package-info.sh +288 -0
- package/agent/scripts/acp.package-install.sh +893 -0
- package/agent/scripts/acp.package-list.sh +311 -0
- package/agent/scripts/acp.package-publish.sh +420 -0
- package/agent/scripts/acp.package-remove.sh +348 -0
- package/agent/scripts/acp.package-search.sh +156 -0
- package/agent/scripts/acp.package-update.sh +517 -0
- package/agent/scripts/acp.package-validate.sh +1018 -0
- package/agent/scripts/acp.uninstall.sh +85 -0
- package/agent/scripts/acp.version-check-for-updates.sh +98 -0
- package/agent/scripts/acp.version-check.sh +47 -0
- package/agent/scripts/acp.version-update.sh +176 -0
- package/agent/scripts/acp.yaml-parser.sh +985 -0
- package/agent/scripts/acp.yaml-validate.sh +205 -0
- package/agent/tasks/.gitkeep +0 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-1-initialize-tanstack-start-project.md +210 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-2-implement-data-model-yaml-parser.md +294 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-3-build-server-api-data-loading.md +193 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-4-add-auto-refresh-sse.md +262 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-10-polish-integration-testing.md +156 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-5-build-dashboard-layout-routing.md +178 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-6-build-overview-page.md +141 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-7-implement-milestone-table-view.md +153 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-8-implement-milestone-tree-view.md +174 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-9-implement-search-filtering.md +233 -0
- package/agent/tasks/task-1-{title}.template.md +244 -0
- package/bin/visualize.mjs +84 -0
- package/package.json +48 -0
- package/src/components/ExtraFieldsBadge.tsx +15 -0
- package/src/components/FilterBar.tsx +33 -0
- package/src/components/Header.tsx +23 -0
- package/src/components/MilestoneTable.tsx +167 -0
- package/src/components/MilestoneTree.tsx +84 -0
- package/src/components/ProgressBar.tsx +20 -0
- package/src/components/SearchInput.tsx +22 -0
- package/src/components/Sidebar.tsx +54 -0
- package/src/components/StatusBadge.tsx +23 -0
- package/src/components/StatusDot.tsx +12 -0
- package/src/components/TaskList.tsx +36 -0
- package/src/components/ViewToggle.tsx +31 -0
- package/src/lib/config.ts +8 -0
- package/src/lib/file-watcher.ts +43 -0
- package/src/lib/search.ts +48 -0
- package/src/lib/types.ts +73 -0
- package/src/lib/useAutoRefresh.ts +31 -0
- package/src/lib/useCollapse.ts +31 -0
- package/src/lib/useFilteredData.ts +55 -0
- package/src/lib/yaml-loader-real.spec.ts +47 -0
- package/src/lib/yaml-loader.spec.ts +201 -0
- package/src/lib/yaml-loader.ts +265 -0
- package/src/routeTree.gen.ts +140 -0
- package/src/router.tsx +10 -0
- package/src/routes/__root.tsx +75 -0
- package/src/routes/api/watch.ts +29 -0
- package/src/routes/index.tsx +115 -0
- package/src/routes/milestones.tsx +50 -0
- package/src/routes/search.tsx +84 -0
- package/src/routes/tasks.tsx +63 -0
- package/src/services/progress-database.service.ts +46 -0
- package/src/styles.css +25 -0
- package/tsconfig.json +24 -0
- package/vite.config.ts +16 -0
- 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 ""
|