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.
Files changed (185) hide show
  1. package/.aether/aether-utils.sh +157 -42
  2. package/.aether/agents/aether-ambassador.md +140 -0
  3. package/.aether/agents/aether-archaeologist.md +108 -0
  4. package/.aether/agents/aether-architect.md +133 -0
  5. package/.aether/agents/aether-auditor.md +144 -0
  6. package/.aether/agents/aether-builder.md +184 -0
  7. package/.aether/agents/aether-chaos.md +115 -0
  8. package/.aether/agents/aether-chronicler.md +122 -0
  9. package/.aether/agents/aether-gatekeeper.md +116 -0
  10. package/.aether/agents/aether-includer.md +117 -0
  11. package/.aether/agents/aether-keeper.md +177 -0
  12. package/.aether/agents/aether-measurer.md +128 -0
  13. package/.aether/agents/aether-oracle.md +137 -0
  14. package/.aether/agents/aether-probe.md +133 -0
  15. package/.aether/agents/aether-queen.md +286 -0
  16. package/.aether/agents/aether-route-setter.md +130 -0
  17. package/.aether/agents/aether-sage.md +106 -0
  18. package/.aether/agents/aether-scout.md +101 -0
  19. package/.aether/agents/aether-surveyor-disciplines.md +391 -0
  20. package/.aether/agents/aether-surveyor-nest.md +329 -0
  21. package/.aether/agents/aether-surveyor-pathogens.md +264 -0
  22. package/.aether/agents/aether-surveyor-provisions.md +334 -0
  23. package/.aether/agents/aether-tracker.md +137 -0
  24. package/.aether/agents/aether-watcher.md +174 -0
  25. package/.aether/agents/aether-weaver.md +130 -0
  26. package/.aether/commands/claude/archaeology.md +334 -0
  27. package/.aether/commands/claude/build.md +65 -0
  28. package/.aether/commands/claude/chaos.md +336 -0
  29. package/.aether/commands/claude/colonize.md +259 -0
  30. package/.aether/commands/claude/continue.md +60 -0
  31. package/.aether/commands/claude/council.md +507 -0
  32. package/.aether/commands/claude/data-clean.md +81 -0
  33. package/.aether/commands/claude/dream.md +268 -0
  34. package/.aether/commands/claude/entomb.md +498 -0
  35. package/.aether/commands/claude/export-signals.md +57 -0
  36. package/.aether/commands/claude/feedback.md +96 -0
  37. package/.aether/commands/claude/flag.md +151 -0
  38. package/.aether/commands/claude/flags.md +169 -0
  39. package/.aether/commands/claude/focus.md +76 -0
  40. package/.aether/commands/claude/help.md +154 -0
  41. package/.aether/commands/claude/history.md +140 -0
  42. package/.aether/commands/claude/import-signals.md +71 -0
  43. package/.aether/commands/claude/init.md +505 -0
  44. package/.aether/commands/claude/insert-phase.md +105 -0
  45. package/.aether/commands/claude/interpret.md +278 -0
  46. package/.aether/commands/claude/lay-eggs.md +210 -0
  47. package/.aether/commands/claude/maturity.md +113 -0
  48. package/.aether/commands/claude/memory-details.md +77 -0
  49. package/.aether/commands/claude/migrate-state.md +171 -0
  50. package/.aether/commands/claude/oracle.md +642 -0
  51. package/.aether/commands/claude/organize.md +232 -0
  52. package/.aether/commands/claude/patrol.md +620 -0
  53. package/.aether/commands/claude/pause-colony.md +233 -0
  54. package/.aether/commands/claude/phase.md +115 -0
  55. package/.aether/commands/claude/pheromones.md +156 -0
  56. package/.aether/commands/claude/plan.md +693 -0
  57. package/.aether/commands/claude/preferences.md +65 -0
  58. package/.aether/commands/claude/quick.md +100 -0
  59. package/.aether/commands/claude/redirect.md +76 -0
  60. package/.aether/commands/claude/resume-colony.md +197 -0
  61. package/.aether/commands/claude/resume.md +388 -0
  62. package/.aether/commands/claude/run.md +231 -0
  63. package/.aether/commands/claude/seal.md +774 -0
  64. package/.aether/commands/claude/skill-create.md +286 -0
  65. package/.aether/commands/claude/status.md +410 -0
  66. package/.aether/commands/claude/swarm.md +349 -0
  67. package/.aether/commands/claude/tunnels.md +426 -0
  68. package/.aether/commands/claude/update.md +132 -0
  69. package/.aether/commands/claude/verify-castes.md +143 -0
  70. package/.aether/commands/claude/watch.md +239 -0
  71. package/.aether/commands/colonize.yaml +4 -0
  72. package/.aether/commands/council.yaml +205 -0
  73. package/.aether/commands/init.yaml +46 -13
  74. package/.aether/commands/insert-phase.yaml +4 -0
  75. package/.aether/commands/opencode/archaeology.md +331 -0
  76. package/.aether/commands/opencode/build.md +1168 -0
  77. package/.aether/commands/opencode/chaos.md +329 -0
  78. package/.aether/commands/opencode/colonize.md +195 -0
  79. package/.aether/commands/opencode/continue.md +1436 -0
  80. package/.aether/commands/opencode/council.md +437 -0
  81. package/.aether/commands/opencode/data-clean.md +77 -0
  82. package/.aether/commands/opencode/dream.md +260 -0
  83. package/.aether/commands/opencode/entomb.md +377 -0
  84. package/.aether/commands/opencode/export-signals.md +54 -0
  85. package/.aether/commands/opencode/feedback.md +99 -0
  86. package/.aether/commands/opencode/flag.md +149 -0
  87. package/.aether/commands/opencode/flags.md +167 -0
  88. package/.aether/commands/opencode/focus.md +73 -0
  89. package/.aether/commands/opencode/help.md +157 -0
  90. package/.aether/commands/opencode/history.md +136 -0
  91. package/.aether/commands/opencode/import-signals.md +68 -0
  92. package/.aether/commands/opencode/init.md +518 -0
  93. package/.aether/commands/opencode/insert-phase.md +111 -0
  94. package/.aether/commands/opencode/interpret.md +272 -0
  95. package/.aether/commands/opencode/lay-eggs.md +213 -0
  96. package/.aether/commands/opencode/maturity.md +108 -0
  97. package/.aether/commands/opencode/memory-details.md +83 -0
  98. package/.aether/commands/opencode/migrate-state.md +165 -0
  99. package/.aether/commands/opencode/oracle.md +593 -0
  100. package/.aether/commands/opencode/organize.md +226 -0
  101. package/.aether/commands/opencode/patrol.md +626 -0
  102. package/.aether/commands/opencode/pause-colony.md +203 -0
  103. package/.aether/commands/opencode/phase.md +113 -0
  104. package/.aether/commands/opencode/pheromones.md +162 -0
  105. package/.aether/commands/opencode/plan.md +684 -0
  106. package/.aether/commands/opencode/preferences.md +71 -0
  107. package/.aether/commands/opencode/quick.md +91 -0
  108. package/.aether/commands/opencode/redirect.md +84 -0
  109. package/.aether/commands/opencode/resume-colony.md +190 -0
  110. package/.aether/commands/opencode/resume.md +394 -0
  111. package/.aether/commands/opencode/run.md +237 -0
  112. package/.aether/commands/opencode/seal.md +452 -0
  113. package/.aether/commands/opencode/skill-create.md +63 -0
  114. package/.aether/commands/opencode/status.md +307 -0
  115. package/.aether/commands/opencode/swarm.md +15 -0
  116. package/.aether/commands/opencode/tunnels.md +400 -0
  117. package/.aether/commands/opencode/update.md +127 -0
  118. package/.aether/commands/opencode/verify-castes.md +139 -0
  119. package/.aether/commands/opencode/watch.md +227 -0
  120. package/.aether/commands/plan.yaml +53 -2
  121. package/.aether/commands/quick.yaml +104 -0
  122. package/.aether/commands/resume-colony.yaml +6 -4
  123. package/.aether/commands/resume.yaml +9 -0
  124. package/.aether/commands/run.yaml +37 -1
  125. package/.aether/commands/seal.yaml +9 -0
  126. package/.aether/commands/status.yaml +45 -1
  127. package/.aether/docs/command-playbooks/build-full.md +3 -2
  128. package/.aether/docs/command-playbooks/build-prep.md +12 -4
  129. package/.aether/docs/command-playbooks/build-verify.md +51 -0
  130. package/.aether/docs/command-playbooks/continue-advance.md +115 -6
  131. package/.aether/docs/command-playbooks/continue-full.md +1 -0
  132. package/.aether/docs/command-playbooks/continue-verify.md +33 -0
  133. package/.aether/utils/clash-detect.sh +239 -0
  134. package/.aether/utils/council.sh +425 -0
  135. package/.aether/utils/error-handler.sh +3 -3
  136. package/.aether/utils/flag.sh +23 -12
  137. package/.aether/utils/hive.sh +2 -2
  138. package/.aether/utils/hooks/clash-pre-tool-use.js +99 -0
  139. package/.aether/utils/immune.sh +508 -0
  140. package/.aether/utils/learning.sh +2 -2
  141. package/.aether/utils/merge-driver-lockfile.sh +35 -0
  142. package/.aether/utils/midden.sh +712 -0
  143. package/.aether/utils/pheromone.sh +1376 -108
  144. package/.aether/utils/queen.sh +31 -21
  145. package/.aether/utils/session.sh +264 -0
  146. package/.aether/utils/spawn-tree.sh +7 -7
  147. package/.aether/utils/spawn.sh +2 -2
  148. package/.aether/utils/state-api.sh +216 -5
  149. package/.aether/utils/swarm.sh +1 -1
  150. package/.aether/utils/worktree.sh +189 -0
  151. package/.claude/commands/ant/colonize.md +2 -0
  152. package/.claude/commands/ant/council.md +205 -0
  153. package/.claude/commands/ant/init.md +53 -14
  154. package/.claude/commands/ant/insert-phase.md +4 -0
  155. package/.claude/commands/ant/plan.md +27 -1
  156. package/.claude/commands/ant/quick.md +100 -0
  157. package/.claude/commands/ant/resume-colony.md +3 -2
  158. package/.claude/commands/ant/resume.md +9 -0
  159. package/.claude/commands/ant/run.md +37 -1
  160. package/.claude/commands/ant/seal.md +9 -0
  161. package/.claude/commands/ant/status.md +45 -1
  162. package/.opencode/commands/ant/colonize.md +2 -0
  163. package/.opencode/commands/ant/council.md +143 -0
  164. package/.opencode/commands/ant/init.md +53 -13
  165. package/.opencode/commands/ant/insert-phase.md +4 -0
  166. package/.opencode/commands/ant/plan.md +26 -1
  167. package/.opencode/commands/ant/quick.md +91 -0
  168. package/.opencode/commands/ant/resume-colony.md +3 -2
  169. package/.opencode/commands/ant/resume.md +9 -0
  170. package/.opencode/commands/ant/run.md +37 -1
  171. package/.opencode/commands/ant/status.md +2 -0
  172. package/CHANGELOG.md +116 -0
  173. package/README.md +34 -8
  174. package/bin/cli.js +103 -61
  175. package/bin/lib/banner.js +14 -0
  176. package/bin/lib/init.js +8 -7
  177. package/bin/lib/interactive-setup.js +251 -0
  178. package/bin/npx-entry.js +21 -0
  179. package/bin/npx-install.js +9 -167
  180. package/bin/validate-package.sh +23 -0
  181. package/package.json +11 -3
  182. package/.aether/docs/plans/pheromone-display-plan.md +0 -257
  183. package/.aether/schemas/example-prompt-builder.xml +0 -234
  184. package/.aether/scripts/incident-test-add.sh +0 -47
  185. 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
+