agile-context-engineering 0.2.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +10 -0
- package/CHANGELOG.md +82 -0
- package/README.md +27 -18
- package/agents/ace-product-owner.md +1 -1
- package/agents/ace-technical-application-architect.md +28 -0
- package/agents/ace-wiki-mapper.md +144 -29
- package/bin/install.js +67 -63
- package/hooks/ace-check-update.js +17 -9
- package/package.json +7 -5
- package/shared/lib/ace-core.js +308 -0
- package/shared/lib/ace-core.test.js +308 -0
- package/shared/lib/ace-github.js +753 -0
- package/shared/lib/ace-story.js +400 -0
- package/shared/lib/ace-story.test.js +250 -0
- package/{agile-context-engineering → shared}/utils/ui-formatting.md +299 -299
- package/skills/execute-story/SKILL.md +110 -0
- package/skills/execute-story/script.js +305 -0
- package/skills/execute-story/script.test.js +261 -0
- package/skills/execute-story/walkthrough-template.xml +255 -0
- package/{agile-context-engineering/workflows/execute-story.xml → skills/execute-story/workflow.xml} +83 -9
- package/skills/help/SKILL.md +69 -0
- package/skills/help/script.js +318 -0
- package/skills/help/script.test.js +183 -0
- package/{agile-context-engineering/workflows/help.xml → skills/help/workflow.xml} +8 -8
- package/skills/init-coding-standards/SKILL.md +72 -0
- package/{agile-context-engineering/templates/wiki/coding-standards.xml → skills/init-coding-standards/coding-standards-template.xml} +38 -0
- package/skills/init-coding-standards/script.js +59 -0
- package/skills/init-coding-standards/script.test.js +70 -0
- package/{agile-context-engineering/workflows/init-coding-standards.xml → skills/init-coding-standards/workflow.xml} +4 -9
- package/skills/map-cross-cutting/SKILL.md +89 -0
- package/skills/map-cross-cutting/workflow.xml +330 -0
- package/skills/map-guide/SKILL.md +89 -0
- package/skills/map-guide/workflow.xml +320 -0
- package/skills/map-pattern/SKILL.md +89 -0
- package/skills/map-pattern/workflow.xml +331 -0
- package/skills/map-story/SKILL.md +127 -0
- package/skills/map-story/templates/guide.xml +137 -0
- package/skills/map-story/templates/pattern.xml +159 -0
- package/skills/map-story/templates/system-cross-cutting.xml +197 -0
- package/skills/map-story/templates/walkthrough.xml +255 -0
- package/{agile-context-engineering/workflows/map-story.xml → skills/map-story/workflow.xml} +258 -9
- package/skills/map-subsystem/SKILL.md +111 -0
- package/skills/map-subsystem/script.js +60 -0
- package/skills/map-subsystem/script.test.js +68 -0
- package/skills/map-subsystem/templates/decizions.xml +115 -0
- package/skills/map-subsystem/templates/guide.xml +137 -0
- package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/module-discovery.xml +3 -3
- package/skills/map-subsystem/templates/pattern.xml +159 -0
- package/skills/map-subsystem/templates/system-cross-cutting.xml +197 -0
- package/skills/map-subsystem/templates/system.xml +381 -0
- package/skills/map-subsystem/templates/walkthrough.xml +255 -0
- package/{agile-context-engineering/workflows/map-subsystem.xml → skills/map-subsystem/workflow.xml} +17 -21
- package/skills/map-sys-doc/SKILL.md +90 -0
- package/skills/map-sys-doc/system.xml +381 -0
- package/skills/map-sys-doc/workflow.xml +336 -0
- package/skills/map-system/SKILL.md +85 -0
- package/skills/map-system/script.js +84 -0
- package/skills/map-system/script.test.js +73 -0
- package/skills/map-system/templates/wiki-readme.xml +297 -0
- package/{agile-context-engineering/workflows/map-system.xml → skills/map-system/workflow.xml} +11 -16
- package/skills/map-walkthrough/SKILL.md +92 -0
- package/skills/map-walkthrough/walkthrough.xml +255 -0
- package/skills/map-walkthrough/workflow.xml +457 -0
- package/skills/plan-backlog/SKILL.md +75 -0
- package/skills/plan-backlog/script.js +136 -0
- package/skills/plan-backlog/script.test.js +83 -0
- package/{agile-context-engineering/workflows/plan-backlog.xml → skills/plan-backlog/workflow.xml} +13 -21
- package/skills/plan-feature/SKILL.md +76 -0
- package/skills/plan-feature/script.js +148 -0
- package/skills/plan-feature/script.test.js +80 -0
- package/{agile-context-engineering/workflows/plan-feature.xml → skills/plan-feature/workflow.xml} +21 -29
- package/skills/plan-product-vision/SKILL.md +75 -0
- package/skills/plan-product-vision/script.js +60 -0
- package/skills/plan-product-vision/script.test.js +69 -0
- package/{agile-context-engineering/workflows/plan-product-vision.xml → skills/plan-product-vision/workflow.xml} +4 -9
- package/skills/plan-story/SKILL.md +116 -0
- package/skills/plan-story/script.js +326 -0
- package/skills/plan-story/script.test.js +240 -0
- package/skills/plan-story/story-template.xml +451 -0
- package/{agile-context-engineering/workflows/plan-story.xml → skills/plan-story/workflow.xml} +1285 -909
- package/skills/research-external-solution/SKILL.md +107 -0
- package/skills/research-external-solution/script.js +238 -0
- package/skills/research-external-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-external-solution.xml → skills/research-external-solution/workflow.xml} +4 -6
- package/skills/research-integration-solution/SKILL.md +98 -0
- package/{agile-context-engineering/templates/product/story-integration-solution.xml → skills/research-integration-solution/integration-solution-template.xml} +1 -0
- package/skills/research-integration-solution/script.js +231 -0
- package/skills/research-integration-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-integration-solution.xml → skills/research-integration-solution/workflow.xml} +4 -5
- package/skills/research-story-wiki/SKILL.md +92 -0
- package/skills/research-story-wiki/script.js +231 -0
- package/skills/research-story-wiki/script.test.js +138 -0
- package/{agile-context-engineering/templates/product/story-wiki.xml → skills/research-story-wiki/story-wiki-template.xml} +4 -0
- package/{agile-context-engineering/workflows/research-story-wiki.xml → skills/research-story-wiki/workflow.xml} +5 -6
- package/skills/research-technical-solution/SKILL.md +103 -0
- package/skills/research-technical-solution/script.js +231 -0
- package/skills/research-technical-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-technical-solution.xml → skills/research-technical-solution/workflow.xml} +4 -5
- package/skills/review-story/SKILL.md +100 -0
- package/skills/review-story/script.js +257 -0
- package/skills/review-story/script.test.js +169 -0
- package/skills/review-story/story-template.xml +451 -0
- package/{agile-context-engineering/workflows/review-story.xml → skills/review-story/workflow.xml} +1 -3
- package/skills/update/SKILL.md +53 -0
- package/{agile-context-engineering/workflows/update.xml → skills/update/workflow.xml} +237 -207
- package/agile-context-engineering/src/ace-tools.js +0 -2881
- package/agile-context-engineering/src/ace-tools.test.js +0 -1089
- package/agile-context-engineering/templates/_command.md +0 -54
- package/agile-context-engineering/templates/_workflow.xml +0 -17
- package/agile-context-engineering/templates/config.json +0 -0
- package/agile-context-engineering/templates/product/integration-solution.xml +0 -0
- package/agile-context-engineering/templates/wiki/wiki-readme.xml +0 -276
- package/commands/ace/execute-story.md +0 -137
- package/commands/ace/help.md +0 -93
- package/commands/ace/init-coding-standards.md +0 -83
- package/commands/ace/map-story.md +0 -156
- package/commands/ace/map-subsystem.md +0 -138
- package/commands/ace/map-system.md +0 -92
- package/commands/ace/plan-backlog.md +0 -83
- package/commands/ace/plan-feature.md +0 -89
- package/commands/ace/plan-product-vision.md +0 -81
- package/commands/ace/plan-story.md +0 -145
- package/commands/ace/research-external-solution.md +0 -138
- package/commands/ace/research-integration-solution.md +0 -135
- package/commands/ace/research-story-wiki.md +0 -116
- package/commands/ace/research-technical-solution.md +0 -147
- package/commands/ace/review-story.md +0 -109
- package/commands/ace/update.md +0 -54
- /package/{agile-context-engineering → shared}/utils/questioning.xml +0 -0
- /package/{agile-context-engineering/templates/product/story.xml → skills/execute-story/story-template.xml} +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-cross-cutting}/system-cross-cutting.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-guide}/guide.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-pattern}/pattern.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/decizions.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/system.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/tech-debt-index.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-architecture.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-structure.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-architecture.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-structure.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/testing-framework.xml +0 -0
- /package/{agile-context-engineering/templates/product/product-backlog.xml → skills/plan-backlog/product-backlog-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/feature.xml → skills/plan-feature/feature-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/product-vision.xml → skills/plan-product-vision/product-vision-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/external-solution.xml → skills/research-external-solution/external-solution-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/story-technical-solution.xml → skills/research-technical-solution/technical-solution-template.xml} +0 -0
|
@@ -1,207 +1,237 @@
|
|
|
1
|
-
<workflow>
|
|
2
|
-
|
|
3
|
-
<purpose>
|
|
4
|
-
Check for ACE updates via npm, display
|
|
5
|
-
and execute clean installation with cache clearing.
|
|
6
|
-
</purpose>
|
|
7
|
-
|
|
8
|
-
<mandatory-context>
|
|
9
|
-
Read all files referenced by the invoking prompt's execution-context before starting.
|
|
10
|
-
</mandatory-context>
|
|
11
|
-
|
|
12
|
-
<process>
|
|
13
|
-
|
|
14
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
15
|
-
<!-- STEP 1: DETECT INSTALLATION -->
|
|
16
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
17
|
-
|
|
18
|
-
<step name="detect-installation" order="1">
|
|
19
|
-
Detect whether ACE is installed locally or globally, and for which runtime.
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
if [ -f "./.claude/
|
|
23
|
-
echo "SCOPE=local"
|
|
24
|
-
echo "RUNTIME=claude"
|
|
25
|
-
echo "VERSION=$(cat ./.claude/
|
|
26
|
-
elif [ -f "$HOME/.claude/
|
|
27
|
-
echo "SCOPE=global"
|
|
28
|
-
echo "RUNTIME=claude"
|
|
29
|
-
echo "VERSION=$(cat $HOME/.claude/
|
|
30
|
-
elif [ -f "./.opencode/
|
|
31
|
-
echo "SCOPE=local"
|
|
32
|
-
echo "RUNTIME=opencode"
|
|
33
|
-
echo "VERSION=$(cat ./.opencode/
|
|
34
|
-
elif [ -f "$HOME/.opencode/
|
|
35
|
-
echo "SCOPE=global"
|
|
36
|
-
echo "RUNTIME=opencode"
|
|
37
|
-
echo "VERSION=$(cat $HOME/.opencode/
|
|
38
|
-
else
|
|
39
|
-
echo "SCOPE=unknown"
|
|
40
|
-
echo "RUNTIME=claude"
|
|
41
|
-
echo "VERSION=0.0.0"
|
|
42
|
-
fi
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Parse SCOPE, RUNTIME, and VERSION from the output.
|
|
46
|
-
|
|
47
|
-
**If SCOPE is "unknown":**
|
|
48
|
-
```
|
|
49
|
-
## ACE Update
|
|
50
|
-
|
|
51
|
-
**Installed version:** Unknown
|
|
52
|
-
|
|
53
|
-
Your installation doesn't include version tracking.
|
|
54
|
-
Running fresh install...
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Proceed with VERSION=0.0.0.
|
|
58
|
-
</step>
|
|
59
|
-
|
|
60
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
61
|
-
<!-- STEP 2: CHECK LATEST VERSION -->
|
|
62
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
63
|
-
|
|
64
|
-
<step name="check-latest-version" order="2">
|
|
65
|
-
Check npm for the latest published version:
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
npm view agile-context-engineering version 2>/dev/null
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
**If npm check fails:**
|
|
72
|
-
```
|
|
73
|
-
Couldn't check for updates (offline or npm unavailable).
|
|
74
|
-
|
|
75
|
-
To update manually: `npx agile-context-engineering --claude --global`
|
|
76
|
-
```
|
|
77
|
-
Exit.
|
|
78
|
-
</step>
|
|
79
|
-
|
|
80
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
81
|
-
<!-- STEP 3: COMPARE VERSIONS -->
|
|
82
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
83
|
-
|
|
84
|
-
<step name="compare-versions" order="3">
|
|
85
|
-
Compare installed vs latest.
|
|
86
|
-
|
|
87
|
-
**If installed == latest:**
|
|
88
|
-
```
|
|
89
|
-
## ACE Update
|
|
90
|
-
|
|
91
|
-
**Installed:** X.Y.Z
|
|
92
|
-
**Latest:** X.Y.Z
|
|
93
|
-
|
|
94
|
-
You're already on the latest version.
|
|
95
|
-
```
|
|
96
|
-
Exit.
|
|
97
|
-
|
|
98
|
-
**If installed > latest:**
|
|
99
|
-
```
|
|
100
|
-
## ACE Update
|
|
101
|
-
|
|
102
|
-
**Installed:** X.Y.Z
|
|
103
|
-
**Latest:** A.B.C
|
|
104
|
-
|
|
105
|
-
You're ahead of the latest release (development version?).
|
|
106
|
-
```
|
|
107
|
-
Exit.
|
|
108
|
-
</step>
|
|
109
|
-
|
|
110
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
111
|
-
<!-- STEP 4:
|
|
112
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
113
|
-
|
|
114
|
-
<step name="confirm
|
|
115
|
-
If update is available,
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
**
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
1
|
+
<workflow>
|
|
2
|
+
|
|
3
|
+
<purpose>
|
|
4
|
+
Check for ACE updates via npm, display changelog for versions between installed and latest,
|
|
5
|
+
obtain user confirmation, and execute clean installation with cache clearing.
|
|
6
|
+
</purpose>
|
|
7
|
+
|
|
8
|
+
<mandatory-context>
|
|
9
|
+
Read all files referenced by the invoking prompt's execution-context before starting.
|
|
10
|
+
</mandatory-context>
|
|
11
|
+
|
|
12
|
+
<process>
|
|
13
|
+
|
|
14
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
15
|
+
<!-- STEP 1: DETECT INSTALLATION -->
|
|
16
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
17
|
+
|
|
18
|
+
<step name="detect-installation" order="1">
|
|
19
|
+
Detect whether ACE is installed locally or globally, and for which runtime.
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
if [ -f "./.claude/shared/VERSION" ]; then
|
|
23
|
+
echo "SCOPE=local"
|
|
24
|
+
echo "RUNTIME=claude"
|
|
25
|
+
echo "VERSION=$(cat ./.claude/shared/VERSION)"
|
|
26
|
+
elif [ -f "$HOME/.claude/shared/VERSION" ]; then
|
|
27
|
+
echo "SCOPE=global"
|
|
28
|
+
echo "RUNTIME=claude"
|
|
29
|
+
echo "VERSION=$(cat $HOME/.claude/shared/VERSION)"
|
|
30
|
+
elif [ -f "./.opencode/shared/VERSION" ]; then
|
|
31
|
+
echo "SCOPE=local"
|
|
32
|
+
echo "RUNTIME=opencode"
|
|
33
|
+
echo "VERSION=$(cat ./.opencode/shared/VERSION)"
|
|
34
|
+
elif [ -f "$HOME/.opencode/shared/VERSION" ]; then
|
|
35
|
+
echo "SCOPE=global"
|
|
36
|
+
echo "RUNTIME=opencode"
|
|
37
|
+
echo "VERSION=$(cat $HOME/.opencode/shared/VERSION)"
|
|
38
|
+
else
|
|
39
|
+
echo "SCOPE=unknown"
|
|
40
|
+
echo "RUNTIME=claude"
|
|
41
|
+
echo "VERSION=0.0.0"
|
|
42
|
+
fi
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Parse SCOPE, RUNTIME, and VERSION from the output.
|
|
46
|
+
|
|
47
|
+
**If SCOPE is "unknown":**
|
|
48
|
+
```
|
|
49
|
+
## ACE Update
|
|
50
|
+
|
|
51
|
+
**Installed version:** Unknown
|
|
52
|
+
|
|
53
|
+
Your installation doesn't include version tracking.
|
|
54
|
+
Running fresh install...
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Proceed with VERSION=0.0.0.
|
|
58
|
+
</step>
|
|
59
|
+
|
|
60
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
61
|
+
<!-- STEP 2: CHECK LATEST VERSION -->
|
|
62
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
63
|
+
|
|
64
|
+
<step name="check-latest-version" order="2">
|
|
65
|
+
Check npm for the latest published version:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npm view agile-context-engineering version 2>/dev/null
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**If npm check fails:**
|
|
72
|
+
```
|
|
73
|
+
Couldn't check for updates (offline or npm unavailable).
|
|
74
|
+
|
|
75
|
+
To update manually: `npx agile-context-engineering --claude --global`
|
|
76
|
+
```
|
|
77
|
+
Exit.
|
|
78
|
+
</step>
|
|
79
|
+
|
|
80
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
81
|
+
<!-- STEP 3: COMPARE VERSIONS -->
|
|
82
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
83
|
+
|
|
84
|
+
<step name="compare-versions" order="3">
|
|
85
|
+
Compare installed vs latest.
|
|
86
|
+
|
|
87
|
+
**If installed == latest:**
|
|
88
|
+
```
|
|
89
|
+
## ACE Update
|
|
90
|
+
|
|
91
|
+
**Installed:** X.Y.Z
|
|
92
|
+
**Latest:** X.Y.Z
|
|
93
|
+
|
|
94
|
+
You're already on the latest version.
|
|
95
|
+
```
|
|
96
|
+
Exit.
|
|
97
|
+
|
|
98
|
+
**If installed > latest:**
|
|
99
|
+
```
|
|
100
|
+
## ACE Update
|
|
101
|
+
|
|
102
|
+
**Installed:** X.Y.Z
|
|
103
|
+
**Latest:** A.B.C
|
|
104
|
+
|
|
105
|
+
You're ahead of the latest release (development version?).
|
|
106
|
+
```
|
|
107
|
+
Exit.
|
|
108
|
+
</step>
|
|
109
|
+
|
|
110
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
111
|
+
<!-- STEP 4: FETCH AND SHOW CHANGELOG -->
|
|
112
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
113
|
+
|
|
114
|
+
<step name="show-changelog-and-confirm" order="4">
|
|
115
|
+
If update is available, fetch the changelog and show what's new BEFORE updating.
|
|
116
|
+
|
|
117
|
+
1. **Try local changelog first** — check if CHANGELOG.md exists in the installation:
|
|
118
|
+
|
|
119
|
+
For SCOPE=local: `./.claude/shared/CHANGELOG.md`
|
|
120
|
+
For SCOPE=global: `~/.claude/shared/CHANGELOG.md`
|
|
121
|
+
(substitute `.opencode` for Crush runtime)
|
|
122
|
+
|
|
123
|
+
If found, read it directly.
|
|
124
|
+
|
|
125
|
+
2. **Fall back to GitHub** — if local file not found, use WebFetch to fetch:
|
|
126
|
+
`https://raw.githubusercontent.com/Quantarcane/ACE/main/CHANGELOG.md`
|
|
127
|
+
|
|
128
|
+
If fetch fails, skip changelog display and proceed without it.
|
|
129
|
+
|
|
130
|
+
3. **Extract relevant entries** — from the fetched/read content, extract all
|
|
131
|
+
changelog sections between the installed version and the latest version.
|
|
132
|
+
|
|
133
|
+
Look for lines matching `## [X.Y.Z]` and extract everything from
|
|
134
|
+
`## [{latest_version}]` down to (but not including) `## [{installed_version}]`.
|
|
135
|
+
|
|
136
|
+
4. **Display preview and ask for confirmation:**
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
## ACE Update Available
|
|
140
|
+
|
|
141
|
+
**Installed:** {installed_version}
|
|
142
|
+
**Latest:** {latest_version}
|
|
143
|
+
|
|
144
|
+
### What's New
|
|
145
|
+
────────────────────────────────────────────────────────────
|
|
146
|
+
|
|
147
|
+
{extracted changelog entries}
|
|
148
|
+
|
|
149
|
+
────────────────────────────────────────────────────────────
|
|
150
|
+
|
|
151
|
+
The installer performs a clean install of ACE folders:
|
|
152
|
+
- `skills/`, `shared/`, `.claude-plugin/` will be wiped and replaced
|
|
153
|
+
- `agents/ace-*` files will be replaced
|
|
154
|
+
|
|
155
|
+
Your custom files are preserved:
|
|
156
|
+
- Custom skills not in the ACE plugin
|
|
157
|
+
- Custom agents not prefixed with `ace-`
|
|
158
|
+
- Your CLAUDE.md files
|
|
159
|
+
- Your .ace/ project artifacts
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Use AskUserQuestion:
|
|
163
|
+
- Question: "Proceed with update?"
|
|
164
|
+
- Options:
|
|
165
|
+
- "Yes, update now"
|
|
166
|
+
- "No, cancel"
|
|
167
|
+
|
|
168
|
+
**If user cancels:** Exit.
|
|
169
|
+
</step>
|
|
170
|
+
|
|
171
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
172
|
+
<!-- STEP 5: RUN UPDATE -->
|
|
173
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
174
|
+
|
|
175
|
+
<step name="run-update" order="5">
|
|
176
|
+
Run the update using detected SCOPE and RUNTIME from step 1.
|
|
177
|
+
|
|
178
|
+
Build the command: `npx agile-context-engineering --{RUNTIME} --{SCOPE}`
|
|
179
|
+
|
|
180
|
+
Examples:
|
|
181
|
+
- Global Claude: `npx agile-context-engineering --claude --global`
|
|
182
|
+
- Local Claude: `npx agile-context-engineering --claude --local`
|
|
183
|
+
- Global Crush: `npx agile-context-engineering --opencode --global`
|
|
184
|
+
- Local Crush: `npx agile-context-engineering --opencode --local`
|
|
185
|
+
|
|
186
|
+
If SCOPE was "unknown", default to `--claude --global`.
|
|
187
|
+
|
|
188
|
+
Capture output. If install fails, show error and exit.
|
|
189
|
+
|
|
190
|
+
Clear the update cache so statusline indicator disappears:
|
|
191
|
+
|
|
192
|
+
**If SCOPE is "local":**
|
|
193
|
+
```bash
|
|
194
|
+
rm -f ./.claude/cache/ace-update-check.json
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**If SCOPE is "global":**
|
|
198
|
+
```bash
|
|
199
|
+
rm -f "$HOME/.claude/cache/ace-update-check.json"
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
For Crush runtime, substitute `.opencode` for `.claude` in the cache path.
|
|
203
|
+
</step>
|
|
204
|
+
|
|
205
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
206
|
+
<!-- STEP 6: DISPLAY RESULT -->
|
|
207
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
208
|
+
|
|
209
|
+
<step name="display-result" order="6">
|
|
210
|
+
Format completion message (changelog was already shown in confirmation step):
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
============================================================
|
|
214
|
+
ACE Updated: v{old} -> v{new}
|
|
215
|
+
============================================================
|
|
216
|
+
|
|
217
|
+
Restart Claude Code to pick up the new commands.
|
|
218
|
+
|
|
219
|
+
View full changelog: https://github.com/Quantarcane/ACE/blob/main/CHANGELOG.md
|
|
220
|
+
```
|
|
221
|
+
</step>
|
|
222
|
+
|
|
223
|
+
</process>
|
|
224
|
+
|
|
225
|
+
<success_criteria>
|
|
226
|
+
<check>Installed version detected correctly (local/global, claude/crush)</check>
|
|
227
|
+
<check>Latest version checked via npm</check>
|
|
228
|
+
<check>Update skipped if already current</check>
|
|
229
|
+
<check>Changelog fetched and displayed BEFORE update</check>
|
|
230
|
+
<check>Clean install warning shown</check>
|
|
231
|
+
<check>User confirmation obtained before update</check>
|
|
232
|
+
<check>Update executed with correct --runtime and --scope flags</check>
|
|
233
|
+
<check>Update cache cleared</check>
|
|
234
|
+
<check>Restart reminder shown</check>
|
|
235
|
+
</success_criteria>
|
|
236
|
+
|
|
237
|
+
</workflow>
|