@automagik/genie 4.260404.2 → 4.260405.2

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 (47) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.genie/agents/metrics-updater/runs.jsonl +1 -0
  3. package/.genie/agents/metrics-updater/state.json +3 -3
  4. package/.github/workflows/ci.yml +11 -3
  5. package/README.md +14 -0
  6. package/dist/genie.js +192 -156
  7. package/docs/AGENT-FRONTMATTER.md +174 -0
  8. package/docs/ARCHITECTURE.md +337 -0
  9. package/docs/CLI-REFERENCE.md +1570 -0
  10. package/docs/CO-ORCHESTRATION-GUIDE.md +34 -25
  11. package/docs/SPAWN-AUTO-RESUME.md +129 -0
  12. package/docs/sdk-executor-guide.md +9 -5
  13. package/package.json +1 -1
  14. package/plugins/genie/.claude-plugin/plugin.json +1 -1
  15. package/plugins/genie/agents/council/SOUL.md +6 -0
  16. package/plugins/genie/package.json +1 -1
  17. package/src/genie.ts +11 -2
  18. package/src/hooks/__tests__/branch-guard.test.ts +6 -18
  19. package/src/hooks/handlers/__tests__/audit-context.test.ts +99 -0
  20. package/src/hooks/handlers/__tests__/brain-inject.test.ts +81 -0
  21. package/src/hooks/handlers/__tests__/freshness.test.ts +153 -0
  22. package/src/hooks/handlers/audit-context.ts +54 -0
  23. package/src/hooks/handlers/brain-inject.ts +93 -0
  24. package/src/hooks/handlers/branch-guard.ts +4 -7
  25. package/src/hooks/handlers/freshness.ts +121 -0
  26. package/src/hooks/index.ts +24 -0
  27. package/src/lib/agent-registry.test.ts +14 -0
  28. package/src/lib/db.ts +30 -0
  29. package/src/lib/protocol-router-spawn.ts +8 -3
  30. package/src/lib/provider-adapters.ts +1 -1
  31. package/src/lib/providers/claude-sdk.ts +4 -4
  32. package/src/lib/team-manager.test.ts +43 -2
  33. package/src/lib/team-manager.ts +27 -1
  34. package/src/lib/test-setup.test.ts +45 -0
  35. package/src/lib/test-setup.ts +389 -0
  36. package/src/lib/tmux.ts +26 -0
  37. package/src/lib/workspace.test.ts +46 -1
  38. package/src/lib/workspace.ts +44 -6
  39. package/src/services/executors/claude-code.test.ts +48 -0
  40. package/src/services/executors/claude-code.ts +37 -13
  41. package/src/services/executors/claude-sdk.ts +1 -0
  42. package/src/services/omni-bridge.ts +45 -5
  43. package/src/term-commands/agent/spawn.ts +11 -2
  44. package/src/term-commands/brain.ts +33 -16
  45. package/src/term-commands/dir.ts +10 -3
  46. package/src/term-commands/serve.ts +20 -2
  47. package/src/term-commands/team.ts +45 -1
@@ -10,7 +10,7 @@
10
10
  "plugins": [
11
11
  {
12
12
  "name": "genie",
13
- "version": "4.260404.2",
13
+ "version": "4.260405.2",
14
14
  "source": "./plugins/genie",
15
15
  "description": "Human-AI partnership for Claude Code. Share a terminal, orchestrate workers, evolve together. Brainstorm ideas, wish them into plans, make with parallel agents, ship as one team. A coding genie that grows with your project."
16
16
  }
@@ -16,3 +16,4 @@
16
16
  {"timestamp":"2026-04-01T00:00:00Z","duration_ms":8000,"api_calls":0,"tools_generated":0,"errors":["gh CLI unavailable","GitHub MCP tools not loaded in session"],"status":"failed","fallback":false,"metrics":null}
17
17
  {"timestamp":"2026-04-02T00:00:00.000Z","duration_ms":15000,"api_calls":0,"tools_generated":0,"errors":["gh CLI not available","GitHub MCP tools not present in session"],"status":"failed","fallback":false,"metrics":null}
18
18
  {"timestamp":"2026-04-03T00:00:00.000Z","duration_ms":3200,"api_calls":0,"tools_generated":0,"errors":["gh CLI not available","GitHub MCP tools not present in session"],"status":"failed","fallback":false,"metrics":null}
19
+ {"timestamp":"2026-04-04T00:00:00.000Z","duration_ms":30000,"api_calls":0,"tools_generated":0,"errors":["gh CLI not available","GitHub MCP tools not present in session"],"status":"success","fallback":true,"metrics":{"releases_24h":2,"merged_prs_7d":35,"avg_merge_time_h":0.3,"ship_rate_pct":85}}
@@ -1,8 +1,8 @@
1
1
  {
2
- "last_run": "2026-04-03T00:00:00.000Z",
3
- "last_run_status": "failed",
2
+ "last_run": "2026-04-04T00:00:00.000Z",
3
+ "last_run_status": "success",
4
4
  "last_metrics": {
5
- "releases_24h": 0,
5
+ "releases_24h": 2,
6
6
  "merged_prs_7d": 35,
7
7
  "avg_merge_time_h": 0.3,
8
8
  "ship_rate_pct": 85
@@ -98,9 +98,17 @@ jobs:
98
98
  exit 0
99
99
  fi
100
100
  LOCAL=$(jq -r '.version' package.json)
101
- PUBLISHED=$(npm view @automagik/genie@next version 2>/dev/null || echo "none")
102
- if [ "$LOCAL" = "$PUBLISHED" ]; then
103
- echo "Version $LOCAL already published to @next skipping"
101
+ # Check whether the exact version exists in the registry under ANY
102
+ # tag, not just @next. After a dev→main merge, version.yml bumps dev
103
+ # to a new version, publishes it as @latest, and commits the bump
104
+ # back to dev. The next dev push then reads that already-published
105
+ # version from package.json. Querying only the @next tag misses this
106
+ # cross-tag collision and causes a 403 when bun publish runs.
107
+ # Query by exact version so collisions from any tag short-circuit
108
+ # this step; version.yml will derive a fresh version and publish it.
109
+ if [ -n "$(npm view "@automagik/genie@${LOCAL}" version 2>/dev/null)" ]; then
110
+ echo "Version ${LOCAL} already published to npm — skipping @next publish"
111
+ echo "(version.yml will bump to a new version and publish it as @next)"
104
112
  exit 0
105
113
  fi
106
114
  bun publish --tag next --access public
package/README.md CHANGED
@@ -24,6 +24,20 @@
24
24
  </p>
25
25
  -->
26
26
 
27
+ <!-- METRICS:START -->
28
+ <p align="center">
29
+
30
+ | Metric | Value |
31
+ |--------|-------|
32
+ | Releases (24h) | 2 |
33
+ | Merged PRs (7d) | 35 |
34
+ | Avg merge time | 0.3h |
35
+ | SHIP rate | 85% |
36
+
37
+ *Last updated: 2026-04-04*
38
+ </p>
39
+ <!-- METRICS:END -->
40
+
27
41
  Genie is a CLI that turns one sentence into a finished pull request. You describe what you want — Genie interviews you, writes a plan, spawns parallel agents in isolated worktrees, reviews the code, and opens a PR. You approve. You merge. That's it.
28
42
 
29
43
  ## Get started