Skip to content

v0.2.0 — MCP server + host-agnostic Executor

Choose a tag to compare

@celstnblacc celstnblacc released this 18 Jun 17:05
· 18 commits to main since this release
dae60c8

What's new

pencil-sync-mcp — host-agnostic MCP server

pencil-sync now ships a second binary pencil-sync-mcp that exposes sync primitives as MCP tools. Any MCP-compatible host agent (Claude Code, Codex CLI, OpenCode, Gemini CLI) can use pencil-sync without spawning a nested claude subprocess.

7 MCP tools:

  • pencil_get_config — load config
  • pencil_diff_design — diff .pen snapshot vs last synced state
  • pencil_diff_code — diff code dir hashes vs last synced state
  • pencil_detect_conflict — detect bidirectional conflict
  • pencil_build_prompt — build the full LLM prompt for the host to apply
  • pencil_apply_fill_changes — deterministic CSS color substitution (no LLM)
  • pencil_record_sync — persist sync state after edits

Executor interface (Option A)

All sync paths now go through an Executor interface (LocalClaudeExecutor is the only day-one implementation). Tests can inject a fake executor — no subprocess spawning in CI.

Stats

  • 402 tests passing (up from 300)
  • 0 TypeScript errors
  • @modelcontextprotocol/sdk + zod added as runtime dependencies