claudius-core 0.12.0 → 0.12.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 (101) hide show
  1. package/.claude/agents/manager.md +13 -0
  2. package/.claude/agents/product-engineer.md +1 -1
  3. package/.claude/agents/worker.md +1 -1
  4. package/.claude/hooks/continue-or-stop.ts +5 -5
  5. package/.claude/rules/claudius.md +10 -11
  6. package/.claude/skills/backlog/SKILL.md +2 -4
  7. package/.claude/skills/build/SKILL.md +2 -2
  8. package/.claude/skills/setup/references/claude-md-template.md +2 -3
  9. package/.claude-plugin/marketplace.json +2 -2
  10. package/.claude-plugin/plugin.json +2 -4
  11. package/dist/cli/studio.js +1 -1
  12. package/dist/cli/studio.js.map +1 -1
  13. package/dist/config-migrations.d.ts.map +1 -1
  14. package/dist/config-migrations.js +12 -0
  15. package/dist/config-migrations.js.map +1 -1
  16. package/dist/config.d.ts +2 -2
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +14 -8
  19. package/dist/config.js.map +1 -1
  20. package/dist/daemon/constraints.js +12 -12
  21. package/dist/daemon/constraints.js.map +1 -1
  22. package/dist/daemon/{pulse.d.ts → daemon-engine.d.ts} +9 -12
  23. package/dist/daemon/daemon-engine.d.ts.map +1 -0
  24. package/dist/daemon/{pulse.js → daemon-engine.js} +19 -49
  25. package/dist/daemon/daemon-engine.js.map +1 -0
  26. package/dist/daemon/{pulse-state.d.ts → daemon-state.d.ts} +15 -15
  27. package/dist/daemon/daemon-state.d.ts.map +1 -0
  28. package/dist/daemon/{pulse-state.js → daemon-state.js} +14 -14
  29. package/dist/daemon/daemon-state.js.map +1 -0
  30. package/dist/daemon/ideation.d.ts +1 -1
  31. package/dist/daemon/ideation.js +1 -1
  32. package/dist/daemon/index.d.ts +2 -2
  33. package/dist/daemon/index.d.ts.map +1 -1
  34. package/dist/daemon/index.js +1 -1
  35. package/dist/daemon/index.js.map +1 -1
  36. package/dist/daemon/scheduler.js +3 -3
  37. package/dist/daemon/scheduler.js.map +1 -1
  38. package/dist/index.js +45 -78
  39. package/dist/index.js.map +1 -1
  40. package/dist/init.js +3 -3
  41. package/dist/studio/assets/{_basePickBy-Br0vs_el.js → _basePickBy-C0C1UMqb.js} +1 -1
  42. package/dist/studio/assets/{_baseUniq-BzezThG0.js → _baseUniq-lLYar-5Y.js} +1 -1
  43. package/dist/studio/assets/{arc-O2gCa-3x.js → arc-B4B0Sc8l.js} +1 -1
  44. package/dist/studio/assets/{architectureDiagram-VXUJARFQ-CzrmPr2e.js → architectureDiagram-VXUJARFQ-UrceXxEH.js} +1 -1
  45. package/dist/studio/assets/{blockDiagram-VD42YOAC-mGFegdoi.js → blockDiagram-VD42YOAC-CvYK8VWA.js} +1 -1
  46. package/dist/studio/assets/{c4Diagram-YG6GDRKO-nc9ssZsj.js → c4Diagram-YG6GDRKO-_ckzdZuX.js} +1 -1
  47. package/dist/studio/assets/channel-DRNVimKP.js +1 -0
  48. package/dist/studio/assets/{chunk-4BX2VUAB-BVxk0H3S.js → chunk-4BX2VUAB-D1WHj5fM.js} +1 -1
  49. package/dist/studio/assets/{chunk-55IACEB6-C7jmtpU-.js → chunk-55IACEB6-BSHXVvS_.js} +1 -1
  50. package/dist/studio/assets/{chunk-B4BG7PRW-Cf4xiHkq.js → chunk-B4BG7PRW-DMnqWEap.js} +1 -1
  51. package/dist/studio/assets/{chunk-DI55MBZ5-Bav6n4xJ.js → chunk-DI55MBZ5-DRxXXjD7.js} +1 -1
  52. package/dist/studio/assets/{chunk-FMBD7UC4-LHyS5J0Z.js → chunk-FMBD7UC4-Dw-LAyOV.js} +1 -1
  53. package/dist/studio/assets/{chunk-QN33PNHL-CE3trdTs.js → chunk-QN33PNHL-BxwIhM7e.js} +1 -1
  54. package/dist/studio/assets/{chunk-QZHKN3VN-r4Wm4yq8.js → chunk-QZHKN3VN-BPcNLqG7.js} +1 -1
  55. package/dist/studio/assets/{chunk-TZMSLE5B-DzaASUcy.js → chunk-TZMSLE5B-DV6JBoyK.js} +1 -1
  56. package/dist/studio/assets/classDiagram-2ON5EDUG-uk4oDEHA.js +1 -0
  57. package/dist/studio/assets/classDiagram-v2-WZHVMYZB-uk4oDEHA.js +1 -0
  58. package/dist/studio/assets/clone-BVy51j3M.js +1 -0
  59. package/dist/studio/assets/{cose-bilkent-S5V4N54A-CwjOVdhO.js → cose-bilkent-S5V4N54A-sRKlNOYM.js} +1 -1
  60. package/dist/studio/assets/{dagre-6UL2VRFP-D9YMPAPo.js → dagre-6UL2VRFP-_B7iBqja.js} +1 -1
  61. package/dist/studio/assets/{diagram-PSM6KHXK-DCdoXh13.js → diagram-PSM6KHXK-B9huHO5_.js} +1 -1
  62. package/dist/studio/assets/{diagram-QEK2KX5R-vMDmyQKO.js → diagram-QEK2KX5R-Z1hdHclc.js} +1 -1
  63. package/dist/studio/assets/{diagram-S2PKOQOG-ZAu-8GlC.js → diagram-S2PKOQOG-HHCLRNNa.js} +1 -1
  64. package/dist/studio/assets/{erDiagram-Q2GNP2WA-3wUGmARQ.js → erDiagram-Q2GNP2WA-Hpuoow8L.js} +1 -1
  65. package/dist/studio/assets/{flowDiagram-NV44I4VS-Da6-uPJA.js → flowDiagram-NV44I4VS-C5l5sNY5.js} +1 -1
  66. package/dist/studio/assets/{ganttDiagram-JELNMOA3-C52M_vdC.js → ganttDiagram-JELNMOA3-BPt6zdfq.js} +1 -1
  67. package/dist/studio/assets/{gitGraphDiagram-V2S2FVAM-1X0kgHyi.js → gitGraphDiagram-V2S2FVAM-Bk-tICWY.js} +1 -1
  68. package/dist/studio/assets/{graph-D2b4x276.js → graph-WM8Y6m48.js} +1 -1
  69. package/dist/studio/assets/{index-Ba8EGMUw.js → index-ChqmS6oM.js} +2 -2
  70. package/dist/studio/assets/{infoDiagram-HS3SLOUP-BVEPIsmZ.js → infoDiagram-HS3SLOUP-CD8BFlwg.js} +1 -1
  71. package/dist/studio/assets/{journeyDiagram-XKPGCS4Q-MdZDdlO8.js → journeyDiagram-XKPGCS4Q-BFqCHFja.js} +1 -1
  72. package/dist/studio/assets/{kanban-definition-3W4ZIXB7-GzQqkSDd.js → kanban-definition-3W4ZIXB7-DjHo-B8G.js} +1 -1
  73. package/dist/studio/assets/{layout-CuKQtzzG.js → layout-DkBGam51.js} +1 -1
  74. package/dist/studio/assets/{linear-iZozKNGM.js → linear-D0MP_1im.js} +1 -1
  75. package/dist/studio/assets/{mermaid.core-UQR83fLD.js → mermaid.core-ja7cWubO.js} +4 -4
  76. package/dist/studio/assets/{mindmap-definition-VGOIOE7T-HpJNX0JD.js → mindmap-definition-VGOIOE7T-B37HFYZb.js} +1 -1
  77. package/dist/studio/assets/{pieDiagram-ADFJNKIX-DfWT_ts3.js → pieDiagram-ADFJNKIX-CJXN3q3o.js} +1 -1
  78. package/dist/studio/assets/{quadrantDiagram-AYHSOK5B-B7xkDq7K.js → quadrantDiagram-AYHSOK5B-CFxFeuML.js} +1 -1
  79. package/dist/studio/assets/{requirementDiagram-UZGBJVZJ-D_-wA9t9.js → requirementDiagram-UZGBJVZJ-CA0Fmoy_.js} +1 -1
  80. package/dist/studio/assets/{sankeyDiagram-TZEHDZUN-DOcdMGhf.js → sankeyDiagram-TZEHDZUN-B3CovvaL.js} +1 -1
  81. package/dist/studio/assets/{sequenceDiagram-WL72ISMW-BxVlUBNC.js → sequenceDiagram-WL72ISMW-CuGMCJnC.js} +1 -1
  82. package/dist/studio/assets/{stateDiagram-FKZM4ZOC-R7eEizQf.js → stateDiagram-FKZM4ZOC-hhl-S44t.js} +1 -1
  83. package/dist/studio/assets/stateDiagram-v2-4FDKWEC3-HlW_YpPI.js +1 -0
  84. package/dist/studio/assets/{timeline-definition-IT6M3QCI-CQ808seS.js → timeline-definition-IT6M3QCI-CRoP1Wio.js} +1 -1
  85. package/dist/studio/assets/{treemap-GDKQZRPO-gmRgTIkl.js → treemap-GDKQZRPO-C7_RGSEw.js} +1 -1
  86. package/dist/studio/assets/{xychartDiagram-PRI3JC2R-Dq0kZ3mY.js → xychartDiagram-PRI3JC2R-BQM7ZyVn.js} +1 -1
  87. package/dist/studio/index.html +1 -1
  88. package/dist/templates/templates/config.yaml +2 -2
  89. package/package.json +2 -1
  90. package/.claude/agents/pulsar.md +0 -212
  91. package/.claude/skills/pulse/SKILL.md +0 -84
  92. package/dist/daemon/pulse-state.d.ts.map +0 -1
  93. package/dist/daemon/pulse-state.js.map +0 -1
  94. package/dist/daemon/pulse.d.ts.map +0 -1
  95. package/dist/daemon/pulse.js.map +0 -1
  96. package/dist/studio/assets/channel-DZh5SVGC.js +0 -1
  97. package/dist/studio/assets/classDiagram-2ON5EDUG-CZxDfL9b.js +0 -1
  98. package/dist/studio/assets/classDiagram-v2-WZHVMYZB-CZxDfL9b.js +0 -1
  99. package/dist/studio/assets/clone-C14-yz5g.js +0 -1
  100. package/dist/studio/assets/stateDiagram-v2-4FDKWEC3-XQSHZv8g.js +0 -1
  101. package/global/agents/global-pulsar.md +0 -107
@@ -1,107 +0,0 @@
1
- # Global Pulsar
2
-
3
- ## Identity
4
-
5
- You are the global-pulsar. You orchestrate work across multiple repos. You are a meta-orchestrator — you decide WHAT gets built and WHERE, then delegate to per-repo agents. You never write code directly.
6
-
7
- ## Inputs
8
-
9
- - Global config at `.claudius/config.yaml` — contains repos[], budget, active hours, max issues/day
10
- - Per-repo `.claude/memory/MEMORY.md` — aggregated context for each repo
11
- - `.claudius/active-builds.jsonl` — in-flight builds to skip
12
-
13
- ## One Cycle
14
-
15
- ### 1. Read Global Config
16
-
17
- ```bash
18
- cat .claudius/config.yaml
19
- ```
20
-
21
- Parse repos[], pulse.budgetCapUsd, pulse.activeHours, pulse.maxIssuesPerDay, pulse.maxConcurrentBuilds.
22
-
23
- ### 2. Guard Checks
24
-
25
- **Budget check:** Read `.claudius/costs.jsonl` if it exists. If total spend >= budgetCapUsd, stop and log "budget exceeded".
26
-
27
- **Active hours check:** Check current time against pulse.activeHours (start/end in HH:MM, timezone from pulse.timezone). If outside active hours, stop and log "outside active hours".
28
-
29
- **In-flight check:** Read `.claudius/active-builds.jsonl`. Count builds with status "running". If count >= pulse.maxConcurrentBuilds, stop.
30
-
31
- ### 3. Gather Ready Issues
32
-
33
- For each repo in repos[]:
34
-
35
- ```bash
36
- gh issue list --repo <repo.github> --label ready --json number,title,labels,body --limit 20
37
- ```
38
-
39
- Collect all issues with their repo context.
40
-
41
- ### 4. Score Globally
42
-
43
- For each issue, score on:
44
- - **Goal alignment** (0-3): Does it advance a repo goal? Read per-repo config goals[].
45
- - **Priority label** (0-2): `priority:high` = 2, `priority:medium` = 1, else 0
46
- - **Scope** (0-2): XS/S = 2, M = 1, L/XL = 0 (smaller = faster ROI)
47
-
48
- Sort by total score descending.
49
-
50
- ### 5. Select Work
51
-
52
- Take top N issues where N = min(maxIssuesPerDay - todayBuilds, maxConcurrentBuilds - runningBuilds).
53
-
54
- If N <= 0, log "daily limit reached" and stop.
55
-
56
- ### 6. Fire Builds
57
-
58
- For each selected issue:
59
-
60
- ```bash
61
- # Append to active-builds.jsonl
62
- echo '{"repo":"<name>","issue":<N>,"status":"running","startedAt":"<ISO>"}' >> .claudius/active-builds.jsonl
63
-
64
- # Fire build in repo (non-blocking)
65
- claude -p -w "Build #<issue.number>: <issue.title>" --cwd <repo.path>
66
- ```
67
-
68
- Use run_in_background for each build so cycles don't block each other.
69
-
70
- ### 7. Post Slack Digest (best-effort)
71
-
72
- If slack.channel is set and SLACK_BOT_TOKEN is in env, post a brief summary:
73
-
74
- ```
75
- Global Pulse — <N> builds fired
76
- • repo-a: #42 Fix login timeout
77
- • repo-b: #17 Add dark mode
78
- Budget: $X / $Y
79
- ```
80
-
81
- Skip silently if Slack is not configured.
82
-
83
- ### 8. Log and Exit
84
-
85
- Write cycle summary to `.claudius/pulse-log.jsonl`:
86
-
87
- ```json
88
- {"timestamp":"<ISO>","issuesFired":<N>,"repos":["<name>",...],"budgetUsed":<USD>}
89
- ```
90
-
91
- Exit. One cycle complete.
92
-
93
- ## Rules
94
-
95
- - NEVER implement code directly — always delegate via `claude -p -w`
96
- - NEVER modify repo files directly — use `--cwd` to scope to the repo
97
- - NEVER fire a build for an issue already in active-builds.jsonl with status "running"
98
- - Always respect budget and active hours — guard checks are mandatory
99
- - Be fast — a cycle should complete in under 30 seconds of your own work
100
- - Log everything to `.claudius/pulse-log.jsonl` for auditability
101
-
102
- ## Error Handling
103
-
104
- - If a repo path doesn't exist: skip it, log warning
105
- - If `gh` fails for a repo: skip that repo, continue with others
106
- - If Slack post fails: log warning, don't fail the cycle
107
- - If budget/hours check fails: stop cleanly, log reason