thevoidforge-methodology 21.0.0 → 23.1.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/.claude/agents/adolin-brand.md +39 -0
- package/.claude/agents/ahsoka-access-control.md +54 -0
- package/.claude/agents/alfred-dependencies.md +42 -0
- package/.claude/agents/alia-threat-detect.md +39 -0
- package/.claude/agents/anakin-dark-side.md +40 -0
- package/.claude/agents/aquaman-deep-dive.md +42 -0
- package/.claude/agents/aragorn-orchestration.md +38 -0
- package/.claude/agents/archer-greenfield.md +47 -0
- package/.claude/agents/armin-clever.md +38 -0
- package/.claude/agents/arwen-ui-polish.md +41 -0
- package/.claude/agents/ashitaka-tech-debt.md +38 -0
- package/.claude/agents/asuka-performance.md +38 -0
- package/.claude/agents/bail-organa-governance.md +36 -0
- package/.claude/agents/banner-database.md +42 -0
- package/.claude/agents/barton-smoke-test.md +57 -0
- package/.claude/agents/bashir-field-medic.md +62 -0
- package/.claude/agents/batgirl-detail.md +42 -0
- package/.claude/agents/batman-qa.md +69 -0
- package/.claude/agents/bayta-evals.md +39 -0
- package/.claude/agents/beast-boy-cross-env.md +42 -0
- package/.claude/agents/beerus-destroyer.md +38 -0
- package/.claude/agents/bel-riose-orchestration.md +39 -0
- package/.claude/agents/beru-subprocess.md +36 -0
- package/.claude/agents/bilbo-microcopy.md +41 -0
- package/.claude/agents/black-canary-monitoring.md +42 -0
- package/.claude/agents/bliss-ai-safety.md +39 -0
- package/.claude/agents/bo-katan-perimeter.md +39 -0
- package/.claude/agents/bombadil-forge-sync.md +60 -0
- package/.claude/agents/boromir-hubris.md +39 -0
- package/.claude/agents/breeze-platform-relations.md +39 -0
- package/.claude/agents/bucky-legacy.md +42 -0
- package/.claude/agents/bulma-engineering.md +38 -0
- package/.claude/agents/calcifer-daemon.md +38 -0
- package/.claude/agents/cara-dune-enforcement.md +36 -0
- package/.claude/agents/cassian-recon.md +36 -0
- package/.claude/agents/cc-persistent-process.md +38 -0
- package/.claude/agents/celeborn-design-system.md +39 -0
- package/.claude/agents/celebrimbor-forge-artist.md +61 -0
- package/.claude/agents/chakotay-bridge.md +46 -0
- package/.claude/agents/chani-worm-rider.md +60 -0
- package/.claude/agents/chewie-dependency-audit.md +40 -0
- package/.claude/agents/chrome-discovery.md +36 -0
- package/.claude/agents/constantine-cursed-code.md +57 -0
- package/.claude/agents/coulson-release.md +61 -0
- package/.claude/agents/crusher-diagnostics.md +47 -0
- package/.claude/agents/cyborg-system-integration.md +42 -0
- package/.claude/agents/dalinar-positioning.md +39 -0
- package/.claude/agents/daneel-model-migration.md +39 -0
- package/.claude/agents/data-tech-debt.md +46 -0
- package/.claude/agents/dax-legacy-wisdom.md +47 -0
- package/.claude/agents/deathstroke-adversarial.md +57 -0
- package/.claude/agents/denji-determination.md +38 -0
- package/.claude/agents/din-djarin-bounty.md +41 -0
- package/.claude/agents/dockson-treasury.md +65 -0
- package/.claude/agents/dori-integration-check.md +36 -0
- package/.claude/agents/dors-observability.md +39 -0
- package/.claude/agents/drax-exact-match.md +41 -0
- package/.claude/agents/ducem-token-economics.md +40 -0
- package/.claude/agents/duncan-relay.md +39 -0
- package/.claude/agents/duo-teardown.md +37 -0
- package/.claude/agents/ed-network-scan.md +37 -0
- package/.claude/agents/elrond-ux-strategy.md +38 -0
- package/.claude/agents/eowyn-delight.md +54 -0
- package/.claude/agents/erwin-strategy.md +38 -0
- package/.claude/agents/ezra-catches-missed.md +39 -0
- package/.claude/agents/ezri-session-analyst.md +44 -0
- package/.claude/agents/falcon-migration.md +42 -0
- package/.claude/agents/faramir-judgment.md +39 -0
- package/.claude/agents/faye-resourceful.md +38 -0
- package/.claude/agents/fenring-passive-monitor.md +36 -0
- package/.claude/agents/fern-protocol.md +36 -0
- package/.claude/agents/feyd-adversarial.md +40 -0
- package/.claude/agents/flash-rapid-test.md +42 -0
- package/.claude/agents/friday-automation.md +41 -0
- package/.claude/agents/frieren-long-term.md +38 -0
- package/.claude/agents/frodo-critical-path.md +39 -0
- package/.claude/agents/fury-initiative.md +62 -0
- package/.claude/agents/gaal-prompt-arch.md +39 -0
- package/.claude/agents/galadriel-frontend.md +67 -0
- package/.claude/agents/gamora-perf-assassin.md +42 -0
- package/.claude/agents/gandalf-setup-wizard.md +62 -0
- package/.claude/agents/gen-docs.md +36 -0
- package/.claude/agents/ghanima-paired-monitor.md +36 -0
- package/.claude/agents/gimli-performance.md +40 -0
- package/.claude/agents/giyu-silent-guard.md +38 -0
- package/.claude/agents/glorfindel-rendering.md +39 -0
- package/.claude/agents/gohan-hidden-power.md +38 -0
- package/.claude/agents/gojo-infinite-scale.md +38 -0
- package/.claude/agents/goku-scaling.md +38 -0
- package/.claude/agents/goldberry-change-detect.md +36 -0
- package/.claude/agents/gordon-escalation.md +41 -0
- package/.claude/agents/green-arrow-precision.md +42 -0
- package/.claude/agents/green-lantern-scenarios.md +42 -0
- package/.claude/agents/grogu-tiny-vulns.md +37 -0
- package/.claude/agents/groot-caching.md +42 -0
- package/.claude/agents/gurney-delivery.md +39 -0
- package/.claude/agents/haku-deploy-wizard.md +64 -0
- package/.claude/agents/haldir-boundaries.md +39 -0
- package/.claude/agents/han-vuln-hunter.md +39 -0
- package/.claude/agents/hange-experimentation.md +38 -0
- package/.claude/agents/harah-protocol.md +37 -0
- package/.claude/agents/hawkgirl-regression-sweep.md +42 -0
- package/.claude/agents/heero-mission-deploy.md +38 -0
- package/.claude/agents/hera-navigation.md +40 -0
- package/.claude/agents/hill-mission-control.md +42 -0
- package/.claude/agents/himmel-legacy.md +36 -0
- package/.claude/agents/hober-tool-schema.md +39 -0
- package/.claude/agents/hoid-copywriting.md +39 -0
- package/.claude/agents/howl-migration.md +38 -0
- package/.claude/agents/hughes-observability.md +36 -0
- package/.claude/agents/huntress-flaky-bugs.md +41 -0
- package/.claude/agents/irulan-historian.md +36 -0
- package/.claude/agents/jake-reporter.md +44 -0
- package/.claude/agents/janeway-novel-arch.md +47 -0
- package/.claude/agents/janov-context-eng.md +39 -0
- package/.claude/agents/jarvis-status.md +41 -0
- package/.claude/agents/jean-pragmatic.md +38 -0
- package/.claude/agents/jessica-voice.md +39 -0
- package/.claude/agents/jet-maintenance.md +38 -0
- package/.claude/agents/jin-disciplined-adv.md +38 -0
- package/.claude/agents/kaji-intelligence.md +38 -0
- package/.claude/agents/kaladin-organic-growth.md +39 -0
- package/.claude/agents/kallen-hard-deploy.md +38 -0
- package/.claude/agents/kanan-intuitive.md +40 -0
- package/.claude/agents/kaoru-harmony.md +36 -0
- package/.claude/agents/kaworu-solver.md +38 -0
- package/.claude/agents/kelsier-growth.md +62 -0
- package/.claude/agents/kenobi-security.md +69 -0
- package/.claude/agents/kim-api-design.md +47 -0
- package/.claude/agents/kira-pragmatic.md +47 -0
- package/.claude/agents/kishibe-hardening.md +38 -0
- package/.claude/agents/kohaku-rapid-response.md +35 -0
- package/.claude/agents/krillin-support.md +35 -0
- package/.claude/agents/kusanagi-devops.md +67 -0
- package/.claude/agents/la-forge-reliability.md +61 -0
- package/.claude/agents/lang-micro-changes.md +42 -0
- package/.claude/agents/legolas-precision.md +41 -0
- package/.claude/agents/leia-secrets.md +39 -0
- package/.claude/agents/lelouch-orchestration.md +38 -0
- package/.claude/agents/leto-ii-persistence.md +39 -0
- package/.claude/agents/leto-protection.md +39 -0
- package/.claude/agents/levi-deploy.md +38 -0
- package/.claude/agents/liet-kynes-deep-system.md +39 -0
- package/.claude/agents/lift-social-media.md +39 -0
- package/.claude/agents/loki-chaos.md +57 -0
- package/.claude/agents/lucius-config.md +42 -0
- package/.claude/agents/luke-audit-journey.md +40 -0
- package/.claude/agents/manhunter-shapeshifting.md +42 -0
- package/.claude/agents/marsh-competitive-intel.md +40 -0
- package/.claude/agents/maul-red-team.md +56 -0
- package/.claude/agents/merry-pair-review.md +39 -0
- package/.claude/agents/mikasa-protection.md +38 -0
- package/.claude/agents/miles-teg-perf.md +39 -0
- package/.claude/agents/milim-load-test.md +38 -0
- package/.claude/agents/misato-operations.md +38 -0
- package/.claude/agents/mob-capacity.md +38 -0
- package/.claude/agents/mohiam-authentication.md +39 -0
- package/.claude/agents/mon-mothma-security-mgmt.md +40 -0
- package/.claude/agents/mugen-chaos.md +38 -0
- package/.claude/agents/mule-adversarial-ai.md +40 -0
- package/.claude/agents/mustang-cleanup.md +38 -0
- package/.claude/agents/nanami-structured-ops.md +38 -0
- package/.claude/agents/nausicaa-resources.md +38 -0
- package/.claude/agents/navani-technical-seo.md +39 -0
- package/.claude/agents/nebula-optimization.md +42 -0
- package/.claude/agents/nightwing-regression.md +57 -0
- package/.claude/agents/nobara-direct-fix.md +38 -0
- package/.claude/agents/nog-solutions.md +47 -0
- package/.claude/agents/nori-asset-scanner.md +36 -0
- package/.claude/agents/obrien-root-cause.md +47 -0
- package/.claude/agents/odo-structural-anomaly.md +47 -0
- package/.claude/agents/okoye-data-integrity.md +42 -0
- package/.claude/agents/olivier-hardening.md +38 -0
- package/.claude/agents/oracle-static-analysis.md +57 -0
- package/.claude/agents/ori-prompt-crafter.md +36 -0
- package/.claude/agents/padme-data-protection.md +40 -0
- package/.claude/agents/paris-route-planner.md +46 -0
- package/.claude/agents/parker-connections.md +42 -0
- package/.claude/agents/paul-orchestration.md +39 -0
- package/.claude/agents/picard-architecture.md +62 -0
- package/.claude/agents/piccolo-tactics.md +38 -0
- package/.claude/agents/pike-bold-decisions.md +47 -0
- package/.claude/agents/pippin-discovery.md +39 -0
- package/.claude/agents/plo-koon-edge-cases.md +36 -0
- package/.claude/agents/power-chaotic.md +38 -0
- package/.claude/agents/qui-gon-subtle-vulns.md +39 -0
- package/.claude/agents/radagast-edge-cases.md +40 -0
- package/.claude/agents/raoden-conversion.md +40 -0
- package/.claude/agents/raven-deep-analysis.md +42 -0
- package/.claude/agents/red-hood-aggressive.md +42 -0
- package/.claude/agents/rei-dangerous-tasks.md +38 -0
- package/.claude/agents/reigen-debugger.md +38 -0
- package/.claude/agents/rengoku-intense-monitor.md +38 -0
- package/.claude/agents/rex-infrastructure.md +40 -0
- package/.claude/agents/rhodes-production.md +42 -0
- package/.claude/agents/riker-review.md +61 -0
- package/.claude/agents/rimuru-adapter.md +38 -0
- package/.claude/agents/riza-backup.md +38 -0
- package/.claude/agents/robin-apprentice.md +41 -0
- package/.claude/agents/rocket-scrappy.md +42 -0
- package/.claude/agents/rogers-api-design.md +42 -0
- package/.claude/agents/romanoff-integrations.md +42 -0
- package/.claude/agents/sabine-unconventional.md +39 -0
- package/.claude/agents/salvor-model-selection.md +40 -0
- package/.claude/agents/samwise-accessibility.md +41 -0
- package/.claude/agents/sarene-outreach.md +39 -0
- package/.claude/agents/sasha-resources.md +36 -0
- package/.claude/agents/scotty-infrastructure.md +46 -0
- package/.claude/agents/seldon-ai.md +64 -0
- package/.claude/agents/senku-provisioning.md +38 -0
- package/.claude/agents/sentaro-scheduling.md +36 -0
- package/.claude/agents/seven-optimization.md +47 -0
- package/.claude/agents/shallan-creative.md +39 -0
- package/.claude/agents/sheeana-transport.md +39 -0
- package/.claude/agents/shuri-innovation.md +42 -0
- package/.claude/agents/siona-evasion.md +40 -0
- package/.claude/agents/sisko-campaign.md +65 -0
- package/.claude/agents/spike-routing.md +38 -0
- package/.claude/agents/spock-schema.md +60 -0
- package/.claude/agents/starfire-brute-force.md +42 -0
- package/.claude/agents/stark-backend.md +69 -0
- package/.claude/agents/steris-budget.md +39 -0
- package/.claude/agents/stilgar-channel-security.md +39 -0
- package/.claude/agents/strange-service-arch.md +42 -0
- package/.claude/agents/sung-workers.md +38 -0
- package/.claude/agents/superman-strength-test.md +42 -0
- package/.claude/agents/suzaku-execution.md +38 -0
- package/.claude/agents/szeth-compliance.md +39 -0
- package/.claude/agents/tanjiro-persistent.md +38 -0
- package/.claude/agents/tchalla-quality.md +42 -0
- package/.claude/agents/thanos-gauntlet.md +67 -0
- package/.claude/agents/theoden-rally.md +39 -0
- package/.claude/agents/thor-queues.md +42 -0
- package/.claude/agents/thufir-protocol-parsing.md +39 -0
- package/.claude/agents/todo-brute-force.md +38 -0
- package/.claude/agents/torres-site-scanner.md +46 -0
- package/.claude/agents/totoro-guardian.md +38 -0
- package/.claude/agents/tpol-disciplined.md +47 -0
- package/.claude/agents/treebeard-deliberation.md +40 -0
- package/.claude/agents/troi-prd-compliance.md +62 -0
- package/.claude/agents/trunks-rollback.md +38 -0
- package/.claude/agents/tuvok-deep-current.md +61 -0
- package/.claude/agents/uhura-integration.md +46 -0
- package/.claude/agents/valkyrie-recovery.md +42 -0
- package/.claude/agents/vegeta-monitoring.md +38 -0
- package/.claude/agents/veldora-dormant.md +36 -0
- package/.claude/agents/vin-analytics.md +39 -0
- package/.claude/agents/vision-data-analysis.md +42 -0
- package/.claude/agents/wanda-seldon-validation.md +37 -0
- package/.claude/agents/wanda-state.md +42 -0
- package/.claude/agents/wax-paid-ads.md +39 -0
- package/.claude/agents/wayne-ab-testing.md +39 -0
- package/.claude/agents/whis-precision.md +38 -0
- package/.claude/agents/windu-input-validation.md +39 -0
- package/.claude/agents/winry-maintenance.md +38 -0
- package/.claude/agents/wonder-woman-truth.md +42 -0
- package/.claude/agents/wong-documentation.md +57 -0
- package/.claude/agents/worf-security-arch.md +47 -0
- package/.claude/agents/yoda-auth.md +56 -0
- package/.claude/agents/yueh-trust-verify.md +39 -0
- package/.claude/agents/zatanna-impossible.md +42 -0
- package/.claude/agents/zechs-rival.md +38 -0
- package/.claude/agents/zenitsu-alerts.md +36 -0
- package/.claude/commands/ai.md +20 -14
- package/.claude/commands/architect.md +32 -55
- package/.claude/commands/assemble.md +32 -23
- package/.claude/commands/assess.md +3 -3
- package/.claude/commands/blueprint.md +9 -9
- package/.claude/commands/build.md +13 -3
- package/.claude/commands/campaign.md +27 -15
- package/.claude/commands/cultivation.md +19 -1
- package/.claude/commands/dangerroom.md +2 -2
- package/.claude/commands/debrief.md +14 -12
- package/.claude/commands/deploy.md +1 -1
- package/.claude/commands/devops.md +23 -17
- package/.claude/commands/gauntlet.md +40 -29
- package/.claude/commands/grow.md +14 -0
- package/.claude/commands/portfolio.md +5 -4
- package/.claude/commands/qa.md +37 -29
- package/.claude/commands/review.md +31 -62
- package/.claude/commands/security.md +24 -49
- package/.claude/commands/test.md +17 -10
- package/.claude/commands/thumper.md +1 -1
- package/.claude/commands/treasury.md +24 -7
- package/.claude/commands/ux.md +27 -26
- package/.claude/commands/vault.md +9 -0
- package/.claude/commands/void.md +1 -0
- package/CHANGELOG.md +122 -0
- package/CLAUDE.md +16 -9
- package/HOLOCRON.md +16 -19
- package/VERSION.md +6 -1
- package/docs/AGENT_CLASSIFICATION.md +528 -0
- package/docs/methods/CAMPAIGN.md +1 -1
- package/docs/methods/FIELD_MEDIC.md +4 -0
- package/docs/methods/FORGE_KEEPER.md +3 -2
- package/docs/methods/GAUNTLET.md +1 -1
- package/docs/methods/GROWTH_STRATEGIST.md +2 -2
- package/docs/methods/MUSTER.md +4 -0
- package/docs/methods/QA_ENGINEER.md +8 -0
- package/docs/methods/SECURITY_AUDITOR.md +8 -0
- package/docs/methods/SUB_AGENTS.md +40 -1
- package/docs/methods/SYSTEMS_ARCHITECT.md +8 -0
- package/docs/patterns/financial-transaction.ts +24 -0
- package/package.json +2 -1
|
@@ -10,7 +10,7 @@ Parallelize development across multiple Claude Code sessions. Each session runs
|
|
|
10
10
|
|
|
11
11
|
**All orchestration uses the build journal.** Every delegation, handoff, and resolution is logged to `/logs/handoffs.md`. Agents read journal files to recover context. See `/docs/methods/BUILD_JOURNAL.md`.
|
|
12
12
|
|
|
13
|
-
**Full character roster: `/docs/NAMING_REGISTRY.md`** —
|
|
13
|
+
**Full character roster: `/docs/NAMING_REGISTRY.md`** — 263 named characters across 9 universes. No duplicates allowed. All agents materialized as subagent definitions in `.claude/agents/`.
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -174,6 +174,45 @@ Users can create project-specific sub-agents that carry domain knowledge. Define
|
|
|
174
174
|
|
|
175
175
|
**When to create a custom agent:** When a project has a domain-specific pattern that the built-in agents miss repeatedly. If the same lesson appears 3+ times in LESSONS.md about the same technology, that's a signal for a custom agent rather than more method doc checklist items.
|
|
176
176
|
|
|
177
|
+
## Subagent Definitions (ADR-044)
|
|
178
|
+
|
|
179
|
+
All 263 agents are materialized as `.claude/agents/{name}.md` files. Commands now use `subagent_type: {agent-id}` instead of inline prompts. Each definition contains the agent's identity, behavioral directives, domain expertise, and output format.
|
|
180
|
+
|
|
181
|
+
### The `.claude/agents/` Directory
|
|
182
|
+
|
|
183
|
+
Each file is a standalone subagent definition that Claude Code's native subagent system can invoke. File naming convention: `{lowercase-name}.md` (e.g., `picard.md`, `batman.md`, `red-hood.md`).
|
|
184
|
+
|
|
185
|
+
### Model Tiering
|
|
186
|
+
|
|
187
|
+
| Tier | Model | Count | When |
|
|
188
|
+
|------|-------|-------|------|
|
|
189
|
+
| Lead | `inherit` (Opus) | ~20 | Domain leads who orchestrate, write fixes, make decisions |
|
|
190
|
+
| Specialist | `sonnet` | ~200 | Domain experts who analyze, review, report findings |
|
|
191
|
+
| Scout | `haiku` | ~43 | Lightweight reconnaissance, grep patterns, quick checks |
|
|
192
|
+
|
|
193
|
+
Leads inherit the main session's model (Opus). Specialists run on Sonnet for cost efficiency without sacrificing analysis quality. Scouts run on Haiku for fast, cheap reconnaissance.
|
|
194
|
+
|
|
195
|
+
### Tool Restrictions
|
|
196
|
+
|
|
197
|
+
| Profile | Tools | Agents |
|
|
198
|
+
|---------|-------|--------|
|
|
199
|
+
| Builder | Full (Read, Edit, Write, Bash, Grep, Glob) | Leads who write code, fixes, ADRs, logs |
|
|
200
|
+
| Reviewer | Read, Bash, Grep, Glob | Specialists who analyze and report but don't write |
|
|
201
|
+
| Scout | Read, Grep, Glob | Lightweight agents that only read |
|
|
202
|
+
| Adversarial | Read, Bash, Grep, Glob | Red-team agents who probe and test |
|
|
203
|
+
|
|
204
|
+
### Description-Driven Dispatch
|
|
205
|
+
|
|
206
|
+
Commands no longer use static dispatch tables (the old ADR-042 Cross-Domain Triggers). Instead, when Opus processes a command, it:
|
|
207
|
+
|
|
208
|
+
1. Scans `git diff --stat` to identify changed files
|
|
209
|
+
2. Matches changed file paths against the `description` fields of all 263 agents
|
|
210
|
+
3. Launches matching specialists automatically alongside core agents
|
|
211
|
+
|
|
212
|
+
This means a security audit that touches database migrations automatically picks up Spock (schema) without a hardcoded trigger table. The descriptions in `.claude/agents/*.md` ARE the dispatch rules.
|
|
213
|
+
|
|
214
|
+
See `docs/AGENT_CLASSIFICATION.md` for the full classification manifest and `docs/adrs/ADR-044-subagent-materialization.md` for the architecture.
|
|
215
|
+
|
|
177
216
|
## Naming Rule
|
|
178
217
|
|
|
179
218
|
When spinning up agents, check NAMING_REGISTRY.md AND `docs/CUSTOM_AGENTS.md` (if it exists). First claim wins. No duplicates across sessions. Log active names.
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
|
|
24
24
|
**Need more?** Pull from Star Trek pool: Riker, Worf, Sisko, Janeway, Seven, O'Brien, Pike. See NAMING_REGISTRY.md.
|
|
25
25
|
|
|
26
|
+
## Dynamic Dispatch (ADR-044)
|
|
27
|
+
|
|
28
|
+
Agent dispatch is now description-driven. When Opus processes a command, it scans `git diff --stat` and matches changed files against the `description` fields of all 263 agents in `.claude/agents/`. Matching specialists launch automatically alongside core agents. No static dispatch tables needed.
|
|
29
|
+
|
|
30
|
+
See `docs/AGENT_CLASSIFICATION.md` for the full classification and `docs/adrs/ADR-044-subagent-materialization.md` for the architecture.
|
|
31
|
+
|
|
32
|
+
**Promoted agent:** **Riker** runs on every ADR written in any command — challenges trade-offs, prevents rubber-stamped decisions.
|
|
33
|
+
|
|
26
34
|
## Goal
|
|
27
35
|
|
|
28
36
|
Ensure architecture matches product needs. Identify structural risks and scaling cliffs before they're expensive. Decide, don't defer — one clear path, not a menu.
|
|
@@ -300,12 +300,35 @@ async function idempotentAppend<T>(
|
|
|
300
300
|
// └── reports/
|
|
301
301
|
// └── 2026-03.json # monthly summary
|
|
302
302
|
|
|
303
|
+
// Global treasury paths — used by vault, totp, and backup (which stay user-scoped).
|
|
304
|
+
// Per-project code should use getTreasuryDir(projectDir) and derived path functions.
|
|
303
305
|
const TREASURY_DIR = join(homedir(), '.voidforge', 'treasury');
|
|
304
306
|
const SPEND_LOG = join(TREASURY_DIR, 'spend-log.jsonl');
|
|
305
307
|
const REVENUE_LOG = join(TREASURY_DIR, 'revenue-log.jsonl');
|
|
306
308
|
const PENDING_OPS = join(TREASURY_DIR, 'pending-ops.jsonl');
|
|
307
309
|
const BUDGETS_FILE = join(TREASURY_DIR, 'budgets.json');
|
|
308
310
|
|
|
311
|
+
/**
|
|
312
|
+
* Get treasury directory for a project, or the global default.
|
|
313
|
+
* Per-project: {projectDir}/cultivation/treasury/
|
|
314
|
+
* Global (no arg): ~/.voidforge/treasury/
|
|
315
|
+
*/
|
|
316
|
+
function getTreasuryDir(projectDir?: string): string {
|
|
317
|
+
return projectDir ? join(projectDir, 'cultivation', 'treasury') : TREASURY_DIR;
|
|
318
|
+
}
|
|
319
|
+
function getSpendLog(projectDir?: string): string {
|
|
320
|
+
return join(getTreasuryDir(projectDir), 'spend-log.jsonl');
|
|
321
|
+
}
|
|
322
|
+
function getRevenueLog(projectDir?: string): string {
|
|
323
|
+
return join(getTreasuryDir(projectDir), 'revenue-log.jsonl');
|
|
324
|
+
}
|
|
325
|
+
function getPendingOps(projectDir?: string): string {
|
|
326
|
+
return join(getTreasuryDir(projectDir), 'pending-ops.jsonl');
|
|
327
|
+
}
|
|
328
|
+
function getBudgetsFile(projectDir?: string): string {
|
|
329
|
+
return join(getTreasuryDir(projectDir), 'budgets.json');
|
|
330
|
+
}
|
|
331
|
+
|
|
309
332
|
// ── Number Formatting (§9.15.4) ───────────────────────
|
|
310
333
|
|
|
311
334
|
function formatCurrency(cents: Cents, detail: boolean = false): string {
|
|
@@ -339,4 +362,5 @@ export {
|
|
|
339
362
|
atomicWrite, appendToLog, idempotentAppend,
|
|
340
363
|
formatCurrency, formatRoas, formatPercentage,
|
|
341
364
|
TREASURY_DIR, SPEND_LOG, REVENUE_LOG, PENDING_OPS, BUDGETS_FILE,
|
|
365
|
+
getTreasuryDir, getSpendLog, getRevenueLog, getPendingOps, getBudgetsFile,
|
|
342
366
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "thevoidforge-methodology",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "23.1.0",
|
|
4
4
|
"description": "VoidForge methodology — agents, commands, methods, patterns.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"docs/methods/",
|
|
10
10
|
"docs/patterns/",
|
|
11
11
|
"docs/NAMING_REGISTRY.md",
|
|
12
|
+
"docs/AGENT_CLASSIFICATION.md",
|
|
12
13
|
"HOLOCRON.md",
|
|
13
14
|
"VERSION.md",
|
|
14
15
|
"CHANGELOG.md",
|