Skip to content

v0.4.0 — Claude Code plugin-first install

Latest

Choose a tag to compare

@y1o1 y1o1 released this 25 May 17:22
· 38 commits to main since this release
24125ea

First plugin-based DPD release. Install via Claude Code's plugin system; legacy install.sh flow remains as a Cursor escape hatch.

Install

/plugin marketplace add o3co/agent-dpd
/plugin install dpd@agent-dpd

After install, start a fresh Claude Code session (open a new terminal claude or close+reopen the IDE) — /reload-plugins alone may not bootstrap the venv on first install. The first new session takes ~10–30s to set up. Then try /dpd-status to verify.

Requires Python 3.11+ on PATH (the bundled MCP server uses it). See README for Cursor and manual install paths.

BREAKING CHANGES

  • Repo structure: mcp/ renamed to core/server/, skill/ renamed to core/skills/. The main /dpd skill now lives at core/skills/dpd/SKILL.md (was skill/SKILL.md). PyPI package name dpd-mcp-server is unchanged.
  • Install model: Plugin-first via Claude Code's plugin system. install.sh is no longer the primary install path; it is now an escape hatch for Cursor and CI use cases.
  • Install locations changed: Plugin cache at ~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/ (e.g. ~/.claude/plugins/cache/agent-dpd/dpd/0.4.0/); persistent venv at ~/.claude/plugins/data/<plugin>-<marketplace>/.venv/ (e.g. ~/.claude/plugins/data/dpd-agent-dpd/.venv/). The old symlink layout under ~/.claude/skills/ is no longer used by the plugin install path (still used by the Cursor install.sh path).

Added

  • packaging/claude-code/ — Claude Code plugin manifest, skill symlinks, core symlink, .mcp.json, and hooks/session-start.sh for venv lazy bootstrap.
  • .claude-plugin/marketplace.json — registers this repo as a Claude Code marketplace.
  • /dpd-feedback skill — submits dogfood feedback as GitHub issues with system metadata only (privacy hard constraint: no session content / scope / label / Pool / rejected hypotheses sent, ever). Allow-list enforced at the prompt level: no mcp__*__dpd-mcp-server__* tool may be called for the feedback body.
  • Feedback link footer appended to each skill's output (lightweight discovery surface for /dpd-feedback).
  • New tests: patch_cursor_mcp (rejects malformed JSON / honors $DPD_PYTHON / atomic write / preserves existing entries) and SessionStart hook (fresh / idempotent / pyproject-change-triggers-reinstall / marketplace install layout regression guard).

Changed

  • All slash command names unchanged (/dpd, /dpd-status, /dpd-dump, /dpd-edit, /dpd-fill, /dpd-find-similar, /dpd-import, /dpd-summary-md, plus new /dpd-feedback).
  • README install instructions: plugin-first, with install.sh documented as Cursor escape hatch.
  • install.sh hardened: atomic mcp.json write (tmp + rename), clean JSON-error UX, honors $DPD_PYTHON env var.

Known follow-ups (post-release issues)

  • #17 SessionStart hook: venv healthcheck + python3.11+ enforcement
  • #18 SessionStart hook test: verify pip actually ran, not just hash changed
  • #19 Migration guide: 0.3.x → 0.4 (clean old install + plugin install)
  • #20 Plugin install: CI smoke test verifying symlink dereference
  • #21 /dpd-feedback: enumerate agent-detect env vars + use CLAUDE_PLUGIN_ROOT for version

Source

This release was tracked end-to-end in a DPD self-dogfood session (ses_bb28a64c1713 in scope decompose-propagate.protocol). Architectural decisions are recorded in docs/ideas/dpd-plugin-refactor-2026-05-25.md (in the scope repo, not this one). Release shipped after multi-agent review (Claude + Codex) + Copilot review + 0.4 install dogfood verification.