Skip to content

v0.5.0 — VS Code (with Copilot) and Gemini CLI support

Latest

Choose a tag to compare

@iamlaforge iamlaforge released this 07 May 02:25
· 4 commits to main since this release

The fourth and fifth harnesses: Spruce now installs into VS Code (with GitHub Copilot) and Gemini CLI in addition to Claude Code, Cursor, and Codex CLI — completing the originally-planned multi-tool roadmap. The same npx spruce-skill add
command auto-detects which AI coding tool the project uses and installs the right per-harness bundle. Spruce works in all five major AI coding tools.

Same install command:

npx spruce-skill add

For VS Code Copilot users, files land at .github/skills/<command>/SKILL.md (Copilot's native path) or .agents/skills/ as fallback. For Gemini CLI users, files land at .gemini/skills/<command>/SKILL.md (Gemini's native path) or
.agents/skills/.

No code changes were required for either harness.

The v0.3.0 architecture committed to a thin install wrapper around vercel-labs/skills plus shipping standard Anthropic Agent Skills format to each harness's documented path. Both Copilot and
Gemini work out of the box — confirming the architecture scales: each new harness compatible with the Agent Skills spec is roughly a one-line addition to the build's harness coverage. Build output now totals 25 skills × 5 harnesses = 125
skill directories, with the same content shipped to each.

Invocation patterns per harness (all verified working):

  • VS Code with GitHub Copilot/design, /typeface, /personas, etc. as slash commands inside Copilot Chat. Or describe intent and Copilot's matcher selects the relevant skill. Skill loading and conversation flows execute
    correctly. Adherence to .spruce.md preferences is good in /design's autonomous pass; specific avoid-list items (Inter, shadowed cards) can leak through Copilot's training prior in first-pass generation, and the corrective tier
    (/typeface, /refine, /colorgrade, etc.) reliably cleans them up via direct user instruction. The intended workflow — generate, diagnose, correct — fits Copilot well.

  • Gemini CLI/design, /typeface, /personas, etc. as slash commands. Gemini's UI explicitly announces skill activation ("Skill design activated. Resources loaded from .agents/skills/design") and shows file operations (✓ ReadFile .spruce.md, ✓ WriteFile landing-section.html). Adherence is excellent — in smoke tests, Gemini honored named typefaces (Source Serif 4 + Hanken Grotesk), used exact OKLCH color values from the context file, respected the
    4px-max border-radius constraint, used a top-edge highlight in place of forbidden box-shadows, and cited .spruce.md directly in code comments. Strictest skill-following of any harness tested.

Smoke-test confirmation:

In real Gemini CLI sessions, asking "/design a calm-evening landing section for this app" led Gemini to:

  1. Activate the design skill explicitly (visible in the UI)
  2. Read SKILL.md and the bundled reference files
  3. Read .spruce.md for context
  4. Search for Discovery artifacts (.personas.md, .jtbd.md, etc.)
  5. Generate a landing-section.html file using the named typefaces, exact color tokens, and surface constraints from .spruce.md — with code comments citing the constraints

Copilot followed the same conversation flow on /decide, asking one decision at a time and waiting per the skill's spec. Both harnesses ship working integrations.

Preserved from v0.4.0:

  • All 25 commands across 5 tiers (Setup, Discovery, Generative, Diagnostic, Corrective) work identically across every harness.
  • Claude Code slash commands at .claude/commands/ still ship for the slash UX.
  • The 13 reference files (Discovery foundation + design dimensions) bundle into each skill so context-rich reasoning travels with every command.
  • The .spruce.md context file remains the foundation every command reads from.