aether-colony 1.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/.aether/CONTEXT.md +160 -0
- package/.aether/QUEEN.md +84 -0
- package/.aether/aether-utils.sh +7749 -0
- package/.aether/docs/QUEEN-SYSTEM.md +211 -0
- package/.aether/docs/README.md +68 -0
- package/.aether/docs/caste-system.md +48 -0
- package/.aether/docs/disciplines/DISCIPLINES.md +93 -0
- package/.aether/docs/disciplines/coding-standards.md +197 -0
- package/.aether/docs/disciplines/debugging.md +207 -0
- package/.aether/docs/disciplines/learning.md +254 -0
- package/.aether/docs/disciplines/tdd.md +257 -0
- package/.aether/docs/disciplines/verification-loop.md +167 -0
- package/.aether/docs/disciplines/verification.md +116 -0
- package/.aether/docs/error-codes.md +268 -0
- package/.aether/docs/known-issues.md +233 -0
- package/.aether/docs/pheromones.md +205 -0
- package/.aether/docs/queen-commands.md +97 -0
- package/.aether/exchange/colony-registry.xml +11 -0
- package/.aether/exchange/pheromone-xml.sh +575 -0
- package/.aether/exchange/pheromones.xml +87 -0
- package/.aether/exchange/queen-wisdom.xml +14 -0
- package/.aether/exchange/registry-xml.sh +273 -0
- package/.aether/exchange/wisdom-xml.sh +319 -0
- package/.aether/midden/approach-changes.md +5 -0
- package/.aether/midden/build-failures.md +5 -0
- package/.aether/midden/test-failures.md +5 -0
- package/.aether/model-profiles.yaml +100 -0
- package/.aether/rules/aether-colony.md +134 -0
- package/.aether/schemas/aether-types.xsd +255 -0
- package/.aether/schemas/colony-registry.xsd +309 -0
- package/.aether/schemas/example-prompt-builder.xml +234 -0
- package/.aether/schemas/pheromone.xsd +163 -0
- package/.aether/schemas/prompt.xsd +416 -0
- package/.aether/schemas/queen-wisdom.xsd +325 -0
- package/.aether/schemas/worker-priming.xsd +276 -0
- package/.aether/templates/QUEEN.md.template +79 -0
- package/.aether/templates/colony-state-reset.jq.template +22 -0
- package/.aether/templates/colony-state.template.json +35 -0
- package/.aether/templates/constraints.template.json +9 -0
- package/.aether/templates/crowned-anthill.template.md +36 -0
- package/.aether/templates/handoff-build-error.template.md +30 -0
- package/.aether/templates/handoff-build-success.template.md +39 -0
- package/.aether/templates/handoff.template.md +40 -0
- package/.aether/templates/learning-observations.template.json +6 -0
- package/.aether/templates/midden.template.json +7 -0
- package/.aether/templates/pheromones.template.json +6 -0
- package/.aether/templates/session.template.json +9 -0
- package/.aether/utils/atomic-write.sh +219 -0
- package/.aether/utils/chamber-compare.sh +193 -0
- package/.aether/utils/chamber-utils.sh +297 -0
- package/.aether/utils/colorize-log.sh +132 -0
- package/.aether/utils/error-handler.sh +212 -0
- package/.aether/utils/file-lock.sh +158 -0
- package/.aether/utils/queen-to-md.xsl +395 -0
- package/.aether/utils/semantic-cli.sh +413 -0
- package/.aether/utils/spawn-tree.sh +428 -0
- package/.aether/utils/spawn-with-model.sh +56 -0
- package/.aether/utils/state-loader.sh +215 -0
- package/.aether/utils/swarm-display.sh +268 -0
- package/.aether/utils/watch-spawn-tree.sh +253 -0
- package/.aether/utils/xml-compose.sh +253 -0
- package/.aether/utils/xml-convert.sh +273 -0
- package/.aether/utils/xml-core.sh +186 -0
- package/.aether/utils/xml-query.sh +201 -0
- package/.aether/utils/xml-utils.sh +110 -0
- package/.aether/workers.md +765 -0
- package/.claude/agents/ant/aether-ambassador.md +264 -0
- package/.claude/agents/ant/aether-archaeologist.md +322 -0
- package/.claude/agents/ant/aether-auditor.md +266 -0
- package/.claude/agents/ant/aether-builder.md +187 -0
- package/.claude/agents/ant/aether-chaos.md +268 -0
- package/.claude/agents/ant/aether-chronicler.md +304 -0
- package/.claude/agents/ant/aether-gatekeeper.md +325 -0
- package/.claude/agents/ant/aether-includer.md +373 -0
- package/.claude/agents/ant/aether-keeper.md +271 -0
- package/.claude/agents/ant/aether-measurer.md +317 -0
- package/.claude/agents/ant/aether-probe.md +210 -0
- package/.claude/agents/ant/aether-queen.md +325 -0
- package/.claude/agents/ant/aether-route-setter.md +173 -0
- package/.claude/agents/ant/aether-sage.md +353 -0
- package/.claude/agents/ant/aether-scout.md +142 -0
- package/.claude/agents/ant/aether-surveyor-disciplines.md +416 -0
- package/.claude/agents/ant/aether-surveyor-nest.md +354 -0
- package/.claude/agents/ant/aether-surveyor-pathogens.md +288 -0
- package/.claude/agents/ant/aether-surveyor-provisions.md +359 -0
- package/.claude/agents/ant/aether-tracker.md +265 -0
- package/.claude/agents/ant/aether-watcher.md +244 -0
- package/.claude/agents/ant/aether-weaver.md +247 -0
- package/.claude/commands/ant/archaeology.md +341 -0
- package/.claude/commands/ant/build.md +1160 -0
- package/.claude/commands/ant/chaos.md +349 -0
- package/.claude/commands/ant/colonize.md +270 -0
- package/.claude/commands/ant/continue.md +1070 -0
- package/.claude/commands/ant/council.md +309 -0
- package/.claude/commands/ant/dream.md +265 -0
- package/.claude/commands/ant/entomb.md +487 -0
- package/.claude/commands/ant/feedback.md +78 -0
- package/.claude/commands/ant/flag.md +139 -0
- package/.claude/commands/ant/flags.md +155 -0
- package/.claude/commands/ant/focus.md +58 -0
- package/.claude/commands/ant/help.md +122 -0
- package/.claude/commands/ant/history.md +137 -0
- package/.claude/commands/ant/init.md +409 -0
- package/.claude/commands/ant/interpret.md +267 -0
- package/.claude/commands/ant/lay-eggs.md +201 -0
- package/.claude/commands/ant/maturity.md +102 -0
- package/.claude/commands/ant/memory-details.md +77 -0
- package/.claude/commands/ant/migrate-state.md +165 -0
- package/.claude/commands/ant/oracle.md +387 -0
- package/.claude/commands/ant/organize.md +227 -0
- package/.claude/commands/ant/pause-colony.md +247 -0
- package/.claude/commands/ant/phase.md +126 -0
- package/.claude/commands/ant/plan.md +544 -0
- package/.claude/commands/ant/redirect.md +58 -0
- package/.claude/commands/ant/resume-colony.md +182 -0
- package/.claude/commands/ant/resume.md +363 -0
- package/.claude/commands/ant/seal.md +306 -0
- package/.claude/commands/ant/status.md +272 -0
- package/.claude/commands/ant/swarm.md +361 -0
- package/.claude/commands/ant/tunnels.md +425 -0
- package/.claude/commands/ant/update.md +209 -0
- package/.claude/commands/ant/verify-castes.md +95 -0
- package/.claude/commands/ant/watch.md +238 -0
- package/.opencode/agents/aether-ambassador.md +140 -0
- package/.opencode/agents/aether-archaeologist.md +108 -0
- package/.opencode/agents/aether-auditor.md +144 -0
- package/.opencode/agents/aether-builder.md +184 -0
- package/.opencode/agents/aether-chaos.md +115 -0
- package/.opencode/agents/aether-chronicler.md +122 -0
- package/.opencode/agents/aether-gatekeeper.md +116 -0
- package/.opencode/agents/aether-includer.md +117 -0
- package/.opencode/agents/aether-keeper.md +177 -0
- package/.opencode/agents/aether-measurer.md +128 -0
- package/.opencode/agents/aether-probe.md +133 -0
- package/.opencode/agents/aether-queen.md +286 -0
- package/.opencode/agents/aether-route-setter.md +130 -0
- package/.opencode/agents/aether-sage.md +106 -0
- package/.opencode/agents/aether-scout.md +101 -0
- package/.opencode/agents/aether-surveyor-disciplines.md +386 -0
- package/.opencode/agents/aether-surveyor-nest.md +324 -0
- package/.opencode/agents/aether-surveyor-pathogens.md +259 -0
- package/.opencode/agents/aether-surveyor-provisions.md +329 -0
- package/.opencode/agents/aether-tracker.md +137 -0
- package/.opencode/agents/aether-watcher.md +174 -0
- package/.opencode/agents/aether-weaver.md +130 -0
- package/.opencode/commands/ant/archaeology.md +338 -0
- package/.opencode/commands/ant/build.md +1200 -0
- package/.opencode/commands/ant/chaos.md +346 -0
- package/.opencode/commands/ant/colonize.md +202 -0
- package/.opencode/commands/ant/continue.md +938 -0
- package/.opencode/commands/ant/council.md +305 -0
- package/.opencode/commands/ant/dream.md +262 -0
- package/.opencode/commands/ant/entomb.md +367 -0
- package/.opencode/commands/ant/feedback.md +80 -0
- package/.opencode/commands/ant/flag.md +137 -0
- package/.opencode/commands/ant/flags.md +153 -0
- package/.opencode/commands/ant/focus.md +56 -0
- package/.opencode/commands/ant/help.md +124 -0
- package/.opencode/commands/ant/history.md +127 -0
- package/.opencode/commands/ant/init.md +337 -0
- package/.opencode/commands/ant/interpret.md +256 -0
- package/.opencode/commands/ant/lay-eggs.md +141 -0
- package/.opencode/commands/ant/maturity.md +92 -0
- package/.opencode/commands/ant/memory-details.md +77 -0
- package/.opencode/commands/ant/migrate-state.md +153 -0
- package/.opencode/commands/ant/oracle.md +338 -0
- package/.opencode/commands/ant/organize.md +224 -0
- package/.opencode/commands/ant/pause-colony.md +220 -0
- package/.opencode/commands/ant/phase.md +123 -0
- package/.opencode/commands/ant/plan.md +531 -0
- package/.opencode/commands/ant/redirect.md +67 -0
- package/.opencode/commands/ant/resume-colony.md +178 -0
- package/.opencode/commands/ant/resume.md +363 -0
- package/.opencode/commands/ant/seal.md +247 -0
- package/.opencode/commands/ant/status.md +272 -0
- package/.opencode/commands/ant/swarm.md +357 -0
- package/.opencode/commands/ant/tunnels.md +406 -0
- package/.opencode/commands/ant/update.md +191 -0
- package/.opencode/commands/ant/verify-castes.md +85 -0
- package/.opencode/commands/ant/watch.md +220 -0
- package/.opencode/opencode.json +3 -0
- package/CHANGELOG.md +325 -0
- package/DISCLAIMER.md +74 -0
- package/LICENSE +21 -0
- package/README.md +258 -0
- package/bin/cli.js +2436 -0
- package/bin/generate-commands.sh +291 -0
- package/bin/lib/caste-colors.js +57 -0
- package/bin/lib/colors.js +76 -0
- package/bin/lib/errors.js +255 -0
- package/bin/lib/event-types.js +190 -0
- package/bin/lib/file-lock.js +695 -0
- package/bin/lib/init.js +454 -0
- package/bin/lib/logger.js +242 -0
- package/bin/lib/model-profiles.js +445 -0
- package/bin/lib/model-verify.js +288 -0
- package/bin/lib/nestmate-loader.js +130 -0
- package/bin/lib/proxy-health.js +253 -0
- package/bin/lib/spawn-logger.js +266 -0
- package/bin/lib/state-guard.js +602 -0
- package/bin/lib/state-sync.js +516 -0
- package/bin/lib/telemetry.js +441 -0
- package/bin/lib/update-transaction.js +1454 -0
- package/bin/npx-install.js +178 -0
- package/bin/sync-to-runtime.sh +6 -0
- package/bin/validate-package.sh +88 -0
- package/package.json +70 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ant:flags
|
|
3
|
+
description: "📋🐜🚩🐜📋 List project flags (blockers, issues, notes)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Queen**. Display project flags.
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
### Step -1: Normalize Arguments
|
|
11
|
+
|
|
12
|
+
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
13
|
+
|
|
14
|
+
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
15
|
+
|
|
16
|
+
Arguments: `$normalized_args`
|
|
17
|
+
|
|
18
|
+
### Step 1: Parse Arguments
|
|
19
|
+
|
|
20
|
+
Parse `$normalized_args` for:
|
|
21
|
+
- `--all` or `-a`: Show resolved flags too
|
|
22
|
+
- `--type` or `-t`: Filter by type (blocker|issue|note)
|
|
23
|
+
- `--phase` or `-p`: Filter by phase number
|
|
24
|
+
- `--resolve` or `-r`: Resolve a specific flag ID
|
|
25
|
+
- `--ack` or `-k`: Acknowledge a specific flag ID
|
|
26
|
+
|
|
27
|
+
Examples:
|
|
28
|
+
- `/ant:flags` → Show active flags
|
|
29
|
+
- `/ant:flags --all` → Include resolved flags
|
|
30
|
+
- `/ant:flags -t blocker` → Show only blockers
|
|
31
|
+
- `/ant:flags --resolve flag_123 "Fixed by commit abc"` → Resolve a flag
|
|
32
|
+
- `/ant:flags --ack flag_456` → Acknowledge an issue
|
|
33
|
+
|
|
34
|
+
### Step 2: Handle Resolution/Acknowledgment
|
|
35
|
+
|
|
36
|
+
If `--resolve` was provided:
|
|
37
|
+
```bash
|
|
38
|
+
bash .aether/aether-utils.sh flag-resolve "{flag_id}" "{resolution_message}"
|
|
39
|
+
```
|
|
40
|
+
Output:
|
|
41
|
+
```
|
|
42
|
+
✅ Flag resolved: {flag_id}
|
|
43
|
+
|
|
44
|
+
Resolution: {message}
|
|
45
|
+
```
|
|
46
|
+
Stop here.
|
|
47
|
+
|
|
48
|
+
If `--ack` was provided:
|
|
49
|
+
```bash
|
|
50
|
+
bash .aether/aether-utils.sh flag-acknowledge "{flag_id}"
|
|
51
|
+
```
|
|
52
|
+
Output:
|
|
53
|
+
```
|
|
54
|
+
👁️ Flag acknowledged: {flag_id}
|
|
55
|
+
|
|
56
|
+
Flag noted. Continuing with work.
|
|
57
|
+
```
|
|
58
|
+
Stop here.
|
|
59
|
+
|
|
60
|
+
### Step 3: List Flags
|
|
61
|
+
|
|
62
|
+
Run:
|
|
63
|
+
```bash
|
|
64
|
+
bash .aether/aether-utils.sh flag-list {options}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Parse result for flags array.
|
|
68
|
+
|
|
69
|
+
### Step 4: Display
|
|
70
|
+
|
|
71
|
+
Output header:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
📋🐜🚩🐜📋 ═══════════════════════════════════════════════════
|
|
75
|
+
P R O J E C T F L A G S
|
|
76
|
+
═══════════════════════════════════════════════════ 📋🐜🚩🐜📋
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
If no flags:
|
|
80
|
+
```
|
|
81
|
+
.-.
|
|
82
|
+
(o o) AETHER COLONY
|
|
83
|
+
| O | Flags
|
|
84
|
+
`-`
|
|
85
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
86
|
+
|
|
87
|
+
✨ No active flags! Colony is clear.
|
|
88
|
+
|
|
89
|
+
{if --all was used: "No resolved flags either."}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
If flags exist:
|
|
93
|
+
```
|
|
94
|
+
.-.
|
|
95
|
+
(o o) AETHER COLONY
|
|
96
|
+
| O | Flags
|
|
97
|
+
`-`
|
|
98
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
99
|
+
|
|
100
|
+
{for each flag, grouped by type:}
|
|
101
|
+
|
|
102
|
+
🚫 BLOCKERS ({count})
|
|
103
|
+
{flag_id}: {title}
|
|
104
|
+
Phase: {phase or "all"} | Created: {date}
|
|
105
|
+
└─ {description preview}
|
|
106
|
+
|
|
107
|
+
⚠️ ISSUES ({count})
|
|
108
|
+
{flag_id}: {title} {if acknowledged: "[ACK]"}
|
|
109
|
+
Phase: {phase or "all"} | Created: {date}
|
|
110
|
+
└─ {description preview}
|
|
111
|
+
|
|
112
|
+
📝 NOTES ({count})
|
|
113
|
+
{flag_id}: {title}
|
|
114
|
+
Phase: {phase or "all"} | Created: {date}
|
|
115
|
+
└─ {description preview}
|
|
116
|
+
|
|
117
|
+
{if --all and resolved flags exist:}
|
|
118
|
+
|
|
119
|
+
✅ RESOLVED ({count})
|
|
120
|
+
{flag_id}: {title}
|
|
121
|
+
Resolved: {date} | {resolution}
|
|
122
|
+
|
|
123
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
124
|
+
|
|
125
|
+
Summary: {blockers} blockers | {issues} issues | {notes} notes
|
|
126
|
+
|
|
127
|
+
{if blockers > 0:}
|
|
128
|
+
⚠️ Blockers must be resolved before /ant:continue
|
|
129
|
+
|
|
130
|
+
Commands:
|
|
131
|
+
/ant:flags --resolve {id} "message" Resolve a flag
|
|
132
|
+
/ant:flags --ack {id} Acknowledge an issue
|
|
133
|
+
/ant:flag "description" Create new flag
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Quick Actions
|
|
139
|
+
|
|
140
|
+
**Resolve a flag:**
|
|
141
|
+
```
|
|
142
|
+
/ant:flags --resolve flag_123456 "Fixed in commit abc123"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Acknowledge an issue:**
|
|
146
|
+
```
|
|
147
|
+
/ant:flags --ack flag_789012
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Create a new flag:**
|
|
151
|
+
```
|
|
152
|
+
/ant:flag --type blocker "Critical issue here"
|
|
153
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ant:focus
|
|
3
|
+
description: "🔦🐜🔍🐜🔦 Emit FOCUS signal to guide colony attention"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Queen**. Add a FOCUS constraint.
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
### Step -1: Normalize Arguments
|
|
11
|
+
|
|
12
|
+
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
13
|
+
|
|
14
|
+
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
15
|
+
|
|
16
|
+
The focus area is: `$normalized_args`
|
|
17
|
+
|
|
18
|
+
### Step 1: Validate
|
|
19
|
+
|
|
20
|
+
If `$normalized_args` empty -> show usage: `/ant:focus <area>`, stop.
|
|
21
|
+
If content > 500 chars -> "Focus content too long (max 500 chars)", stop.
|
|
22
|
+
|
|
23
|
+
### Step 2: Read + Update Constraints
|
|
24
|
+
|
|
25
|
+
Read `.aether/data/COLONY_STATE.json`.
|
|
26
|
+
If `goal: null` -> "No colony initialized.", stop.
|
|
27
|
+
|
|
28
|
+
Read `.aether/data/constraints.json`. If file doesn't exist, create it with:
|
|
29
|
+
```json
|
|
30
|
+
{"version": "1.0", "focus": [], "constraints": []}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Append the focus area to the `focus` array.
|
|
34
|
+
|
|
35
|
+
If `focus` array exceeds 5 entries, remove the oldest entries to keep only 5.
|
|
36
|
+
|
|
37
|
+
Write constraints.json.
|
|
38
|
+
|
|
39
|
+
### Step 3: Confirm
|
|
40
|
+
|
|
41
|
+
Output header:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
🔦🐜🔍🐜🔦 ═══════════════════════════════════════════════════
|
|
45
|
+
F O C U S S I G N A L
|
|
46
|
+
═══════════════════════════════════════════════════ 🔦🐜🔍🐜🔦
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Then output:
|
|
50
|
+
```
|
|
51
|
+
🎯 FOCUS signal emitted
|
|
52
|
+
|
|
53
|
+
"{content preview}"
|
|
54
|
+
|
|
55
|
+
🐜 Colony attention directed.
|
|
56
|
+
```
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: help
|
|
3
|
+
description: "🐜📖 Aether Colony - command reference and system overview"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Queen Ant Colony**. Display the system overview and available commands.
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
Output the following:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
👑 AETHER QUEEN ANT COLONY
|
|
14
|
+
══════════════════════════════════════════
|
|
15
|
+
|
|
16
|
+
A multi-agent system built on ant colony intelligence.
|
|
17
|
+
Workers self-organize via pheromone signals. You guide with intention.
|
|
18
|
+
|
|
19
|
+
GETTING STARTED
|
|
20
|
+
|
|
21
|
+
/ant:init "<goal>" Set colony intention and initialize
|
|
22
|
+
/ant:colonize Analyze existing codebase (optional)
|
|
23
|
+
/ant:plan Generate project plan
|
|
24
|
+
/ant:build <phase> Execute a phase (spawns parallel workers)
|
|
25
|
+
/ant:continue Verify work, extract learnings, advance
|
|
26
|
+
|
|
27
|
+
PHEROMONE COMMANDS
|
|
28
|
+
|
|
29
|
+
/ant:focus "<area>" Guide colony attention (priority: normal, expires: phase end)
|
|
30
|
+
/ant:redirect "<pat>" Warn away from pattern (priority: high, expires: phase end)
|
|
31
|
+
/ant:feedback "<msg>" Adjust behavior (priority: low, expires: phase end)
|
|
32
|
+
|
|
33
|
+
STATUS & UPDATES
|
|
34
|
+
|
|
35
|
+
/ant:status Colony dashboard — goal, phase, instincts, flags
|
|
36
|
+
/ant:update Update system files from global hub (~/.aether/)
|
|
37
|
+
/ant:phase [N|list] View phase details or list all phases
|
|
38
|
+
/ant:flags List active flags (blockers, issues, notes)
|
|
39
|
+
/ant:flag "<title>" Create a flag (blocker, issue, or note)
|
|
40
|
+
|
|
41
|
+
SESSION COMMANDS
|
|
42
|
+
|
|
43
|
+
/ant:pause-colony Save state and create handoff document
|
|
44
|
+
/ant:resume-colony Restore from pause (full state + context)
|
|
45
|
+
/ant:watch Set up tmux session for live colony visibility
|
|
46
|
+
|
|
47
|
+
COLONY LIFECYCLE
|
|
48
|
+
|
|
49
|
+
/ant:seal Seal colony with Crowned Anthill milestone
|
|
50
|
+
/ant:history Browse colony event history
|
|
51
|
+
|
|
52
|
+
ADVANCED
|
|
53
|
+
|
|
54
|
+
/ant:swarm "<bug>" Parallel scouts investigate stubborn bugs
|
|
55
|
+
/ant:organize Codebase hygiene report (stale files, dead code)
|
|
56
|
+
/ant:council Convene council for intent clarification
|
|
57
|
+
/ant:dream Philosophical wanderer — observes and writes wisdom
|
|
58
|
+
/ant:interpret Review dreams — validate against codebase, discuss action
|
|
59
|
+
/ant:chaos 🎲 Resilience testing — adversarial probing of the codebase
|
|
60
|
+
/ant:archaeology 🏺 Git history analysis — excavate patterns from commit history
|
|
61
|
+
|
|
62
|
+
TYPICAL WORKFLOW
|
|
63
|
+
|
|
64
|
+
1. /ant:init "Build a REST API with auth"
|
|
65
|
+
2. /ant:colonize (if existing code)
|
|
66
|
+
3. /ant:plan (generates phases)
|
|
67
|
+
4. /ant:focus "security" (optional guidance)
|
|
68
|
+
5. /ant:build 1 (workers execute phase 1)
|
|
69
|
+
6. /ant:continue (verify, learn, advance)
|
|
70
|
+
7. /ant:build 2 (repeat until complete)
|
|
71
|
+
|
|
72
|
+
After /clear or session break:
|
|
73
|
+
8. /ant:resume-colony (restore full context)
|
|
74
|
+
9. /ant:status (see where you left off)
|
|
75
|
+
|
|
76
|
+
WORKER CASTES
|
|
77
|
+
|
|
78
|
+
👑 Queen — orchestrates, spawns workers, synthesizes results
|
|
79
|
+
🗺️ colonizer — explores codebase, maps structure
|
|
80
|
+
📋 route-setter — plans phases, breaks down goals
|
|
81
|
+
🔨 builder — implements code, runs commands
|
|
82
|
+
👁️ watcher — validates, tests, independent quality checks
|
|
83
|
+
🔍 scout — researches, gathers information
|
|
84
|
+
🏛️ architect — synthesizes knowledge, extracts patterns
|
|
85
|
+
🎲 chaos — resilience tester, adversarial probing
|
|
86
|
+
🏺 archaeologist — git history analyst, excavates commit patterns
|
|
87
|
+
|
|
88
|
+
HOW IT WORKS
|
|
89
|
+
|
|
90
|
+
Colony Lifecycle:
|
|
91
|
+
INIT → PLAN → BUILD → CONTINUE → BUILD → ... → COMPLETE
|
|
92
|
+
|
|
93
|
+
Workers spawn sub-workers autonomously (max depth 3).
|
|
94
|
+
Builders receive colony knowledge (instincts, learnings, error patterns).
|
|
95
|
+
Watchers independently verify work — builders never self-approve.
|
|
96
|
+
Phase boundaries are control points: emergence within, gates between.
|
|
97
|
+
|
|
98
|
+
Pheromone System:
|
|
99
|
+
Signals expire after their TTL. Workers sense active signals
|
|
100
|
+
and adjust behavior. FOCUS attracts, REDIRECT repels, FEEDBACK calibrates.
|
|
101
|
+
|
|
102
|
+
Colony Memory:
|
|
103
|
+
Instincts — learned patterns with confidence scores (validated through use)
|
|
104
|
+
Learnings — per-phase observations (hypothesis → validated → disproven)
|
|
105
|
+
Graveyards — markers on files where workers previously failed
|
|
106
|
+
|
|
107
|
+
State Files (.aether/data/):
|
|
108
|
+
COLONY_STATE.json Goal, phases, tasks, memory, signals, events
|
|
109
|
+
activity.log Timestamped worker activity
|
|
110
|
+
spawn-tree.txt Worker spawn hierarchy
|
|
111
|
+
constraints.json Focus/redirect pheromone data
|
|
112
|
+
|
|
113
|
+
OPENCODE USERS
|
|
114
|
+
|
|
115
|
+
Argument syntax: OpenCode handles multi-word arguments differently than Claude.
|
|
116
|
+
Wrap text arguments in quotes for reliable parsing:
|
|
117
|
+
|
|
118
|
+
✅ /ant:init "Build a REST API"
|
|
119
|
+
✅ /ant:plan "authentication system"
|
|
120
|
+
✅ /ant:focus "database layer"
|
|
121
|
+
|
|
122
|
+
Without quotes, only the first word may be captured. This is now handled
|
|
123
|
+
automatically by the normalize-args utility, but quoting is recommended.
|
|
124
|
+
```
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ant:history
|
|
3
|
+
description: "📜🐜📜 Show colony event history"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Queen**. Show colony history.
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
### Step 1: Read State
|
|
11
|
+
|
|
12
|
+
Read `.aether/data/COLONY_STATE.json`.
|
|
13
|
+
|
|
14
|
+
If file missing or `goal: null`:
|
|
15
|
+
```
|
|
16
|
+
No colony initialized. Run /ant:init first.
|
|
17
|
+
```
|
|
18
|
+
Stop here.
|
|
19
|
+
|
|
20
|
+
### Step 2: Parse Events
|
|
21
|
+
|
|
22
|
+
Extract the `events` array from the state.
|
|
23
|
+
|
|
24
|
+
Each event is in format: `timestamp|type|source|description`
|
|
25
|
+
|
|
26
|
+
Parse each event into components:
|
|
27
|
+
- timestamp: before first `|`
|
|
28
|
+
- type: between first and second `|`
|
|
29
|
+
- source: between second and third `|`
|
|
30
|
+
- description: after third `|`
|
|
31
|
+
|
|
32
|
+
### Step 3: Parse Filter Arguments
|
|
33
|
+
|
|
34
|
+
Parse optional filter arguments:
|
|
35
|
+
|
|
36
|
+
**Event Type Filter:**
|
|
37
|
+
- `--type TYPE` or `-t TYPE`: Filter by event type
|
|
38
|
+
- Multiple types can be specified (comma-separated)
|
|
39
|
+
- Valid types: `colony_initialized`, `phase_started`, `phase_advanced`, `plan_generated`, `milestone_reached`, `state_upgraded`
|
|
40
|
+
|
|
41
|
+
**Date Range Filter:**
|
|
42
|
+
- `--since DATE`: Show events since DATE
|
|
43
|
+
- ISO format: `2026-02-13`, `2026-02-13T14:30:00`
|
|
44
|
+
- Relative: `1d` (1 day ago), `2h` (2 hours ago), `30m` (30 minutes ago)
|
|
45
|
+
- `--until DATE`: Show events until DATE
|
|
46
|
+
- Same format options as `--since`
|
|
47
|
+
|
|
48
|
+
### Step 4: Apply Limit
|
|
49
|
+
|
|
50
|
+
Parse optional `--limit N` argument (default: 10).
|
|
51
|
+
|
|
52
|
+
If `--limit` is provided, only show N events.
|
|
53
|
+
|
|
54
|
+
### Step 5: Filter Events
|
|
55
|
+
|
|
56
|
+
Apply filters to the events array:
|
|
57
|
+
|
|
58
|
+
**Type Filtering:**
|
|
59
|
+
- If `--type` is provided, split by comma to get list of types
|
|
60
|
+
- Filter events to only include those where type matches any of the specified types (case-insensitive)
|
|
61
|
+
|
|
62
|
+
**Date Range Filtering:**
|
|
63
|
+
- For `--since`: Parse the date value
|
|
64
|
+
- If relative (e.g., "1d", "2h", "30m"), calculate timestamp by subtracting from current time
|
|
65
|
+
- If ISO format, parse directly
|
|
66
|
+
- Filter events with timestamp >= since date
|
|
67
|
+
- For `--until`: Same parsing logic
|
|
68
|
+
- Filter events with timestamp <= until date
|
|
69
|
+
|
|
70
|
+
**Track Active Filters:**
|
|
71
|
+
- Record which filters are active for display indicator
|
|
72
|
+
|
|
73
|
+
### Step 6: Sort and Display
|
|
74
|
+
|
|
75
|
+
Sort events in reverse chronological order (most recent first).
|
|
76
|
+
|
|
77
|
+
If events array is empty:
|
|
78
|
+
```
|
|
79
|
+
No colony events recorded yet.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Filter Indicators:**
|
|
83
|
+
- If any filters are active, show at the top:
|
|
84
|
+
- Type filter: `Filters: type=<TYPE>[,<TYPE>...]`
|
|
85
|
+
- Since filter: `Filters: since=<DATE>`
|
|
86
|
+
- Until filter: `Filters: until=<DATE>`
|
|
87
|
+
- Multiple filters: Combine on same line (e.g., `Filters: type=phase_started,phase_advanced since=1d`)
|
|
88
|
+
- Show filtered count: "Showing X of Y events (filtered from Z total)"
|
|
89
|
+
|
|
90
|
+
Otherwise, display in format:
|
|
91
|
+
```
|
|
92
|
+
━━━ Colony History (most recent first) ━━━
|
|
93
|
+
|
|
94
|
+
[TIMESTAMP] [TYPE] from [SOURCE]
|
|
95
|
+
Description: [description]
|
|
96
|
+
|
|
97
|
+
[TIMESTAMP] [TYPE] from [SOURCE]
|
|
98
|
+
Description: [description]
|
|
99
|
+
|
|
100
|
+
... (up to limit)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Format:**
|
|
104
|
+
- Timestamp: Show in readable format (e.g., "2026-02-13 14:30:00")
|
|
105
|
+
- Type: Uppercase event type
|
|
106
|
+
- Source: Italics for source
|
|
107
|
+
- Description: Plain text
|
|
108
|
+
|
|
109
|
+
**Event type icons:**
|
|
110
|
+
- `colony_initialized`: 🏠
|
|
111
|
+
- `phase_started`: 🚀
|
|
112
|
+
- `phase_advanced`: ➡️
|
|
113
|
+
- `plan_generated`: 📋
|
|
114
|
+
- `milestone_reached`: 🏆
|
|
115
|
+
- `state_upgraded`: 🔄
|
|
116
|
+
- `default`: 📌
|
|
117
|
+
|
|
118
|
+
**Limit display:**
|
|
119
|
+
- If filtering is active, show: "Showing X of Y events (filtered from Z total)"
|
|
120
|
+
- If only limit is applied (no filters), show: "Showing X of Y events"
|
|
121
|
+
|
|
122
|
+
### Step 7: Display Summary
|
|
123
|
+
|
|
124
|
+
Show total event count at the end:
|
|
125
|
+
```
|
|
126
|
+
Total events recorded: <count>
|
|
127
|
+
```
|