Skip to content

v0.15.0 — specialists reach the runtime (sync-specialists, #33)

Latest

Choose a tag to compare

@slipalison slipalison released this 15 Sep 11:56
· 3 commits to main since this release

Fixes #33 — the specialists never reached the runtime. /jdi-bootstrap wrote jdi-doer-{slug} / jdi-reviewer-{slug} to .jdi/agents/, but Claude Code resolves Agent(subagent_type=...) from .claude/agents/ only (Copilot .github/agents/, OpenCode .opencode/agents/, Antigravity .agents/skills/, Junie .junie/agents/). On 4 of the 5 runtimes /jdi-do died on its first spawn until you hand-copied the files; Junie's raw copy shipped the canonical frontmatter unconverted.

🔧 New: sync-specialists

npx -y jdi-cli sync-specialists            # materialize into every installed runtime
npx -y jdi-cli sync-specialists --check    # exit 1 on a missing/stale copy
  • Converts the canonical frontmatter with the same emitter build uses for the core agents (name/description/model/tools for Claude and Copilot, mode: subagent + permission for OpenCode, triggers skill for Antigravity, tools allowlist + reasoningLevel for Junie).
  • Byte-deterministic and idempotent — bash and PowerShell (5.1 included) produce identical bytes; GENERATED marker after the frontmatter; the pt-BR IDIOMA directive lands in the same position install --lang pt-BR uses.
  • You never need to run it by hand: /jdi-bootstrap runs it and stages the copies, install/update re-materialize them on a clone, /jdi-do /jdi-verify /jdi-loop self-heal before the first spawn, doctor warns on drift, and the jdi-artifacts-gate workflow fails a PR shipping a stale copy.

Existing projects: npx jdi-cli@latest update (or just run your next /jdi-do) — hand-made copies in .claude/agents/ are detected as stale and regenerated from .jdi/agents/. Edit the source, never the copy.

Also fixed

  • Every plumbing helper crashed on Windows when given a global flag (validate-slug auth --no-color → binder error on -NoColor): jdi.js now strips --no-color / --lang before dispatch.
  • doctor printed Single-stack: j on PowerShell.
  • PowerShell pt-BR injector dropped the directive's trailing blank line (bash kept it) — same install, different bytes per shell. Both now share one implementation (bin/lib/jdi-agent-emit.{sh,ps1}, also the builders' emitter — runtimes/ proven byte-identical before/after).

Full changelog: CHANGELOG.md