diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json new file mode 100644 index 0000000..5a8e453 --- /dev/null +++ b/.claude-plugin/marketplace.json @@ -0,0 +1,18 @@ +{ + "name": "pickforge", + "description": "Pickforge Studio plugins.", + "owner": { + "name": "Pickforge" + }, + "plugins": [ + { + "name": "review-tutor", + "description": "Open the Pickforge Review Tutor for a PR, diff, or commit in your browser.", + "source": { + "source": "git-subdir", + "url": "https://github.com/pickforge/pickforge-platform.git", + "path": "packages/review-tutor/claude-plugin" + } + } + ] +} diff --git a/packages/review-tutor/README.md b/packages/review-tutor/README.md index 7e53783..c67fcba 100644 --- a/packages/review-tutor/README.md +++ b/packages/review-tutor/README.md @@ -4,21 +4,53 @@ Review Tutor is a local-first, browser-based companion for guided reviews of PRs ## Install -This package is private and remains at version `0.0.0`, so it is not available through the npm scope. Install it from a local checkout: +The npm package ships with pickforge-platform v0.13.0; until then, use a checkout: `pi install /path/to/packages/review-tutor` and `node packages/review-tutor/dist/bin.js …` after `bun run build`. + +Requirements: Node 22 or newer, Git, and whichever of `pi`, `claude`, or `codex` you want as tutor harnesses, each logged in. + +### Pi + +Install from npm or a checkout: ```bash +pi install npm:@pickforge/review-tutor pi install /absolute/path/to/packages/review-tutor ``` -The package manifest loads both the extension and the tutor skill. +Then run: + +```text +/review-tutor +``` -To try it for one Pi run without installing it: +### Claude Code ```bash -pi -e /absolute/path/to/packages/review-tutor +claude plugin marketplace add pickforge/pickforge-platform +claude plugin install review-tutor@pickforge +``` + +Then run: + +```text +/review-tutor ``` -`-e` loads the extension only; the tutor skill is registered by `pi install`. The `/review-tutor` command still works fully either way because it reads its skill file directly from the package. +### Codex + +From a checkout, copy the skill into your Codex home: + +```bash +cp -r packages/review-tutor/codex-skill/review-tutor ~/.codex/skills/review-tutor +``` + +Then ask Codex to "open the review tutor for …". + +### Any shell + +```bash +npx -y @pickforge/review-tutor worktree +``` ## Usage diff --git a/packages/review-tutor/claude-plugin/.claude-plugin/plugin.json b/packages/review-tutor/claude-plugin/.claude-plugin/plugin.json new file mode 100644 index 0000000..b788f37 --- /dev/null +++ b/packages/review-tutor/claude-plugin/.claude-plugin/plugin.json @@ -0,0 +1,11 @@ +{ + "name": "review-tutor", + "version": "0.12.0", + "description": "Open the Pickforge Review Tutor for a PR, diff, or commit in your browser.", + "author": { + "name": "Pickforge" + }, + "homepage": "https://github.com/pickforge/pickforge-platform/tree/main/packages/review-tutor", + "repository": "https://github.com/pickforge/pickforge-platform", + "license": "MIT" +} diff --git a/packages/review-tutor/claude-plugin/skills/review-tutor/SKILL.md b/packages/review-tutor/claude-plugin/skills/review-tutor/SKILL.md new file mode 100644 index 0000000..0d923d2 --- /dev/null +++ b/packages/review-tutor/claude-plugin/skills/review-tutor/SKILL.md @@ -0,0 +1,14 @@ +--- +name: review-tutor +description: Open the Review Tutor for a review, PR, diff, or commit in your browser. +disable-model-invocation: true +allowed-tools: Bash(npx -y @pickforge/review-tutor *) +--- + +From the repository root, use Bash to run `npx -y @pickforge/review-tutor --detach`. +Pass the user's argument as ONE single-quoted argv (`'…'`), defaulting to `'worktree'` when absent. +Accepted forms are `worktree`, `staged`, `a...b`, a commit, or a GitHub PR URL. +If the argument contains anything outside `[A-Za-z0-9._/:@#~^-]`, refuse and ask the user to re-enter it. +Print the single URL line verbatim to the user. +Never open, fetch, or curl the URL. +Nothing from the conversation is sent to the tutor. diff --git a/packages/review-tutor/codex-skill/review-tutor/SKILL.md b/packages/review-tutor/codex-skill/review-tutor/SKILL.md new file mode 100644 index 0000000..f59096f --- /dev/null +++ b/packages/review-tutor/codex-skill/review-tutor/SKILL.md @@ -0,0 +1,14 @@ +--- +name: review-tutor +description: Open the Review Tutor when the user asks for a review, PR, diff, or tutor session. +--- + +Run this command in the repository root: + +```bash +npx -y @pickforge/review-tutor --detach +``` + +`` can be `worktree`, `staged`, `a...b`, a commit, or a GitHub PR URL. + +Print the URL to the user verbatim. Do not open or fetch the URL yourself.