mirror of
https://github.com/backnotprop/plannotator.git
synced 2026-09-14 14:17:26 +08:00
9130d2d6a3
Adds two session-only flags to plannotator review, parsed in the shared parser so every host inherits them together: - --base <ref> opens the session against a caller-chosen compare target (branch, origin/<branch>, tag, SHA, HEAD~N), probed with git rev-parse --verify --end-of-options before the server starts so a typo'd ref is a startup error with near-match suggestions instead of a silently mislabelled merge-base->HEAD diff. - --diff-type <id> opens the session in one of the nine flat git diff modes (REVIEW_OPEN_DIFF_TYPES, pinned against GIT_DIFF_TYPES). The flags are a seed, never a setting: nothing writes config.json or any review cookie, and the UI stays fully mutable. Validation is pure in packages/shared/review-open-state.ts (provider matrix errors on jj/GitButler/P4/workspace/PR mode, promote-with-notice when the saved default is base-irrelevant, fatal explicit contradiction). A flagged base rides explicitBase semantics: the new initialBaseExplicit server option (both runtimes) seeds baseExplicitlyChosen, suppressing the startup origin/* upgrade and canonicalization, and openStatePinned rides /api/diff so the client neither offers the first-run setup dialog (its one-time cookie is NOT consumed) nor runs the panel-pair self-heal for a pinned session. The since-base dropdown label now renders from the live active base, matching the adjacent base picker. Coverage: Bun CLI, opencode-review bridge, OpenCode embedded plugin, and the Pi extension (re-vendored; strict validation on the slash-command path only, programmatic callers unchanged). Skills, command stubs, help text, and docs updated across every host surface.
Plannotator for Droid
Plannotator's Droid plugin ships the manual slash-command workflow only:
/plannotator-review [--base <ref>] [--diff-type <type>] [PR_URL](no args reviews local changes; the open-state flags pin the session's opening diff — session-only, git-only)/plannotator-annotate <file|folder|url>/plannotator-last
It does not attempt plan-mode interception or host-level planning integration.
Install
Install the plannotator CLI first:
curl -fsSL https://plannotator.ai/install.sh | bash
Then add the marketplace and install the plugin:
droid plugin marketplace add https://github.com/backnotprop/plannotator
droid plugin install plannotator@plannotator
For local development:
cd /path/to/plannotator
droid plugin marketplace add "$PWD"
droid plugin install plannotator@plannotator
Notes
- The plugin expects
plannotatoronPATH. - Review and annotate flows still open the Plannotator browser UI and return the result to the Droid session.
- The command wrappers set
PLANNOTATOR_ORIGIN=droidso the UI can label the host correctly.