aether-colony 5.3.2 → 5.4.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 +181 -5
- package/.aether/commands/archaeology.yaml +3 -3
- package/.aether/commands/build.yaml +80 -45
- package/.aether/commands/chaos.yaml +7 -7
- package/.aether/commands/colonize.yaml +17 -17
- package/.aether/commands/continue.yaml +40 -40
- package/.aether/commands/council.yaml +6 -6
- package/.aether/commands/data-clean.yaml +3 -3
- package/.aether/commands/dream.yaml +2 -2
- package/.aether/commands/entomb.yaml +12 -12
- package/.aether/commands/export-signals.yaml +2 -2
- package/.aether/commands/feedback.yaml +6 -6
- package/.aether/commands/flag.yaml +2 -2
- package/.aether/commands/flags.yaml +4 -4
- package/.aether/commands/focus.yaml +6 -6
- package/.aether/commands/help.yaml +1 -1
- package/.aether/commands/history.yaml +1 -1
- package/.aether/commands/import-signals.yaml +2 -2
- package/.aether/commands/init.yaml +44 -27
- package/.aether/commands/insert-phase.yaml +1 -1
- package/.aether/commands/interpret.yaml +2 -2
- package/.aether/commands/lay-eggs.yaml +3 -3
- package/.aether/commands/maturity.yaml +2 -2
- package/.aether/commands/memory-details.yaml +1 -1
- package/.aether/commands/migrate-state.yaml +1 -1
- package/.aether/commands/oracle.yaml +147 -82
- package/.aether/commands/organize.yaml +5 -5
- package/.aether/commands/patrol.yaml +8 -8
- package/.aether/commands/pause-colony.yaml +7 -7
- package/.aether/commands/phase.yaml +1 -1
- package/.aether/commands/pheromones.yaml +1 -1
- package/.aether/commands/plan.yaml +14 -14
- package/.aether/commands/quick.yaml +4 -4
- package/.aether/commands/redirect.yaml +6 -6
- package/.aether/commands/resume-colony.yaml +9 -9
- package/.aether/commands/resume.yaml +5 -38
- package/.aether/commands/run.yaml +10 -10
- package/.aether/commands/seal.yaml +33 -33
- package/.aether/commands/skill-create.yaml +4 -4
- package/.aether/commands/status.yaml +14 -14
- package/.aether/commands/swarm.yaml +14 -14
- package/.aether/commands/tunnels.yaml +7 -7
- package/.aether/commands/update.yaml +1 -1
- package/.aether/commands/verify-castes.yaml +3 -3
- package/.aether/commands/watch.yaml +15 -15
- package/.aether/docs/command-playbooks/build-complete.md +48 -15
- package/.aether/docs/command-playbooks/build-context.md +11 -11
- package/.aether/docs/command-playbooks/build-full.md +76 -76
- package/.aether/docs/command-playbooks/build-prep.md +10 -10
- package/.aether/docs/command-playbooks/build-verify.md +27 -27
- package/.aether/docs/command-playbooks/build-wave.md +38 -38
- package/.aether/docs/command-playbooks/continue-advance.md +60 -27
- package/.aether/docs/command-playbooks/continue-finalize.md +25 -11
- package/.aether/docs/command-playbooks/continue-full.md +60 -46
- package/.aether/docs/command-playbooks/continue-gates.md +18 -18
- package/.aether/docs/command-playbooks/continue-verify.md +10 -10
- package/.aether/docs/source-of-truth-map.md +10 -10
- package/.aether/docs/structural-learning-stack.md +283 -0
- package/.aether/templates/colony-state-template.json +1 -0
- package/.aether/utils/consolidation-seal.sh +196 -0
- package/.aether/utils/consolidation.sh +127 -0
- package/.aether/utils/curation-ants/archivist.sh +97 -0
- package/.aether/utils/curation-ants/critic.sh +214 -0
- package/.aether/utils/curation-ants/herald.sh +102 -0
- package/.aether/utils/curation-ants/janitor.sh +121 -0
- package/.aether/utils/curation-ants/librarian.sh +99 -0
- package/.aether/utils/curation-ants/nurse.sh +153 -0
- package/.aether/utils/curation-ants/orchestrator.sh +181 -0
- package/.aether/utils/curation-ants/scribe.sh +164 -0
- package/.aether/utils/curation-ants/sentinel.sh +119 -0
- package/.aether/utils/event-bus.sh +301 -0
- package/.aether/utils/graph.sh +559 -0
- package/.aether/utils/instinct-store.sh +401 -0
- package/.aether/utils/learning.sh +79 -7
- package/.aether/utils/oracle/oracle-stop-hook.sh +896 -0
- package/.aether/utils/session.sh +13 -0
- package/.aether/utils/state-api.sh +1 -1
- package/.aether/utils/trust-scoring.sh +347 -0
- package/.aether/utils/worktree.sh +97 -0
- package/.claude/commands/ant/archaeology.md +2 -2
- package/.claude/commands/ant/chaos.md +4 -4
- package/.claude/commands/ant/colonize.md +9 -9
- package/.claude/commands/ant/council.md +6 -6
- package/.claude/commands/ant/data-clean.md +3 -3
- package/.claude/commands/ant/dream.md +2 -2
- package/.claude/commands/ant/entomb.md +9 -9
- package/.claude/commands/ant/export-signals.md +2 -2
- package/.claude/commands/ant/feedback.md +4 -4
- package/.claude/commands/ant/flag.md +2 -2
- package/.claude/commands/ant/flags.md +4 -4
- package/.claude/commands/ant/focus.md +4 -4
- package/.claude/commands/ant/help.md +1 -1
- package/.claude/commands/ant/history.md +1 -1
- package/.claude/commands/ant/import-signals.md +2 -2
- package/.claude/commands/ant/init.md +44 -27
- package/.claude/commands/ant/insert-phase.md +1 -1
- package/.claude/commands/ant/interpret.md +2 -2
- package/.claude/commands/ant/lay-eggs.md +2 -2
- package/.claude/commands/ant/maturity.md +2 -2
- package/.claude/commands/ant/memory-details.md +1 -1
- package/.claude/commands/ant/migrate-state.md +1 -1
- package/.claude/commands/ant/oracle.md +78 -42
- package/.claude/commands/ant/organize.md +3 -3
- package/.claude/commands/ant/patrol.md +8 -8
- package/.claude/commands/ant/pause-colony.md +5 -5
- package/.claude/commands/ant/phase.md +1 -1
- package/.claude/commands/ant/pheromones.md +1 -1
- package/.claude/commands/ant/plan.md +8 -8
- package/.claude/commands/ant/quick.md +4 -4
- package/.claude/commands/ant/redirect.md +4 -4
- package/.claude/commands/ant/resume-colony.md +5 -5
- package/.claude/commands/ant/resume.md +17 -29
- package/.claude/commands/ant/run.md +10 -10
- package/.claude/commands/ant/seal.md +25 -25
- package/.claude/commands/ant/skill-create.md +2 -2
- package/.claude/commands/ant/status.md +14 -14
- package/.claude/commands/ant/swarm.md +14 -14
- package/.claude/commands/ant/tunnels.md +4 -4
- package/.claude/commands/ant/update.md +1 -1
- package/.claude/commands/ant/verify-castes.md +2 -2
- package/.claude/commands/ant/watch.md +8 -8
- package/.opencode/commands/ant/archaeology.md +1 -1
- package/.opencode/commands/ant/build.md +80 -45
- package/.opencode/commands/ant/chaos.md +3 -3
- package/.opencode/commands/ant/colonize.md +8 -8
- package/.opencode/commands/ant/continue.md +40 -40
- package/.opencode/commands/ant/council.md +5 -5
- package/.opencode/commands/ant/data-clean.md +2 -2
- package/.opencode/commands/ant/dream.md +1 -1
- package/.opencode/commands/ant/entomb.md +3 -3
- package/.opencode/commands/ant/export-signals.md +1 -1
- package/.opencode/commands/ant/feedback.md +2 -2
- package/.opencode/commands/ant/flag.md +1 -1
- package/.opencode/commands/ant/flags.md +3 -3
- package/.opencode/commands/ant/focus.md +2 -2
- package/.opencode/commands/ant/import-signals.md +1 -1
- package/.opencode/commands/ant/init.md +44 -27
- package/.opencode/commands/ant/insert-phase.md +1 -1
- package/.opencode/commands/ant/interpret.md +1 -1
- package/.opencode/commands/ant/lay-eggs.md +2 -2
- package/.opencode/commands/ant/maturity.md +1 -1
- package/.opencode/commands/ant/memory-details.md +1 -1
- package/.opencode/commands/ant/oracle.md +69 -40
- package/.opencode/commands/ant/organize.md +2 -2
- package/.opencode/commands/ant/patrol.md +8 -8
- package/.opencode/commands/ant/pause-colony.md +2 -2
- package/.opencode/commands/ant/pheromones.md +1 -1
- package/.opencode/commands/ant/plan.md +6 -6
- package/.opencode/commands/ant/quick.md +4 -4
- package/.opencode/commands/ant/redirect.md +2 -2
- package/.opencode/commands/ant/resume-colony.md +4 -4
- package/.opencode/commands/ant/resume.md +5 -17
- package/.opencode/commands/ant/run.md +10 -10
- package/.opencode/commands/ant/seal.md +8 -8
- package/.opencode/commands/ant/skill-create.md +2 -2
- package/.opencode/commands/ant/status.md +10 -10
- package/.opencode/commands/ant/tunnels.md +3 -3
- package/.opencode/commands/ant/verify-castes.md +1 -1
- package/.opencode/commands/ant/watch.md +7 -7
- package/CHANGELOG.md +83 -0
- package/README.md +22 -9
- package/bin/cli.js +118 -3
- package/bin/lib/binary-downloader.js +267 -0
- package/bin/lib/update-transaction.js +27 -3
- package/bin/lib/version-gate.js +179 -0
- package/bin/npx-entry.js +0 -0
- package/package.json +1 -1
- package/.aether/agents/aether-ambassador.md +0 -140
- package/.aether/agents/aether-archaeologist.md +0 -108
- package/.aether/agents/aether-architect.md +0 -133
- package/.aether/agents/aether-auditor.md +0 -144
- package/.aether/agents/aether-builder.md +0 -184
- package/.aether/agents/aether-chaos.md +0 -115
- package/.aether/agents/aether-chronicler.md +0 -122
- package/.aether/agents/aether-gatekeeper.md +0 -116
- package/.aether/agents/aether-includer.md +0 -117
- package/.aether/agents/aether-keeper.md +0 -177
- package/.aether/agents/aether-measurer.md +0 -128
- package/.aether/agents/aether-oracle.md +0 -137
- package/.aether/agents/aether-probe.md +0 -133
- package/.aether/agents/aether-queen.md +0 -286
- package/.aether/agents/aether-route-setter.md +0 -130
- package/.aether/agents/aether-sage.md +0 -106
- package/.aether/agents/aether-scout.md +0 -101
- package/.aether/agents/aether-surveyor-disciplines.md +0 -391
- package/.aether/agents/aether-surveyor-nest.md +0 -329
- package/.aether/agents/aether-surveyor-pathogens.md +0 -264
- package/.aether/agents/aether-surveyor-provisions.md +0 -334
- package/.aether/agents/aether-tracker.md +0 -137
- package/.aether/agents/aether-watcher.md +0 -174
- package/.aether/agents/aether-weaver.md +0 -130
- package/.aether/commands/claude/archaeology.md +0 -334
- package/.aether/commands/claude/build.md +0 -65
- package/.aether/commands/claude/chaos.md +0 -336
- package/.aether/commands/claude/colonize.md +0 -259
- package/.aether/commands/claude/continue.md +0 -60
- package/.aether/commands/claude/council.md +0 -507
- package/.aether/commands/claude/data-clean.md +0 -81
- package/.aether/commands/claude/dream.md +0 -268
- package/.aether/commands/claude/entomb.md +0 -498
- package/.aether/commands/claude/export-signals.md +0 -57
- package/.aether/commands/claude/feedback.md +0 -96
- package/.aether/commands/claude/flag.md +0 -151
- package/.aether/commands/claude/flags.md +0 -169
- package/.aether/commands/claude/focus.md +0 -76
- package/.aether/commands/claude/help.md +0 -154
- package/.aether/commands/claude/history.md +0 -140
- package/.aether/commands/claude/import-signals.md +0 -71
- package/.aether/commands/claude/init.md +0 -505
- package/.aether/commands/claude/insert-phase.md +0 -105
- package/.aether/commands/claude/interpret.md +0 -278
- package/.aether/commands/claude/lay-eggs.md +0 -210
- package/.aether/commands/claude/maturity.md +0 -113
- package/.aether/commands/claude/memory-details.md +0 -77
- package/.aether/commands/claude/migrate-state.md +0 -171
- package/.aether/commands/claude/oracle.md +0 -642
- package/.aether/commands/claude/organize.md +0 -232
- package/.aether/commands/claude/patrol.md +0 -620
- package/.aether/commands/claude/pause-colony.md +0 -233
- package/.aether/commands/claude/phase.md +0 -115
- package/.aether/commands/claude/pheromones.md +0 -156
- package/.aether/commands/claude/plan.md +0 -693
- package/.aether/commands/claude/preferences.md +0 -65
- package/.aether/commands/claude/quick.md +0 -100
- package/.aether/commands/claude/redirect.md +0 -76
- package/.aether/commands/claude/resume-colony.md +0 -197
- package/.aether/commands/claude/resume.md +0 -388
- package/.aether/commands/claude/run.md +0 -231
- package/.aether/commands/claude/seal.md +0 -774
- package/.aether/commands/claude/skill-create.md +0 -286
- package/.aether/commands/claude/status.md +0 -410
- package/.aether/commands/claude/swarm.md +0 -349
- package/.aether/commands/claude/tunnels.md +0 -426
- package/.aether/commands/claude/update.md +0 -132
- package/.aether/commands/claude/verify-castes.md +0 -143
- package/.aether/commands/claude/watch.md +0 -239
- package/.aether/commands/opencode/archaeology.md +0 -331
- package/.aether/commands/opencode/build.md +0 -1168
- package/.aether/commands/opencode/chaos.md +0 -329
- package/.aether/commands/opencode/colonize.md +0 -195
- package/.aether/commands/opencode/continue.md +0 -1436
- package/.aether/commands/opencode/council.md +0 -437
- package/.aether/commands/opencode/data-clean.md +0 -77
- package/.aether/commands/opencode/dream.md +0 -260
- package/.aether/commands/opencode/entomb.md +0 -377
- package/.aether/commands/opencode/export-signals.md +0 -54
- package/.aether/commands/opencode/feedback.md +0 -99
- package/.aether/commands/opencode/flag.md +0 -149
- package/.aether/commands/opencode/flags.md +0 -167
- package/.aether/commands/opencode/focus.md +0 -73
- package/.aether/commands/opencode/help.md +0 -157
- package/.aether/commands/opencode/history.md +0 -136
- package/.aether/commands/opencode/import-signals.md +0 -68
- package/.aether/commands/opencode/init.md +0 -518
- package/.aether/commands/opencode/insert-phase.md +0 -111
- package/.aether/commands/opencode/interpret.md +0 -272
- package/.aether/commands/opencode/lay-eggs.md +0 -213
- package/.aether/commands/opencode/maturity.md +0 -108
- package/.aether/commands/opencode/memory-details.md +0 -83
- package/.aether/commands/opencode/migrate-state.md +0 -165
- package/.aether/commands/opencode/oracle.md +0 -593
- package/.aether/commands/opencode/organize.md +0 -226
- package/.aether/commands/opencode/patrol.md +0 -626
- package/.aether/commands/opencode/pause-colony.md +0 -203
- package/.aether/commands/opencode/phase.md +0 -113
- package/.aether/commands/opencode/pheromones.md +0 -162
- package/.aether/commands/opencode/plan.md +0 -684
- package/.aether/commands/opencode/preferences.md +0 -71
- package/.aether/commands/opencode/quick.md +0 -91
- package/.aether/commands/opencode/redirect.md +0 -84
- package/.aether/commands/opencode/resume-colony.md +0 -190
- package/.aether/commands/opencode/resume.md +0 -394
- package/.aether/commands/opencode/run.md +0 -237
- package/.aether/commands/opencode/seal.md +0 -452
- package/.aether/commands/opencode/skill-create.md +0 -63
- package/.aether/commands/opencode/status.md +0 -307
- package/.aether/commands/opencode/swarm.md +0 -15
- package/.aether/commands/opencode/tunnels.md +0 -400
- package/.aether/commands/opencode/update.md +0 -127
- package/.aether/commands/opencode/verify-castes.md +0 -139
- package/.aether/commands/opencode/watch.md +0 -227
|
@@ -32,7 +32,7 @@ Execute the following steps in order when the user runs `/ant:resume`.
|
|
|
32
32
|
|
|
33
33
|
Run::
|
|
34
34
|
```bash
|
|
35
|
-
|
|
35
|
+
aether session-read
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
Parse the JSON result.
|
|
@@ -102,11 +102,9 @@ Do NOT proceed with stale or fabricated data.
|
|
|
102
102
|
|
|
103
103
|
### Step 3: Read Pheromone Signals
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
|
|
107
105
|
Run::
|
|
108
106
|
```bash
|
|
109
|
-
|
|
107
|
+
aether pheromone-read all
|
|
110
108
|
```
|
|
111
109
|
|
|
112
110
|
Parse the JSON result. Extract `.result.signals` array.
|
|
@@ -117,7 +115,6 @@ Parse the JSON result. Extract `.result.signals` array.
|
|
|
117
115
|
|
|
118
116
|
Note: pheromone-read applies decay calculation automatically. The `effective_strength` field reflects current signal strength after time-based decay. Signals below 0.1 effective strength are already filtered out.
|
|
119
117
|
|
|
120
|
-
|
|
121
118
|
---
|
|
122
119
|
|
|
123
120
|
### Step 4: Read CONTEXT.md
|
|
@@ -299,12 +296,9 @@ Recent Decisions:
|
|
|
299
296
|
|
|
300
297
|
{if signals array from Step 3 is not empty:}
|
|
301
298
|
Active Signals:
|
|
302
|
-
|
|
303
|
-
|
|
304
299
|
{for each signal in signals:}
|
|
305
300
|
{signal.type}: "{signal.content}" [{signal.effective_strength * 100 | floor}%]
|
|
306
301
|
{end}
|
|
307
|
-
|
|
308
302
|
{end}
|
|
309
303
|
```
|
|
310
304
|
|
|
@@ -314,7 +308,7 @@ Active Signals:
|
|
|
314
308
|
|
|
315
309
|
Run::
|
|
316
310
|
```bash
|
|
317
|
-
|
|
311
|
+
aether resume-dashboard
|
|
318
312
|
```
|
|
319
313
|
|
|
320
314
|
Extract memory_health from the JSON result:
|
|
@@ -346,7 +340,7 @@ Session: {session_id}
|
|
|
346
340
|
|
|
347
341
|
Run::
|
|
348
342
|
```bash
|
|
349
|
-
|
|
343
|
+
aether session-mark-resumed
|
|
350
344
|
```
|
|
351
345
|
|
|
352
346
|
### Step 10: Next Up
|
|
@@ -356,7 +350,7 @@ Generate the state-based Next Up block by Run::
|
|
|
356
350
|
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
357
351
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
358
352
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
359
|
-
|
|
353
|
+
aether print-next-up
|
|
360
354
|
```
|
|
361
355
|
|
|
362
356
|
---
|
|
@@ -367,10 +361,7 @@ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_pha
|
|
|
367
361
|
|-----------|----------|
|
|
368
362
|
| session.json missing (exists=false) | "No previous session found" — offer /ant:init and /ant:status |
|
|
369
363
|
| COLONY_STATE.json missing or corrupted | Pause, ask user: start fresh or recover |
|
|
370
|
-
|
|
371
|
-
|
|
372
364
|
| pheromone-read fails | Skip silently (no pheromones) |
|
|
373
|
-
|
|
374
365
|
| CONTEXT.md missing | Fall back to COLONY_STATE.json narrative |
|
|
375
366
|
| No plan phases, no generated_at | BLOCK — redirect to /ant:plan |
|
|
376
367
|
| Plan attempted but no phases | BLOCK — redirect to /ant:plan |
|
|
@@ -382,10 +373,7 @@ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_pha
|
|
|
382
373
|
|
|
383
374
|
## Key Constraints
|
|
384
375
|
|
|
385
|
-
|
|
386
|
-
|
|
387
376
|
- Use Read tool for COLONY_STATE.json (not bash cat/jq). Use Bash tool for pheromone-read (applies decay calculation).
|
|
388
|
-
|
|
389
377
|
- Use Bash tool only for aether-utils.sh commands and git commands
|
|
390
378
|
- Handle ALL missing/corrupted file cases gracefully
|
|
391
379
|
- Time-agnostic: restore identically regardless of how long ago the session was
|
|
@@ -55,7 +55,7 @@ If `--dry-run`: read COLONY_STATE.json, list remaining incomplete phases
|
|
|
55
55
|
(applying `--max-phases` cap), display the plan, then stop without executing.
|
|
56
56
|
|
|
57
57
|
```
|
|
58
|
-
━━━ A U T O P I L O T P R E V I E W ━━━
|
|
58
|
+
━━━ 🤖 A U T O P I L O T P R E V I E W ━━━
|
|
59
59
|
Goal: {goal} | Current: Phase {N} | Remaining: {count} | Max: {max or "all"}
|
|
60
60
|
|
|
61
61
|
Phase {id}: {name} ({task_count} tasks) -> build -> continue -> advance
|
|
@@ -74,9 +74,9 @@ replan suggestion (every {replan_interval} phases)
|
|
|
74
74
|
- If `milestone` == `"Crowned Anthill"`: output "This colony has been sealed. Start a new colony with `/ant:init \"new goal\"`." and stop
|
|
75
75
|
2. Determine remaining incomplete phases; apply `--max-phases` cap
|
|
76
76
|
3. Set `phases_completed = 0`, `autopilot_start = $(date +%s)`
|
|
77
|
-
4. Record pre-build blocker count: `
|
|
77
|
+
4. Record pre-build blocker count: `aether flag-check-blockers {phase}`
|
|
78
78
|
5. If `--headless` flag is present:
|
|
79
|
-
- Run: `
|
|
79
|
+
- Run: `aether autopilot-set-headless true`
|
|
80
80
|
- Display: `Headless mode: ON — interactive prompts will be queued as pending decisions`
|
|
81
81
|
6. Display: `AUTOPILOT ENGAGED | Goal: {goal} | Phase {N} | Max: {max or "all"}`
|
|
82
82
|
|
|
@@ -113,7 +113,7 @@ Log: `"<timestamp>|autopilot_paused|run|Paused at Phase {id}: {reason}"`
|
|
|
113
113
|
visual checkpoint prompt would normally be shown to the user, instead queue it as
|
|
114
114
|
a pending decision:
|
|
115
115
|
```bash
|
|
116
|
-
|
|
116
|
+
aether pending-decision-add \
|
|
117
117
|
--title "Visual checkpoint: Phase {id}" \
|
|
118
118
|
--type "checkpoint" \
|
|
119
119
|
--description "{checkpoint_description}" \
|
|
@@ -142,7 +142,7 @@ Skip the AskUserQuestion prompt. Instead, auto-PAUSE with reason
|
|
|
142
142
|
**Headless override for runtime verification:** If headless mode is active and
|
|
143
143
|
runtime verification would normally pause, queue as a pending decision instead:
|
|
144
144
|
```bash
|
|
145
|
-
|
|
145
|
+
aether pending-decision-add \
|
|
146
146
|
--title "Runtime verification needed: Phase {id}" \
|
|
147
147
|
--type "runtime-verification" \
|
|
148
148
|
--description "Manual testing required before advancing past Phase {id}" \
|
|
@@ -173,7 +173,7 @@ replan suggestion (see Step 5.5). For all others: PAUSE with reason, log event,
|
|
|
173
173
|
### Step 5: Auto-Advance and Loop
|
|
174
174
|
|
|
175
175
|
1. Increment `phases_completed`
|
|
176
|
-
2. Update autopilot state: `
|
|
176
|
+
2. Update autopilot state: `aether autopilot-update --action advance --phase {next} --result success`
|
|
177
177
|
3. Log: `"<timestamp>|autopilot_advance|run|Phase {prev} -> {next} ({phases_completed}/{max})"`
|
|
178
178
|
4. Display: `--- Autopilot: Phase {prev} done -> Phase {next} ({N}/{max}) ---`
|
|
179
179
|
5. **Replan check** (see Step 5.5)
|
|
@@ -185,7 +185,7 @@ replan suggestion (see Step 5.5). For all others: PAUSE with reason, log event,
|
|
|
185
185
|
After each successful phase advance, check if a replan pause should fire:
|
|
186
186
|
|
|
187
187
|
```bash
|
|
188
|
-
|
|
188
|
+
aether autopilot-check-replan --interval {replan_interval}
|
|
189
189
|
```
|
|
190
190
|
|
|
191
191
|
If `--continue` flag was passed: skip this check entirely (user dismissed replan).
|
|
@@ -193,7 +193,7 @@ If `--continue` flag was passed: skip this check entirely (user dismissed replan
|
|
|
193
193
|
If `result.should_replan == true`: **PAUSE** with replan suggestion banner:
|
|
194
194
|
|
|
195
195
|
```
|
|
196
|
-
━━━ R E P L A N S U G G E S T E D ━━━
|
|
196
|
+
━━━ 🔄 R E P L A N S U G G E S T E D ━━━
|
|
197
197
|
Phases auto-completed: {N} | Learnings accumulated: {learnings_since_last}
|
|
198
198
|
|
|
199
199
|
The colony has completed {N} phases since the last plan review.
|
|
@@ -211,7 +211,7 @@ If `result.should_replan == false`: proceed normally (no pause).
|
|
|
211
211
|
### Step 6: Final Summary
|
|
212
212
|
|
|
213
213
|
```
|
|
214
|
-
━━━ A U T O P I L O T C O M P L E T E ━━━
|
|
214
|
+
━━━ ✅ A U T O P I L O T C O M P L E T E ━━━
|
|
215
215
|
Phases completed: {N} | Elapsed: {Xm Ys} | Now at: Phase {current}
|
|
216
216
|
|
|
217
217
|
{all complete} -> Colony goal achieved! Run /ant:seal
|
|
@@ -226,7 +226,7 @@ Pending decisions: {N} — run `pending-decision-list` to review
|
|
|
226
226
|
```
|
|
227
227
|
|
|
228
228
|
Update session:
|
|
229
|
-
`
|
|
229
|
+
`aether session-update --command "/ant:run" --worker "/ant:run" --summary "Autopilot: {N} phases, now Phase {current}"`
|
|
230
230
|
|
|
231
231
|
## Execution Contract
|
|
232
232
|
|
|
@@ -171,7 +171,7 @@ Build a summary of what the colony accomplished across all phases:
|
|
|
171
171
|
- Summarize the goal and key outcomes in one line
|
|
172
172
|
|
|
173
173
|
```bash
|
|
174
|
-
|
|
174
|
+
aether changelog-append \
|
|
175
175
|
"$(date +%Y-%m-%d)" \
|
|
176
176
|
"seal-crowned-anthill" \
|
|
177
177
|
"00" \
|
|
@@ -192,7 +192,7 @@ Mark the colony as inactive in the global registry. This is silent on failure
|
|
|
192
192
|
|
|
193
193
|
Run using the Bash tool (ignore errors):
|
|
194
194
|
```bash
|
|
195
|
-
|
|
195
|
+
aether registry-add --path "$(pwd)" "$(jq -r '.version // "unknown"' ~/.aether/version.json 2>/dev/null || echo 'unknown')" --active false 2>/dev/null || true
|
|
196
196
|
```
|
|
197
197
|
|
|
198
198
|
If the command fails, proceed silently. This is optional bookkeeping.
|
|
@@ -237,7 +237,7 @@ for encoded in $high_conf_instincts; do
|
|
|
237
237
|
[[ -n "$repo_domain_tags" ]] && promote_args+=(--domain "$repo_domain_tags")
|
|
238
238
|
|
|
239
239
|
# Call hive-promote which orchestrates abstract + store
|
|
240
|
-
result=$(
|
|
240
|
+
result=$(aether "${promote_args[@]}" 2>/dev/null || echo '{}')
|
|
241
241
|
was_promoted=$(echo "$result" | jq -r '.result.action // "skipped"' 2>/dev/null || echo "skipped")
|
|
242
242
|
|
|
243
243
|
if [[ "$was_promoted" == "promoted" || "$was_promoted" == "merged" ]]; then
|
|
@@ -283,7 +283,7 @@ Export colony data as a combined XML archive and a standalone pheromones.xml. Bo
|
|
|
283
283
|
```bash
|
|
284
284
|
# Check if xmllint is available
|
|
285
285
|
if command -v xmllint >/dev/null 2>&1; then
|
|
286
|
-
xml_result=$(
|
|
286
|
+
xml_result=$(aether colony-archive-xml --output ".aether/exchange/colony-archive.xml" 2>&1)
|
|
287
287
|
xml_ok=$(echo "$xml_result" | jq -r '.ok // false' 2>/dev/null)
|
|
288
288
|
if [[ "$xml_ok" == "true" ]]; then
|
|
289
289
|
xml_pheromone_count=$(echo "$xml_result" | jq -r '.result.pheromone_count // 0' 2>/dev/null)
|
|
@@ -293,7 +293,7 @@ if command -v xmllint >/dev/null 2>&1; then
|
|
|
293
293
|
fi
|
|
294
294
|
|
|
295
295
|
# Also export standalone pheromones.xml for cross-colony sharing
|
|
296
|
-
pher_result=$(
|
|
296
|
+
pher_result=$(aether pheromone-export-xml --output ".aether/exchange/pheromones.xml" 2>&1)
|
|
297
297
|
pher_ok=$(echo "$pher_result" | jq -r '.ok // false' 2>/dev/null)
|
|
298
298
|
if [[ "$pher_ok" == "true" ]]; then
|
|
299
299
|
pher_signal_count=$(jq '[.signals[] | select(.active != false)] | length' .aether/data/pheromones.json 2>/dev/null || echo "0")
|
|
@@ -303,7 +303,7 @@ if command -v xmllint >/dev/null 2>&1; then
|
|
|
303
303
|
fi
|
|
304
304
|
|
|
305
305
|
# Export standalone queen-wisdom.xml for cross-colony wisdom sharing
|
|
306
|
-
wisdom_result=$(
|
|
306
|
+
wisdom_result=$(aether wisdom-export-xml ".aether/exchange/queen-wisdom.xml" 2>&1)
|
|
307
307
|
wisdom_ok=$(echo "$wisdom_result" | jq -r '.ok // false' 2>/dev/null)
|
|
308
308
|
if [[ "$wisdom_ok" == "true" ]]; then
|
|
309
309
|
wisdom_count=$(echo "$wisdom_result" | jq -r '.result.entries // 0' 2>/dev/null)
|
|
@@ -313,7 +313,7 @@ if command -v xmllint >/dev/null 2>&1; then
|
|
|
313
313
|
fi
|
|
314
314
|
|
|
315
315
|
# Export standalone colony-registry.xml for lineage tracking
|
|
316
|
-
registry_result=$(
|
|
316
|
+
registry_result=$(aether registry-export-xml ".aether/exchange/colony-registry.xml" 2>&1)
|
|
317
317
|
registry_ok=$(echo "$registry_result" | jq -r '.ok // false' 2>/dev/null)
|
|
318
318
|
if [[ "$registry_ok" == "true" ]]; then
|
|
319
319
|
registry_count=$(echo "$registry_result" | jq -r '.result.colonies // 0' 2>/dev/null)
|
|
@@ -384,7 +384,7 @@ After the ceremony, offer to commit all colony work.
|
|
|
384
384
|
|
|
385
385
|
Generate a seal commit message:
|
|
386
386
|
```bash
|
|
387
|
-
seal_commit=$(
|
|
387
|
+
seal_commit=$(aether generate-commit-message seal "$phases_completed" "$goal" "$colony_age_days" 2>/dev/null)
|
|
388
388
|
seal_message=$(echo "$seal_commit" | jq -r '.result.message // "aether-seal: colony sealed"')
|
|
389
389
|
seal_body=$(echo "$seal_commit" | jq -r '.result.body // ""')
|
|
390
390
|
```
|
|
@@ -57,7 +57,7 @@ Create the skill file with proper frontmatter and body:
|
|
|
57
57
|
### Step 4: Write and Verify
|
|
58
58
|
|
|
59
59
|
1. Write to `~/.aether/skills/domain/{name}/SKILL.md`
|
|
60
|
-
2. Run: `
|
|
61
|
-
3. Run: `
|
|
60
|
+
2. Run: `aether skill-parse-frontmatter ~/.aether/skills/domain/{name}/SKILL.md`
|
|
61
|
+
3. Run: `aether skill-cache-rebuild`
|
|
62
62
|
4. Show the generated skill to the user
|
|
63
63
|
5. Ask if they want to adjust anything
|
|
@@ -16,7 +16,7 @@ You are the **Queen**. Show colony status.
|
|
|
16
16
|
|
|
17
17
|
### Step 0: Version Check (Non-blocking)
|
|
18
18
|
|
|
19
|
-
Run: `
|
|
19
|
+
Run: `aether version-check-cached 2>/dev/null || true`
|
|
20
20
|
|
|
21
21
|
If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
|
|
22
22
|
|
|
@@ -58,7 +58,7 @@ If `version` field is missing, "1.0", or "2.0":
|
|
|
58
58
|
|
|
59
59
|
### Step 1.5: Load State and Show Resumption Context
|
|
60
60
|
|
|
61
|
-
Run: `
|
|
61
|
+
Run: `aether load-state`
|
|
62
62
|
|
|
63
63
|
If successful and goal is not null:
|
|
64
64
|
1. Extract current_phase from state
|
|
@@ -76,7 +76,7 @@ If successful and goal is not null:
|
|
|
76
76
|
- Read .aether/HANDOFF.md content for additional context
|
|
77
77
|
- Remove .aether/HANDOFF.md after displaying (cleanup)
|
|
78
78
|
|
|
79
|
-
Run: `
|
|
79
|
+
Run: `aether unload-state` to release lock.
|
|
80
80
|
|
|
81
81
|
### Step 2: Compute Summary
|
|
82
82
|
|
|
@@ -137,7 +137,7 @@ Read `.aether/data/constraints.json` if exists:
|
|
|
137
137
|
- Constraints count: `constraints.length`
|
|
138
138
|
|
|
139
139
|
**Flags:**
|
|
140
|
-
Run: `
|
|
140
|
+
Run: `aether flag-check-blockers`
|
|
141
141
|
Extract:
|
|
142
142
|
- Blockers count (critical, block advancement)
|
|
143
143
|
- Issues count (high, warnings)
|
|
@@ -148,7 +148,7 @@ Count escalated flags by checking for blocker flags with source "escalation":
|
|
|
148
148
|
|
|
149
149
|
Run:
|
|
150
150
|
```bash
|
|
151
|
-
escalated_count=$(
|
|
151
|
+
escalated_count=$(aether flag-list --type blocker --json 2>/dev/null | jq '[.result.flags[] | select(.source == "escalation")] | length' 2>/dev/null || echo "0")
|
|
152
152
|
echo "escalated_count=$escalated_count"
|
|
153
153
|
```
|
|
154
154
|
|
|
@@ -167,7 +167,7 @@ From `memory.instincts`:
|
|
|
167
167
|
|
|
168
168
|
### Step 2.6: Detect Milestone
|
|
169
169
|
|
|
170
|
-
Run: `
|
|
170
|
+
Run: `aether milestone-detect`
|
|
171
171
|
|
|
172
172
|
Extract from JSON result:
|
|
173
173
|
- `milestone`: Current milestone name
|
|
@@ -179,7 +179,7 @@ Extract from JSON result:
|
|
|
179
179
|
|
|
180
180
|
Run:
|
|
181
181
|
```bash
|
|
182
|
-
|
|
182
|
+
aether memory-metrics
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
Extract from JSON result:
|
|
@@ -213,8 +213,8 @@ else
|
|
|
213
213
|
fi
|
|
214
214
|
|
|
215
215
|
# Generate progress bars
|
|
216
|
-
phase_bar=$(
|
|
217
|
-
task_bar=$(
|
|
216
|
+
phase_bar=$(aether generate-progress-bar "$current_phase" "$total_phases" 20)
|
|
217
|
+
task_bar=$(aether generate-progress-bar "$tasks_completed" "$tasks_total" 20)
|
|
218
218
|
|
|
219
219
|
echo "phase_bar=$phase_bar"
|
|
220
220
|
echo "task_bar=$task_bar"
|
|
@@ -301,7 +301,7 @@ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
|
301
301
|
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
302
302
|
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
303
303
|
|
|
304
|
-
|
|
304
|
+
aether print-next-up
|
|
305
305
|
```
|
|
306
306
|
|
|
307
307
|
This auto-generates state-based recommendations (IDLE → init, READY → build, EXECUTING → continue, PLANNING → plan).
|
|
@@ -32,7 +32,7 @@ Stop here.
|
|
|
32
32
|
|
|
33
33
|
### Step 2: List All Chambers
|
|
34
34
|
|
|
35
|
-
Run: `
|
|
35
|
+
Run: `aether chamber-list`
|
|
36
36
|
|
|
37
37
|
Parse JSON result into array of chambers.
|
|
38
38
|
|
|
@@ -95,7 +95,7 @@ Run /ant:tunnels to return to chamber list.
|
|
|
95
95
|
```
|
|
96
96
|
|
|
97
97
|
To get the counts and hash status:
|
|
98
|
-
- Run `
|
|
98
|
+
- Run `aether chamber-verify --path .aether/chambers/{chamber_name}`
|
|
99
99
|
- If verified: hash_status = "✅"
|
|
100
100
|
- If not verified: hash_status = "⚠️ hash mismatch"
|
|
101
101
|
- If error: hash_status = "⚠️ error"
|
|
@@ -338,7 +338,7 @@ Pass the extracted pheromone-only temp file (NOT the combined `colony-archive.xm
|
|
|
338
338
|
# Import the EXTRACTED pheromone-only XML (NOT the combined colony-archive.xml)
|
|
339
339
|
# $import_tmp_pheromones has <pheromones> as root — the format pheromone-import-xml expects
|
|
340
340
|
# Second argument triggers prefix-tagging — imported signal IDs become "{source_colony}:original_id"
|
|
341
|
-
import_result=$(
|
|
341
|
+
import_result=$(aether pheromone-import-xml --input "$import_tmp_pheromones" --colony "$source_colony" 2>&1)
|
|
342
342
|
import_ok=$(echo "$import_result" | jq -r '.ok // false' 2>/dev/null)
|
|
343
343
|
|
|
344
344
|
if [[ "$import_ok" == "true" ]]; then
|
|
@@ -69,7 +69,7 @@ Caste slots come from agent frontmatter (`model:` field).
|
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
|
|
72
|
-
Run using Bash tool: `
|
|
72
|
+
Run using Bash tool: `aether version-check-cached 2>/dev/null || echo "Utils available"`
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
Check LiteLLM proxy status:
|
|
@@ -183,21 +183,21 @@ Attaching now...
|
|
|
183
183
|
Workers and commands update watch files as they work:
|
|
184
184
|
|
|
185
185
|
### Activity Log
|
|
186
|
-
Workers write via: `
|
|
186
|
+
Workers write via: `aether activity-log "ACTION" "caste" "description"`
|
|
187
187
|
|
|
188
188
|
For named ants (recommended):
|
|
189
189
|
```bash
|
|
190
190
|
# Generate a name first
|
|
191
|
-
ant_name=$(
|
|
191
|
+
ant_name=$(aether generate-ant-name --caste "builder" | jq -r '.result')
|
|
192
192
|
# Log with ant name
|
|
193
|
-
|
|
193
|
+
aether activity-log "CREATED" "$ant_name (Builder)" "Implemented auth module"
|
|
194
194
|
```
|
|
195
195
|
|
|
196
196
|
### Spawn Tracking
|
|
197
197
|
Log spawns for tree visualization:
|
|
198
198
|
```bash
|
|
199
|
-
|
|
200
|
-
|
|
199
|
+
aether spawn-log --name "Prime" --caste "builder" --id "Hammer-42" --description "implementing auth"
|
|
200
|
+
aether spawn-complete --id "Hammer-42" --status "completed" --summary "auth module done"
|
|
201
201
|
```
|
|
202
202
|
|
|
203
203
|
### Status File
|
|
@@ -208,11 +208,11 @@ Commands update `.aether/data/watch-status.txt` with current state:
|
|
|
208
208
|
- Last Activity: most recent log entry
|
|
209
209
|
|
|
210
210
|
### Progress File
|
|
211
|
-
Update via: `
|
|
211
|
+
Update via: `aether update-progress <percent> "<message>" <phase> <total>`
|
|
212
212
|
|
|
213
213
|
Example:
|
|
214
214
|
```bash
|
|
215
|
-
|
|
215
|
+
aether update-progress 45 "Building auth module..." 2 5
|
|
216
216
|
```
|
|
217
217
|
|
|
218
218
|
---
|
package/CHANGELOG.md
CHANGED
|
@@ -690,3 +690,86 @@ The following entries are automatically generated by the colony during work phas
|
|
|
690
690
|
- **Files:** `aether-utils.sh`, `utils/hive.sh`, `utils/learning.sh`, `tests/`
|
|
691
691
|
- **Decisions:** Colony sealed at Crowned Anthill; hardened ~40 json_ok sites + checkpointing + hive null safety
|
|
692
692
|
- **What Worked:** 5 phases completed; 9 instincts created; 4 hive-eligible
|
|
693
|
+
|
|
694
|
+
## 2026-03-31
|
|
695
|
+
|
|
696
|
+
### Phase 0 — Plan 01
|
|
697
|
+
|
|
698
|
+
- **Files:** `build-complete.md`, `build.yaml`, `build.md`
|
|
699
|
+
- **Decisions:** Add Stage Audit Gate to build orchestrators
|
|
700
|
+
- **What Worked:** Pre-synthesis verification gate ensures all stages complete
|
|
701
|
+
|
|
702
|
+
### Phase 3 — Plan 01
|
|
703
|
+
|
|
704
|
+
- **What Worked:** lint:sync clean; lint clean; 524 tests pass
|
|
705
|
+
|
|
706
|
+
### Phase 0 — Plan 00
|
|
707
|
+
|
|
708
|
+
- **Files:** `build-complete.md`, `build.yaml`, `update-transaction.test.js`
|
|
709
|
+
- **Decisions:** Colony sealed at Crowned Anthill; Enforce non-skippable build playbook execution and verify exchange fix
|
|
710
|
+
- **What Worked:** 3 phases completed; Colony wisdom promoted to QUEEN.md
|
|
711
|
+
|
|
712
|
+
### Phase 1 — Plan 01
|
|
713
|
+
|
|
714
|
+
- **Files:** `build-complete.md`, `state-contract-design.md`
|
|
715
|
+
- **Decisions:** Deleted wrong test file; Fixed step numbering; Added DATA_DIR exception clause
|
|
716
|
+
- **What Worked:** Swarm parallel audit; Pre-existing quality issues logged
|
|
717
|
+
|
|
718
|
+
## 2026-04-01
|
|
719
|
+
|
|
720
|
+
### Phase 2 — Plan 01
|
|
721
|
+
|
|
722
|
+
- **Files:** `trust-scoring.sh`, `event-bus.sh`, `aether-utils.sh`
|
|
723
|
+
- **Decisions:** Stateless calculation module; JSONL event bus with file locking
|
|
724
|
+
- **What Worked:** Parallel builders; Self-registration pattern
|
|
725
|
+
|
|
726
|
+
### Phase 3 — Plan 01
|
|
727
|
+
|
|
728
|
+
- **Files:** `instinct-store.sh`, `graph.sh`, `learning.sh`, `aether-utils.sh`
|
|
729
|
+
- **Decisions:** Standalone instinct storage; jq graph traversal; Trust-scored observations
|
|
730
|
+
- **What Worked:** Additive parallel modification
|
|
731
|
+
|
|
732
|
+
### Phase 4 — Plan 01
|
|
733
|
+
|
|
734
|
+
- **Files:** `nurse.sh`, `herald.sh`, `librarian.sh`, `critic.sh`, `sentinel.sh`, `janitor.sh`, `archivist.sh`, `scribe.sh`, `orchestrator.sh`
|
|
735
|
+
- **Decisions:** 8 curation ants; curation-run orchestrator; Sentinel-first execution order
|
|
736
|
+
- **What Worked:** Parallel core/ops builders; Orchestrator integration
|
|
737
|
+
|
|
738
|
+
### Phase 5 — Plan 01
|
|
739
|
+
|
|
740
|
+
- **Files:** `consolidation.sh`, `consolidation-seal.sh`, `test-e2e-pipeline.sh`
|
|
741
|
+
- **Decisions:** Lightweight phase-end; Full seal consolidation; E2E integration test
|
|
742
|
+
|
|
743
|
+
### Phase 6 — Plan 01
|
|
744
|
+
|
|
745
|
+
- **Files:** `structural-learning-stack.md`, `CLAUDE.md`
|
|
746
|
+
- **Decisions:** Architecture documentation; Updated component counts; Full test sweep
|
|
747
|
+
|
|
748
|
+
### Phase 0 — Plan 00
|
|
749
|
+
|
|
750
|
+
- **Files:** `trust-scoring.sh`, `event-bus.sh`, `instinct-store.sh`, `graph.sh`, `consolidation.sh`, `curation-ants`
|
|
751
|
+
- **Decisions:** Colony sealed at Crowned Anthill; Structural Learning Stack complete
|
|
752
|
+
- **What Worked:** 6 phases completed; Colony wisdom promoted to QUEEN.md
|
|
753
|
+
|
|
754
|
+
### Phase 0 — Plan 01
|
|
755
|
+
|
|
756
|
+
- **Files:** `go.mod`, `pkg/storage/storage.go`, `pkg/storage/storage_test.go`
|
|
757
|
+
- **Decisions:** Go module at github.com/aether-colony/aether; atomic writes via temp+rename; per-path RWMutex for concurrent safety
|
|
758
|
+
- **What Worked:** Parallel builders for independent packages; TDD with race detector
|
|
759
|
+
- **Requirements:** go build, test, vet pass;91.2% coverage;524 npm tests unaffected addressed
|
|
760
|
+
|
|
761
|
+
### Phase 0 — Plan 02
|
|
762
|
+
|
|
763
|
+
- **Files:** `.aether/utils/trust-scoring.sh`, `.aether/utils/event-bus.sh`
|
|
764
|
+
|
|
765
|
+
### Phase 3 — Plan 03
|
|
766
|
+
|
|
767
|
+
- **Files:** `learning.sh`, `instinct-store.sh`, `graph.sh`, `test-instinct-store.sh`
|
|
768
|
+
- **Decisions:** Standalone instinct storage; Backward-compatible trust score migration; jq graph layer for instinct relationships
|
|
769
|
+
- **What Worked:** Trust score integration with learning-observe; Full instinct schema with provenance; Graph link/neighbors/reach/cluster
|
|
770
|
+
|
|
771
|
+
### Phase 0 — Plan 00
|
|
772
|
+
|
|
773
|
+
- **Files:** `learning.sh`, `instinct-store.sh`, `graph.sh`, `test-instinct-store.sh`, `trust-scoring.sh`, `event-bus.sh`
|
|
774
|
+
- **Decisions:** Colony sealed at Crowned Anthill; Structural Learning Stack verified
|
|
775
|
+
- **What Worked:** 3 phases completed; Colony wisdom promoted to QUEEN.md
|
package/README.md
CHANGED
|
@@ -8,11 +8,20 @@
|
|
|
8
8
|
|
|
9
9
|
<br>
|
|
10
10
|
|
|
11
|
-
[](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
|
|
12
|
+
[](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
|
|
13
|
+
[](LICENSE)
|
|
14
|
+
[](https://github.com/calcosmic/Aether/stargazers)
|
|
15
|
+
[](https://github.com/sponsors/calcosmic?utm_source=github&utm_medium=readme&utm_campaign=aether)
|
|
16
|
+
|
|
17
|
+
[](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
|
|
18
|
+
[](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
|
|
19
|
+
[](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
|
|
20
|
+
[](https://www.npmjs.com/package/aether-colony?utm_source=github&utm_medium=readme&utm_campaign=aether)
|
|
21
|
+

|
|
22
|
+

|
|
23
|
+

|
|
24
|
+
[](https://github.com/calcosmic/Aether/releases)
|
|
16
25
|
|
|
17
26
|
<br>
|
|
18
27
|
|
|
@@ -24,6 +33,10 @@ $ npx aether-colony
|
|
|
24
33
|
|
|
25
34
|
*The whole is greater than the sum of its ants.* 🐜
|
|
26
35
|
|
|
36
|
+
<br>
|
|
37
|
+
|
|
38
|
+
[](https://aetherantcolony.com?utm_source=github&utm_medium=readme&utm_campaign=aether)
|
|
39
|
+
|
|
27
40
|
</div>
|
|
28
41
|
|
|
29
42
|
---
|
|
@@ -215,14 +228,14 @@ Five commands from zero to shipped.
|
|
|
215
228
|
|
|
216
229
|
## Works With
|
|
217
230
|
|
|
218
|
-
- **[Claude Code](https://docs.anthropic.com/en/docs/claude-code)** — 45 slash commands + 24 agent definitions
|
|
219
|
-
- **[OpenCode](https://github.com/opencode-ai/opencode)** — 45 slash commands + agent definitions
|
|
231
|
+
- **[Claude Code](https://docs.anthropic.com/en/docs/claude-code?utm_source=github&utm_medium=readme&utm_campaign=aether)** — 45 slash commands + 24 agent definitions
|
|
232
|
+
- **[OpenCode](https://github.com/opencode-ai/opencode?utm_source=github&utm_medium=readme&utm_campaign=aether)** — 45 slash commands + agent definitions
|
|
220
233
|
|
|
221
234
|
## Support
|
|
222
235
|
|
|
223
236
|
If Aether has been useful to you:
|
|
224
237
|
|
|
225
|
-
**[Sponsor on GitHub](https://github.com/sponsors/calcosmic)**
|
|
238
|
+
**[Sponsor on GitHub](https://github.com/sponsors/calcosmic?utm_source=github&utm_medium=readme&utm_campaign=aether)**
|
|
226
239
|
|
|
227
240
|
<details>
|
|
228
241
|
<summary>Crypto</summary>
|
|
@@ -234,7 +247,7 @@ If Aether has been useful to you:
|
|
|
234
247
|
|
|
235
248
|
</details>
|
|
236
249
|
|
|
237
|
-
[PayPal](https://www.paypal.com/ncp/payment/RENG7ZMW5F59L) · [Buy Me a Coffee](https://buymeacoffee.com/music5y)
|
|
250
|
+
[PayPal](https://www.paypal.com/ncp/payment/RENG7ZMW5F59L?utm_source=github&utm_medium=readme&utm_campaign=aether) · [Buy Me a Coffee](https://buymeacoffee.com/music5y?utm_source=github&utm_medium=readme&utm_campaign=aether)
|
|
238
251
|
|
|
239
252
|
## License
|
|
240
253
|
|