aether-colony 5.1.0 β 5.3.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/aether-utils.sh +157 -42
- package/.aether/agents/aether-ambassador.md +140 -0
- package/.aether/agents/aether-archaeologist.md +108 -0
- package/.aether/agents/aether-architect.md +133 -0
- package/.aether/agents/aether-auditor.md +144 -0
- package/.aether/agents/aether-builder.md +184 -0
- package/.aether/agents/aether-chaos.md +115 -0
- package/.aether/agents/aether-chronicler.md +122 -0
- package/.aether/agents/aether-gatekeeper.md +116 -0
- package/.aether/agents/aether-includer.md +117 -0
- package/.aether/agents/aether-keeper.md +177 -0
- package/.aether/agents/aether-measurer.md +128 -0
- package/.aether/agents/aether-oracle.md +137 -0
- package/.aether/agents/aether-probe.md +133 -0
- package/.aether/agents/aether-queen.md +286 -0
- package/.aether/agents/aether-route-setter.md +130 -0
- package/.aether/agents/aether-sage.md +106 -0
- package/.aether/agents/aether-scout.md +101 -0
- package/.aether/agents/aether-surveyor-disciplines.md +391 -0
- package/.aether/agents/aether-surveyor-nest.md +329 -0
- package/.aether/agents/aether-surveyor-pathogens.md +264 -0
- package/.aether/agents/aether-surveyor-provisions.md +334 -0
- package/.aether/agents/aether-tracker.md +137 -0
- package/.aether/agents/aether-watcher.md +174 -0
- package/.aether/agents/aether-weaver.md +130 -0
- package/.aether/commands/claude/archaeology.md +334 -0
- package/.aether/commands/claude/build.md +65 -0
- package/.aether/commands/claude/chaos.md +336 -0
- package/.aether/commands/claude/colonize.md +259 -0
- package/.aether/commands/claude/continue.md +60 -0
- package/.aether/commands/claude/council.md +507 -0
- package/.aether/commands/claude/data-clean.md +81 -0
- package/.aether/commands/claude/dream.md +268 -0
- package/.aether/commands/claude/entomb.md +498 -0
- package/.aether/commands/claude/export-signals.md +57 -0
- package/.aether/commands/claude/feedback.md +96 -0
- package/.aether/commands/claude/flag.md +151 -0
- package/.aether/commands/claude/flags.md +169 -0
- package/.aether/commands/claude/focus.md +76 -0
- package/.aether/commands/claude/help.md +154 -0
- package/.aether/commands/claude/history.md +140 -0
- package/.aether/commands/claude/import-signals.md +71 -0
- package/.aether/commands/claude/init.md +505 -0
- package/.aether/commands/claude/insert-phase.md +105 -0
- package/.aether/commands/claude/interpret.md +278 -0
- package/.aether/commands/claude/lay-eggs.md +210 -0
- package/.aether/commands/claude/maturity.md +113 -0
- package/.aether/commands/claude/memory-details.md +77 -0
- package/.aether/commands/claude/migrate-state.md +171 -0
- package/.aether/commands/claude/oracle.md +642 -0
- package/.aether/commands/claude/organize.md +232 -0
- package/.aether/commands/claude/patrol.md +620 -0
- package/.aether/commands/claude/pause-colony.md +233 -0
- package/.aether/commands/claude/phase.md +115 -0
- package/.aether/commands/claude/pheromones.md +156 -0
- package/.aether/commands/claude/plan.md +693 -0
- package/.aether/commands/claude/preferences.md +65 -0
- package/.aether/commands/claude/quick.md +100 -0
- package/.aether/commands/claude/redirect.md +76 -0
- package/.aether/commands/claude/resume-colony.md +197 -0
- package/.aether/commands/claude/resume.md +388 -0
- package/.aether/commands/claude/run.md +231 -0
- package/.aether/commands/claude/seal.md +774 -0
- package/.aether/commands/claude/skill-create.md +286 -0
- package/.aether/commands/claude/status.md +410 -0
- package/.aether/commands/claude/swarm.md +349 -0
- package/.aether/commands/claude/tunnels.md +426 -0
- package/.aether/commands/claude/update.md +132 -0
- package/.aether/commands/claude/verify-castes.md +143 -0
- package/.aether/commands/claude/watch.md +239 -0
- package/.aether/commands/colonize.yaml +4 -0
- package/.aether/commands/council.yaml +205 -0
- package/.aether/commands/init.yaml +46 -13
- package/.aether/commands/insert-phase.yaml +4 -0
- package/.aether/commands/opencode/archaeology.md +331 -0
- package/.aether/commands/opencode/build.md +1168 -0
- package/.aether/commands/opencode/chaos.md +329 -0
- package/.aether/commands/opencode/colonize.md +195 -0
- package/.aether/commands/opencode/continue.md +1436 -0
- package/.aether/commands/opencode/council.md +437 -0
- package/.aether/commands/opencode/data-clean.md +77 -0
- package/.aether/commands/opencode/dream.md +260 -0
- package/.aether/commands/opencode/entomb.md +377 -0
- package/.aether/commands/opencode/export-signals.md +54 -0
- package/.aether/commands/opencode/feedback.md +99 -0
- package/.aether/commands/opencode/flag.md +149 -0
- package/.aether/commands/opencode/flags.md +167 -0
- package/.aether/commands/opencode/focus.md +73 -0
- package/.aether/commands/opencode/help.md +157 -0
- package/.aether/commands/opencode/history.md +136 -0
- package/.aether/commands/opencode/import-signals.md +68 -0
- package/.aether/commands/opencode/init.md +518 -0
- package/.aether/commands/opencode/insert-phase.md +111 -0
- package/.aether/commands/opencode/interpret.md +272 -0
- package/.aether/commands/opencode/lay-eggs.md +213 -0
- package/.aether/commands/opencode/maturity.md +108 -0
- package/.aether/commands/opencode/memory-details.md +83 -0
- package/.aether/commands/opencode/migrate-state.md +165 -0
- package/.aether/commands/opencode/oracle.md +593 -0
- package/.aether/commands/opencode/organize.md +226 -0
- package/.aether/commands/opencode/patrol.md +626 -0
- package/.aether/commands/opencode/pause-colony.md +203 -0
- package/.aether/commands/opencode/phase.md +113 -0
- package/.aether/commands/opencode/pheromones.md +162 -0
- package/.aether/commands/opencode/plan.md +684 -0
- package/.aether/commands/opencode/preferences.md +71 -0
- package/.aether/commands/opencode/quick.md +91 -0
- package/.aether/commands/opencode/redirect.md +84 -0
- package/.aether/commands/opencode/resume-colony.md +190 -0
- package/.aether/commands/opencode/resume.md +394 -0
- package/.aether/commands/opencode/run.md +237 -0
- package/.aether/commands/opencode/seal.md +452 -0
- package/.aether/commands/opencode/skill-create.md +63 -0
- package/.aether/commands/opencode/status.md +307 -0
- package/.aether/commands/opencode/swarm.md +15 -0
- package/.aether/commands/opencode/tunnels.md +400 -0
- package/.aether/commands/opencode/update.md +127 -0
- package/.aether/commands/opencode/verify-castes.md +139 -0
- package/.aether/commands/opencode/watch.md +227 -0
- package/.aether/commands/plan.yaml +53 -2
- package/.aether/commands/quick.yaml +104 -0
- package/.aether/commands/resume-colony.yaml +6 -4
- package/.aether/commands/resume.yaml +9 -0
- package/.aether/commands/run.yaml +37 -1
- package/.aether/commands/seal.yaml +9 -0
- package/.aether/commands/status.yaml +45 -1
- package/.aether/docs/command-playbooks/build-full.md +3 -2
- package/.aether/docs/command-playbooks/build-prep.md +12 -4
- package/.aether/docs/command-playbooks/build-verify.md +51 -0
- package/.aether/docs/command-playbooks/continue-advance.md +115 -6
- package/.aether/docs/command-playbooks/continue-full.md +1 -0
- package/.aether/docs/command-playbooks/continue-verify.md +33 -0
- package/.aether/utils/clash-detect.sh +239 -0
- package/.aether/utils/council.sh +425 -0
- package/.aether/utils/error-handler.sh +3 -3
- package/.aether/utils/flag.sh +23 -12
- package/.aether/utils/hive.sh +2 -2
- package/.aether/utils/hooks/clash-pre-tool-use.js +99 -0
- package/.aether/utils/immune.sh +508 -0
- package/.aether/utils/learning.sh +2 -2
- package/.aether/utils/merge-driver-lockfile.sh +35 -0
- package/.aether/utils/midden.sh +712 -0
- package/.aether/utils/pheromone.sh +1376 -108
- package/.aether/utils/queen.sh +31 -21
- package/.aether/utils/session.sh +264 -0
- package/.aether/utils/spawn-tree.sh +7 -7
- package/.aether/utils/spawn.sh +2 -2
- package/.aether/utils/state-api.sh +216 -5
- package/.aether/utils/swarm.sh +1 -1
- package/.aether/utils/worktree.sh +189 -0
- package/.claude/commands/ant/colonize.md +2 -0
- package/.claude/commands/ant/council.md +205 -0
- package/.claude/commands/ant/init.md +53 -14
- package/.claude/commands/ant/insert-phase.md +4 -0
- package/.claude/commands/ant/plan.md +27 -1
- package/.claude/commands/ant/quick.md +100 -0
- package/.claude/commands/ant/resume-colony.md +3 -2
- package/.claude/commands/ant/resume.md +9 -0
- package/.claude/commands/ant/run.md +37 -1
- package/.claude/commands/ant/seal.md +9 -0
- package/.claude/commands/ant/status.md +45 -1
- package/.opencode/commands/ant/colonize.md +2 -0
- package/.opencode/commands/ant/council.md +143 -0
- package/.opencode/commands/ant/init.md +53 -13
- package/.opencode/commands/ant/insert-phase.md +4 -0
- package/.opencode/commands/ant/plan.md +26 -1
- package/.opencode/commands/ant/quick.md +91 -0
- package/.opencode/commands/ant/resume-colony.md +3 -2
- package/.opencode/commands/ant/resume.md +9 -0
- package/.opencode/commands/ant/run.md +37 -1
- package/.opencode/commands/ant/status.md +2 -0
- package/CHANGELOG.md +116 -0
- package/README.md +34 -8
- package/bin/cli.js +103 -61
- package/bin/lib/banner.js +14 -0
- package/bin/lib/init.js +8 -7
- package/bin/lib/interactive-setup.js +251 -0
- package/bin/npx-entry.js +21 -0
- package/bin/npx-install.js +9 -167
- package/bin/validate-package.sh +23 -0
- package/package.json +11 -3
- package/.aether/docs/plans/pheromone-display-plan.md +0 -257
- package/.aether/schemas/example-prompt-builder.xml +0 -234
- package/.aether/scripts/incident-test-add.sh +0 -47
- package/.aether/scripts/weekly-audit.sh +0 -79
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/feedback.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:feedback
|
|
4
|
+
description: "π¬ππ§ ππ¬ Emit FEEDBACK signal to provide guidance to colony"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Step -1: Normalize Arguments
|
|
8
|
+
|
|
9
|
+
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
10
|
+
|
|
11
|
+
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
You are the **Queen**. Emit a FEEDBACK signal.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
|
|
20
|
+
The feedback message is: `$normalized_args`
|
|
21
|
+
|
|
22
|
+
### Step 1: Validate
|
|
23
|
+
|
|
24
|
+
If `$normalized_args` empty -> show usage: `/ant:feedback <message>`, stop.
|
|
25
|
+
If content > 500 chars -> "Signal content too long (max 500 chars)", stop.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Step 2: Write Signal and Create Instinct
|
|
30
|
+
|
|
31
|
+
Read `.aether/data/COLONY_STATE.json`.
|
|
32
|
+
If `goal: null` -> "No colony initialized.", stop.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
Generate ISO-8601 timestamp.
|
|
37
|
+
|
|
38
|
+
**Add signal:**
|
|
39
|
+
Append to `signals` array:
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"id": "feedback_<timestamp_ms>",
|
|
43
|
+
"type": "FEEDBACK",
|
|
44
|
+
"content": "<feedback message>",
|
|
45
|
+
"priority": "low",
|
|
46
|
+
"created_at": "<ISO-8601>",
|
|
47
|
+
"expires_at": "phase_end"
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Create instinct from feedback:**
|
|
52
|
+
User feedback is high-value learning. Append to `memory.instincts`:
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"id": "instinct_<timestamp>",
|
|
56
|
+
"trigger": "<infer from feedback context>",
|
|
57
|
+
"action": "<the feedback guidance>",
|
|
58
|
+
"confidence": 0.7,
|
|
59
|
+
"domain": "<infer: testing|architecture|code-style|debugging|workflow>",
|
|
60
|
+
"source": "user_feedback",
|
|
61
|
+
"evidence": ["User feedback: <content>"],
|
|
62
|
+
"created_at": "<ISO-8601>",
|
|
63
|
+
"last_applied": null,
|
|
64
|
+
"applications": 0,
|
|
65
|
+
"successes": 0
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Write COLONY_STATE.json.
|
|
70
|
+
|
|
71
|
+
**Write pheromone signal and update context:**
|
|
72
|
+
```bash
|
|
73
|
+
bash .aether/aether-utils.sh pheromone-write FEEDBACK "$normalized_args" --strength 0.7 --reason "User feedback guidance" 2>/dev/null || true
|
|
74
|
+
bash .aether/aether-utils.sh context-update constraint feedback "$normalized_args" "user" 2>/dev/null || true
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Step 3: Confirm
|
|
78
|
+
|
|
79
|
+
Output header:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
π¬ππ§ ππ¬ βββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
83
|
+
F E E D B A C K S I G N A L
|
|
84
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββ π¬ππ§ ππ¬
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Then output:
|
|
88
|
+
```
|
|
89
|
+
π¬ FEEDBACK signal emitted
|
|
90
|
+
|
|
91
|
+
"{content preview}"
|
|
92
|
+
|
|
93
|
+
π§ Instinct created: [0.7] <domain>: <action summary>
|
|
94
|
+
|
|
95
|
+
π The colony will remember this guidance.
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/flag.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:flag
|
|
4
|
+
description: "π©ππππ© Create a project-specific flag (blocker, issue, or note)"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Step -1: Normalize Arguments
|
|
8
|
+
|
|
9
|
+
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
10
|
+
|
|
11
|
+
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
12
|
+
|
|
13
|
+
You are the **Queen**. Create a project-specific flag.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
17
|
+
The flag is: `$normalized_args`
|
|
18
|
+
|
|
19
|
+
### Step 1: Parse Arguments
|
|
20
|
+
|
|
21
|
+
Parse `$normalized_args` for:
|
|
22
|
+
- `--type` or `-t`: blocker | issue | note (default: issue)
|
|
23
|
+
- `--phase` or `-p`: phase number (optional)
|
|
24
|
+
- Remaining text: the flag title/description
|
|
25
|
+
|
|
26
|
+
Examples:
|
|
27
|
+
- `/ant:flag "Build fails on auth module"` β issue type
|
|
28
|
+
- `/ant:flag --type blocker "API rate limit hit"` β blocker type
|
|
29
|
+
- `/ant:flag -t note -p 3 "Consider refactoring later"` β note for phase 3
|
|
30
|
+
|
|
31
|
+
If `$normalized_args` is empty:
|
|
32
|
+
```
|
|
33
|
+
Usage: /ant:flag "<description>" [--type blocker|issue|note] [--phase N]
|
|
34
|
+
|
|
35
|
+
Types:
|
|
36
|
+
blocker Critical issue that blocks phase advancement
|
|
37
|
+
issue Warning that should be addressed (default)
|
|
38
|
+
note Informational for future reference
|
|
39
|
+
|
|
40
|
+
Examples:
|
|
41
|
+
/ant:flag "Build fails on auth"
|
|
42
|
+
/ant:flag --type blocker "Tests hanging"
|
|
43
|
+
/ant:flag -t note "Consider refactoring"
|
|
44
|
+
```
|
|
45
|
+
Stop here.
|
|
46
|
+
|
|
47
|
+
### Step 2: Validate Colony
|
|
48
|
+
|
|
49
|
+
Read `.aether/data/COLONY_STATE.json`.
|
|
50
|
+
If file missing or `goal: null`:
|
|
51
|
+
```
|
|
52
|
+
No colony initialized. Run /ant:init first.
|
|
53
|
+
```
|
|
54
|
+
Stop here.
|
|
55
|
+
|
|
56
|
+
### Step 3: Create Flag
|
|
57
|
+
|
|
58
|
+
Run:
|
|
59
|
+
```bash
|
|
60
|
+
bash .aether/aether-utils.sh flag-add "{type}" "{title}" "{description}" "manual" {phase_or_null}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Parse the result for the flag ID.
|
|
64
|
+
|
|
65
|
+
### Step 4: Confirm
|
|
66
|
+
|
|
67
|
+
Output header based on flag type:
|
|
68
|
+
|
|
69
|
+
**For blocker:**
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
π©ππππ© βββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
74
|
+
B L O C K E R F L A G C R E A T E D
|
|
75
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββ π©ππππ©
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**For issue:**
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
π©ππππ© βββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
84
|
+
I S S U E F L A G C R E A T E D
|
|
85
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββ π©ππππ©
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**For note:**
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
π©ππππ© βββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
94
|
+
N O T E F L A G C R E A T E D
|
|
95
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββ π©ππππ©
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Then output based on flag type:
|
|
100
|
+
|
|
101
|
+
**For blocker:**
|
|
102
|
+
```
|
|
103
|
+
π« BLOCKER flag created
|
|
104
|
+
|
|
105
|
+
"{title}"
|
|
106
|
+
|
|
107
|
+
ID: {flag_id}
|
|
108
|
+
Phase: {phase or "all"}
|
|
109
|
+
|
|
110
|
+
β οΈ This will BLOCK phase advancement until resolved.
|
|
111
|
+
Use /ant:flags to view all flags.
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**For issue:**
|
|
115
|
+
```
|
|
116
|
+
β οΈ ISSUE flag created
|
|
117
|
+
|
|
118
|
+
"{title}"
|
|
119
|
+
|
|
120
|
+
ID: {flag_id}
|
|
121
|
+
Phase: {phase or "all"}
|
|
122
|
+
|
|
123
|
+
Use /ant:flags to view all flags.
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**For note:**
|
|
127
|
+
```
|
|
128
|
+
π NOTE flag created
|
|
129
|
+
|
|
130
|
+
"{title}"
|
|
131
|
+
|
|
132
|
+
ID: {flag_id}
|
|
133
|
+
Phase: {phase or "all"}
|
|
134
|
+
|
|
135
|
+
Use /ant:flags to view all flags.
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Flag Lifecycle
|
|
143
|
+
|
|
144
|
+
1. **Created** - Flag is active and visible
|
|
145
|
+
2. **Acknowledged** - Flag noted but continuing (issues/notes only)
|
|
146
|
+
3. **Resolved** - Flag closed with resolution message
|
|
147
|
+
4. **Auto-resolved** - Blockers auto-resolve on build_pass
|
|
148
|
+
|
|
149
|
+
Blockers CANNOT be acknowledged - they must be resolved before phase advancement.
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/flags.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:flags
|
|
4
|
+
description: "πππ©ππ List project flags (blockers, issues, notes)"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Step -1: Normalize Arguments
|
|
8
|
+
|
|
9
|
+
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
10
|
+
|
|
11
|
+
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
12
|
+
|
|
13
|
+
You are the **Queen**. Display project flags.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
17
|
+
Arguments: `$normalized_args`
|
|
18
|
+
|
|
19
|
+
### Step 1: Parse Arguments
|
|
20
|
+
|
|
21
|
+
Parse `$normalized_args` for:
|
|
22
|
+
- `--all` or `-a`: Show resolved flags too
|
|
23
|
+
- `--type` or `-t`: Filter by type (blocker|issue|note)
|
|
24
|
+
- `--phase` or `-p`: Filter by phase number
|
|
25
|
+
- `--resolve` or `-r`: Resolve a specific flag ID
|
|
26
|
+
- `--ack` or `-k`: Acknowledge a specific flag ID
|
|
27
|
+
|
|
28
|
+
Examples:
|
|
29
|
+
- `/ant:flags` β Show active flags
|
|
30
|
+
- `/ant:flags --all` β Include resolved flags
|
|
31
|
+
- `/ant:flags -t blocker` β Show only blockers
|
|
32
|
+
- `/ant:flags --resolve flag_123 "Fixed by commit abc"` β Resolve a flag
|
|
33
|
+
- `/ant:flags --ack flag_456` β Acknowledge an issue
|
|
34
|
+
|
|
35
|
+
### Step 2: Handle Resolution/Acknowledgment
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
If `--resolve` was provided:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
bash .aether/aether-utils.sh flag-resolve "{flag_id}" "{resolution_message}"
|
|
43
|
+
```
|
|
44
|
+
Output:
|
|
45
|
+
```
|
|
46
|
+
β
Flag resolved: {flag_id}
|
|
47
|
+
|
|
48
|
+
Resolution: {message}
|
|
49
|
+
```
|
|
50
|
+
Stop here.
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
If `--ack` was provided:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
bash .aether/aether-utils.sh flag-acknowledge "{flag_id}"
|
|
58
|
+
```
|
|
59
|
+
Output:
|
|
60
|
+
```
|
|
61
|
+
ποΈ Flag acknowledged: {flag_id}
|
|
62
|
+
|
|
63
|
+
Flag noted. Continuing with work.
|
|
64
|
+
```
|
|
65
|
+
Stop here.
|
|
66
|
+
|
|
67
|
+
### Step 3: List Flags
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
Run:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
bash .aether/aether-utils.sh flag-list {options}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Parse result for flags array.
|
|
78
|
+
|
|
79
|
+
### Step 4: Display
|
|
80
|
+
|
|
81
|
+
Output header:
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
πππ©ππ βββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
87
|
+
P R O J E C T F L A G S
|
|
88
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββ πππ©ππ
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
If no flags:
|
|
92
|
+
```
|
|
93
|
+
.-.
|
|
94
|
+
(o o) AETHER COLONY
|
|
95
|
+
| O | Flags
|
|
96
|
+
`-"
|
|
97
|
+
ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
98
|
+
|
|
99
|
+
β¨ No active flags! Colony is clear.
|
|
100
|
+
|
|
101
|
+
{if --all was used: "No resolved flags either."}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
If flags exist:
|
|
105
|
+
```
|
|
106
|
+
.-.
|
|
107
|
+
(o o) AETHER COLONY
|
|
108
|
+
| O | Flags
|
|
109
|
+
`-"
|
|
110
|
+
ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
111
|
+
|
|
112
|
+
{for each flag, grouped by type:}
|
|
113
|
+
|
|
114
|
+
π« BLOCKERS ({count})
|
|
115
|
+
{flag_id}: {title}
|
|
116
|
+
Phase: {phase or "all"} | Created: {date}
|
|
117
|
+
ββ {description preview}
|
|
118
|
+
|
|
119
|
+
β οΈ ISSUES ({count})
|
|
120
|
+
{flag_id}: {title} {if acknowledged: "[ACK]"}
|
|
121
|
+
Phase: {phase or "all"} | Created: {date}
|
|
122
|
+
ββ {description preview}
|
|
123
|
+
|
|
124
|
+
π NOTES ({count})
|
|
125
|
+
{flag_id}: {title}
|
|
126
|
+
Phase: {phase or "all"} | Created: {date}
|
|
127
|
+
ββ {description preview}
|
|
128
|
+
|
|
129
|
+
{if --all and resolved flags exist:}
|
|
130
|
+
|
|
131
|
+
β
RESOLVED ({count})
|
|
132
|
+
{flag_id}: {title}
|
|
133
|
+
Resolved: {date} | {resolution}
|
|
134
|
+
|
|
135
|
+
ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
136
|
+
|
|
137
|
+
Summary: {blockers} blockers | {issues} issues | {notes} notes
|
|
138
|
+
|
|
139
|
+
{if blockers > 0:}
|
|
140
|
+
β οΈ Blockers must be resolved before /ant:continue
|
|
141
|
+
|
|
142
|
+
Commands:
|
|
143
|
+
/ant:flags --resolve {id} "message" Resolve a flag
|
|
144
|
+
/ant:flags --ack {id} Acknowledge an issue
|
|
145
|
+
/ant:flag "description" Create new flag
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Quick Actions
|
|
153
|
+
|
|
154
|
+
**Resolve a flag:**
|
|
155
|
+
```
|
|
156
|
+
/ant:flags --resolve flag_123456 "Fixed in commit abc123"
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**Acknowledge an issue:**
|
|
160
|
+
```
|
|
161
|
+
/ant:flags --ack flag_789012
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Create a new flag:**
|
|
165
|
+
```
|
|
166
|
+
/ant:flag --type blocker "Critical issue here"
|
|
167
|
+
```
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/focus.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:focus
|
|
4
|
+
description: "π¦ππππ¦ Emit FOCUS signal to guide colony attention"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Step -1: Normalize Arguments
|
|
8
|
+
|
|
9
|
+
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
10
|
+
|
|
11
|
+
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
You are the **Queen**. Add a FOCUS constraint.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
|
|
20
|
+
The focus area is: `$normalized_args`
|
|
21
|
+
|
|
22
|
+
### Step 1: Validate
|
|
23
|
+
|
|
24
|
+
If `$normalized_args` empty -> show usage: `/ant:focus <area>`, stop.
|
|
25
|
+
If content > 500 chars -> "Focus content too long (max 500 chars)", stop.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Step 2: Write Signal
|
|
30
|
+
|
|
31
|
+
Read `.aether/data/COLONY_STATE.json`.
|
|
32
|
+
If `goal: null` -> "No colony initialized.", stop.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
Read `.aether/data/constraints.json`. If file doesn't exist, create it with:
|
|
37
|
+
```json
|
|
38
|
+
{"version": "1.0", "focus": [], "constraints": []}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Append the focus area to the `focus` array.
|
|
42
|
+
|
|
43
|
+
If `focus` array exceeds 5 entries, remove the oldest entries to keep only 5.
|
|
44
|
+
|
|
45
|
+
Write constraints.json.
|
|
46
|
+
|
|
47
|
+
**Write pheromone signal and update context:**
|
|
48
|
+
```bash
|
|
49
|
+
bash .aether/aether-utils.sh pheromone-write FOCUS "$normalized_args" --strength 0.8 --reason "User directed colony attention" 2>/dev/null || true
|
|
50
|
+
bash .aether/aether-utils.sh context-update constraint focus "$normalized_args" "user" 2>/dev/null || true
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Step 3: Confirm
|
|
54
|
+
|
|
55
|
+
Output header:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
π¦ππππ¦ βββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
59
|
+
F O C U S S I G N A L
|
|
60
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββ π¦ππππ¦
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Then output:
|
|
64
|
+
```
|
|
65
|
+
π― FOCUS signal emitted
|
|
66
|
+
|
|
67
|
+
"{content preview}"
|
|
68
|
+
|
|
69
|
+
π Colony attention directed.
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/help.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:help
|
|
4
|
+
description: "Aether Colony - command reference and system overview"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Step -1: Normalize Arguments
|
|
8
|
+
|
|
9
|
+
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
10
|
+
|
|
11
|
+
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
12
|
+
|
|
13
|
+
You are the **Queen Ant Colony**. Display the system overview and available commands.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
17
|
+
Output the following:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
π AETHER QUEEN ANT COLONY
|
|
21
|
+
|
|
22
|
+
ββββββββββββββββββββββββββββββββββββββββββ
|
|
23
|
+
|
|
24
|
+
A multi-agent system built on ant colony intelligence.
|
|
25
|
+
Workers self-organize via pheromone signals. You guide with intention.
|
|
26
|
+
|
|
27
|
+
SETUP & GETTING STARTED
|
|
28
|
+
|
|
29
|
+
/ant:lay-eggs Set up Aether in this repo (one-time, creates .aether/)
|
|
30
|
+
/ant:init "<goal>" Start a colony with a goal
|
|
31
|
+
/ant:colonize Analyze existing codebase (optional)
|
|
32
|
+
/ant:plan Generate project plan
|
|
33
|
+
/ant:build <phase> Execute a phase (spawns parallel workers)
|
|
34
|
+
/ant:continue Verify work, extract learnings, advance
|
|
35
|
+
|
|
36
|
+
PHEROMONE COMMANDS
|
|
37
|
+
|
|
38
|
+
/ant:focus "<area>" Guide colony attention (priority: normal, expires: phase end)
|
|
39
|
+
/ant:redirect "<pat>" Warn away from pattern (priority: high, expires: phase end)
|
|
40
|
+
/ant:feedback "<msg>" Adjust behavior (priority: low, expires: phase end)
|
|
41
|
+
/ant:pheromones View and manage active pheromone signals
|
|
42
|
+
/ant:export-signals [path] Export pheromone signals to portable XML
|
|
43
|
+
/ant:import-signals <file> [colony] Import signals from another colony's XML
|
|
44
|
+
|
|
45
|
+
STATUS & UPDATES
|
|
46
|
+
|
|
47
|
+
/ant:status Colony dashboard β goal, phase, instincts, flags
|
|
48
|
+
/ant:update Update system files from global hub (~/.aether/)
|
|
49
|
+
/ant:phase [N|list] View phase details or list all phases
|
|
50
|
+
/ant:insert-phase Insert a corrective phase after current phase
|
|
51
|
+
/ant:flags List active flags (blockers, issues, notes)
|
|
52
|
+
/ant:flag "<title>" Create a flag (blocker, issue, or note)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
SESSION COMMANDS
|
|
56
|
+
|
|
57
|
+
/ant:pause-colony Save state and create handoff document
|
|
58
|
+
/ant:resume-colony Restore from pause (full state + context)
|
|
59
|
+
|
|
60
|
+
/ant:watch Set up tmux session for live colony visibility
|
|
61
|
+
|
|
62
|
+
COLONY LIFECYCLE
|
|
63
|
+
|
|
64
|
+
/ant:seal Seal colony with Crowned Anthill milestone
|
|
65
|
+
/ant:entomb Archive completed colony into chambers
|
|
66
|
+
/ant:history Browse colony event history
|
|
67
|
+
|
|
68
|
+
ADVANCED
|
|
69
|
+
|
|
70
|
+
/ant:swarm "<bug>" Parallel scouts investigate stubborn bugs
|
|
71
|
+
/ant:organize Codebase hygiene report (stale files, dead code)
|
|
72
|
+
/ant:council Convene council for intent clarification
|
|
73
|
+
/ant:dream Philosophical wanderer β observes and writes wisdom
|
|
74
|
+
/ant:interpret Review dreams β validate against codebase, discuss action
|
|
75
|
+
/ant:chaos π² Resilience testing β adversarial probing of the codebase
|
|
76
|
+
/ant:archaeology πΊ Git history analysis β excavate patterns from commit history
|
|
77
|
+
/ant:tunnels Browse archived colonies and compare chambers
|
|
78
|
+
|
|
79
|
+
TYPICAL WORKFLOW
|
|
80
|
+
|
|
81
|
+
First time in a repo:
|
|
82
|
+
0. /ant:lay-eggs (set up Aether in this repo)
|
|
83
|
+
|
|
84
|
+
Starting a colony:
|
|
85
|
+
1. /ant:init "Build a REST API with auth" (start colony with a goal)
|
|
86
|
+
2. /ant:colonize (if existing code)
|
|
87
|
+
3. /ant:plan (generates phases)
|
|
88
|
+
4. /ant:focus "security" (optional guidance)
|
|
89
|
+
5. /ant:build 1 (workers execute phase 1)
|
|
90
|
+
6. /ant:continue (verify, learn, advance)
|
|
91
|
+
7. /ant:build 2 (repeat until complete)
|
|
92
|
+
|
|
93
|
+
After /clear or session break:
|
|
94
|
+
8. /ant:resume-colony (restore full context)
|
|
95
|
+
9. /ant:status (see where you left off)
|
|
96
|
+
|
|
97
|
+
After completing a colony:
|
|
98
|
+
10. /ant:seal (mark as complete)
|
|
99
|
+
11. /ant:entomb (archive to chambers)
|
|
100
|
+
12. /ant:init "next project goal" (start fresh colony)
|
|
101
|
+
|
|
102
|
+
WORKER CASTES
|
|
103
|
+
|
|
104
|
+
π Queen β orchestrates, spawns workers, synthesizes results
|
|
105
|
+
πΊοΈ colonizer β explores codebase, maps structure
|
|
106
|
+
π route-setter β plans phases, breaks down goals
|
|
107
|
+
π¨ builder β implements code, runs commands
|
|
108
|
+
ποΈ watcher β validates, tests, independent quality checks
|
|
109
|
+
π scout β researches, gathers information
|
|
110
|
+
ποΈ architect β synthesizes knowledge, extracts patterns
|
|
111
|
+
π² chaos β resilience tester, adversarial probing
|
|
112
|
+
πΊ archaeologist β git history analyst, excavates commit patterns
|
|
113
|
+
|
|
114
|
+
HOW IT WORKS
|
|
115
|
+
|
|
116
|
+
Colony Lifecycle:
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
LAY-EGGS β INIT β PLAN β BUILD β CONTINUE β BUILD β ... β SEAL β ENTOMB
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
Workers spawn sub-workers autonomously (max depth 3).
|
|
123
|
+
Builders receive colony knowledge (instincts, learnings, error patterns).
|
|
124
|
+
Watchers independently verify work β builders never self-approve.
|
|
125
|
+
Phase boundaries are control points: emergence within, gates between.
|
|
126
|
+
|
|
127
|
+
Pheromone System:
|
|
128
|
+
Signals expire after their TTL. Workers sense active signals
|
|
129
|
+
and adjust behavior. FOCUS attracts, REDIRECT repels, FEEDBACK calibrates.
|
|
130
|
+
|
|
131
|
+
Colony Memory:
|
|
132
|
+
Instincts β learned patterns with confidence scores (validated through use)
|
|
133
|
+
Learnings β per-phase observations (hypothesis β validated β disproven)
|
|
134
|
+
Graveyards β markers on files where workers previously failed
|
|
135
|
+
|
|
136
|
+
State Files (.aether/data/):
|
|
137
|
+
COLONY_STATE.json Goal, phases, tasks, memory, events
|
|
138
|
+
activity.log Timestamped worker activity
|
|
139
|
+
spawn-tree.txt Worker spawn hierarchy
|
|
140
|
+
pheromones.json Active FOCUS/REDIRECT/FEEDBACK signals
|
|
141
|
+
constraints.json Compatibility mirror for focus/redirect data
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
OPENCODE USERS
|
|
145
|
+
|
|
146
|
+
Argument syntax: OpenCode handles multi-word arguments differently than Claude.
|
|
147
|
+
Wrap text arguments in quotes for reliable parsing:
|
|
148
|
+
|
|
149
|
+
β
/ant:init "Build a REST API"
|
|
150
|
+
β
/ant:plan "authentication system"
|
|
151
|
+
β
/ant:focus "database layer"
|
|
152
|
+
|
|
153
|
+
Without quotes, only the first word may be captured. This is now handled
|
|
154
|
+
automatically by the normalize-args utility, but quoting is recommended.
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
|