{"id":35578944,"url":"https://github.com/backnotprop/plannotator","last_synced_at":"2026-05-11T18:02:30.829Z","repository":{"id":330908732,"uuid":"1123956658","full_name":"backnotprop/plannotator","owner":"backnotprop","description":"Annotate and review coding agent plans and code diffs visually, share with your team, send feedback to agents with one click.","archived":false,"fork":false,"pushed_at":"2026-05-09T01:15:13.000Z","size":68907,"stargazers_count":5080,"open_issues_count":95,"forks_count":351,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-05-09T01:30:01.067Z","etag":null,"topics":["agents","claude-code","code-review","codex","obsidian","opencode","pi-mono","plan-mode","skills"],"latest_commit_sha":null,"homepage":"https://plannotator.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/backnotprop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-28T02:09:40.000Z","updated_at":"2026-05-09T01:29:58.000Z","dependencies_parsed_at":"2026-01-18T19:04:10.868Z","dependency_job_id":null,"html_url":"https://github.com/backnotprop/plannotator","commit_stats":null,"previous_names":["backnotprop/plannotator"],"tags_count":97,"template":false,"template_full_name":null,"purl":"pkg:github/backnotprop/plannotator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backnotprop%2Fplannotator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backnotprop%2Fplannotator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backnotprop%2Fplannotator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backnotprop%2Fplannotator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/backnotprop","download_url":"https://codeload.github.com/backnotprop/plannotator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backnotprop%2Fplannotator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32906515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-11T17:09:15.040Z","status":"ssl_error","status_checked_at":"2026-05-11T17:08:45.420Z","response_time":120,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","claude-code","code-review","codex","obsidian","opencode","pi-mono","plan-mode","skills"],"created_at":"2026-01-04T20:11:39.121Z","updated_at":"2026-05-11T18:02:30.816Z","avatar_url":"https://github.com/backnotprop.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","GUI \u0026 IDE","🤝 Collaboration \u0026 Project Management"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"apps/marketing/public/og-image.webp\" alt=\"Plannotator\" width=\"80%\" /\u003e\n\u003c/p\u003e\n\n# Plannotator\n\nInteractive Plan \u0026 Code Review for AI Coding Agents. Mark up and refine your plans or code diffs using a visual UI, share for team collaboration, and seamlessly integrate with **Claude Code**, **Copilot CLI**, **Gemini CLI**, **OpenCode**, **Pi**, and **Codex**.\n\n**Plan Mode Demos:**\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"50%\"\u003e\n\u003ch3\u003eClaude Code\u003c/h3\u003e\n\u003ca href=\"https://www.youtube.com/watch?v=a_AT7cEN_9I\"\u003e\n\u003cimg src=\"apps/marketing/public/youtube.png\" alt=\"Claude Code Demo\" width=\"100%\" /\u003e\n\u003c/a\u003e\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=a_AT7cEN_9I\"\u003eWatch Demo\u003c/a\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"50%\"\u003e\n\u003ch3\u003eOpenCode\u003c/h3\u003e\n\u003ca href=\"https://youtu.be/_N7uo0EFI-U\"\u003e\n\u003cimg src=\"apps/marketing/public/youtube-opencode.png\" alt=\"OpenCode Demo\" width=\"100%\" /\u003e\n\u003c/a\u003e\n\u003cp\u003e\u003ca href=\"https://youtu.be/_N7uo0EFI-U\"\u003eWatch Demo\u003c/a\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n**Annotate:** Plans, specs, folders, files, urls. send feedback directly to agents. \n\n**New:** [Code Review](https://x.com/backnotprop/status/2031145299738263567?s=20)\n  \n  - send your feedback to agents\n  - built-in: \n    - ask ai\n    - agent code reviews \n\n### Features\n\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd\u003e\u003cstrong\u003eVisual Plan Review\u003c/strong\u003e\u003c/td\u003e\u003ctd\u003eBuilt-in hook\u003c/td\u003e\u003ctd\u003eApprove or deny agent plans with inline annotations\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003cstrong\u003ePlan Diff\u003c/strong\u003e\u003c/td\u003e\u003ctd\u003eAutomatic\u003c/td\u003e\u003ctd\u003eSee what changed when the agent revises a plan\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003cstrong\u003eCode Review\u003c/strong\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003e/plannotator-review\u003c/code\u003e\u003c/td\u003e\u003ctd\u003eView git diffs or remote PRs. Package annotations and ask AI about the code as you review.\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003cstrong\u003eAnnotate Any File\u003c/strong\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003e/plannotator-annotate \u0026lt;file|folder|url\u0026gt;\u003c/code\u003e\u003c/td\u003e\u003ctd\u003eAnnotate markdown, HTML, URLs, or folders and send feedback to your agent\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003cstrong\u003eAnnotate Last Message\u003c/strong\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003e/plannotator-last\u003c/code\u003e\u003c/td\u003e\u003ctd\u003eAnnotate the agent's last response and send structured feedback\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n#### Sharing Plans\n\nPlannotator lets you privately share plans, annotations, and feedback with colleagues. For example, a colleague can annotate a shared plan, and you can import their feedback to send directly back to the coding agent.\n\n**Small plans** are encoded entirely in the URL hash. No server involved, nothing stored anywhere.\n\n**Large plans** use a short link service with **end-to-end encryption**. Your plan is encrypted with AES-256-GCM in your browser before upload. The server stores only ciphertext it cannot read. The decryption key lives only in the URL you share. Pastes auto-delete after 7 days.\n\n- Zero-knowledge storage, similar to [PrivateBin](https://privatebin.info/)\n- Fully open source and **self-hostable** ([see docs](https://plannotator.ai/docs/guides/sharing-and-collaboration/))\n\n## Install\n\n- [Claude Code](#install-for-claude-code)\n- [Copilot CLI](#install-for-copilot-cli)\n- [Gemini CLI](#install-for-gemini-cli)\n- [OpenCode](#install-for-opencode)\n- [Pi](#install-for-pi)\n- [Codex](#install-for-codex)\n\n## Install for Claude Code\n\n**Install the `plannotator` command:**\n\n**macOS / Linux / WSL:**\n\n```bash\ncurl -fsSL https://plannotator.ai/install.sh | bash\n```\n\n**Windows PowerShell:**\n\n```powershell\nirm https://plannotator.ai/install.ps1 | iex\n```\n\n**Then in Claude Code:**\n\n```\n/plugin marketplace add backnotprop/plannotator\n```\n\nRestart Claude Code after plugin install.\n\n\u003cdetails\u003e\n\u003csummary\u003ePin a specific version or verify provenance\u003c/summary\u003e\n\n```bash\ncurl -fsSL https://plannotator.ai/install.sh | bash -s -- --version vX.Y.Z\n```\n\n```powershell\n\u0026 ([scriptblock]::Create((irm https://plannotator.ai/install.ps1))) -Version vX.Y.Z\n```\n\nEvery released binary ships with a SHA256 sidecar (verified automatically). [SLSA provenance](https://slsa.dev/) verification is supported from v0.17.2 onwards — see the [installation docs](https://plannotator.ai/docs/getting-started/installation/#verifying-your-install) for details.\n\n\u003c/details\u003e\n\nSee [apps/hook/README.md](apps/hook/README.md) for detailed installation instructions including a `manual hook` approach.\n\n---\n\n## Install for Copilot CLI\n\n**Install the `plannotator` command:**\n\n**macOS / Linux / WSL:**\n\n```bash\ncurl -fsSL https://plannotator.ai/install.sh | bash\n```\n\n**Windows PowerShell:**\n\n```powershell\nirm https://plannotator.ai/install.ps1 | iex\n```\n\n**Then in Copilot CLI:**\n\n```\n/plugin marketplace add backnotprop/plannotator\n/plugin install plannotator-copilot@plannotator\n```\n\nRestart Copilot CLI after plugin install. Plan review activates automatically when you use plan mode (`Shift+Tab` to enter plan mode).\n\nSee [apps/copilot/README.md](apps/copilot/README.md) for details.\n\n---\n\n## Install for Gemini CLI\n\n**Install the `plannotator` command:**\n\n**macOS / Linux / WSL:**\n\n```bash\ncurl -fsSL https://plannotator.ai/install.sh | bash\n```\n\n**Windows PowerShell:**\n\n```powershell\nirm https://plannotator.ai/install.ps1 | iex\n```\n\nThe installer auto-detects Gemini CLI (checks for `~/.gemini`) and configures the plan review hook and policy. It also installs `/plannotator-review` and `/plannotator-annotate` slash commands.\n\n**Then in Gemini CLI:**\n\n```\n/plan                              # Enter plan mode — plans open in your browser\n/plannotator-review                # Code review for current changes\n/plannotator-review \u003cpr-url\u003e       # Review a GitHub pull request\n/plannotator-annotate \u003cfile.md\u003e    # Annotate a markdown file\n```\n\nRequires Gemini CLI 0.36.0 or later.\n\nSee [apps/gemini/README.md](apps/gemini/README.md) for details.\n\n---\n\n## Install for OpenCode\n\nAdd to your `opencode.json`:\n\n```json\n{\n  \"plugin\": [\"@plannotator/opencode@latest\"]\n}\n```\n\n**Run the install script** to get `/plannotator-review`:\n\n```bash\ncurl -fsSL https://plannotator.ai/install.sh | bash\n```\n\n**Windows:**\n```powershell\nirm https://plannotator.ai/install.ps1 | iex\n```\n\nThis also clears any cached plugin versions. Then restart OpenCode.\n\n---\n\n## Install for Pi\n\n```bash\npi install npm:@plannotator/pi-extension\n```\n\nThen start Pi with `--plan` to enter plan mode, or toggle it during a session with `/plannotator`.\n\nSee [apps/pi-extension/README.md](apps/pi-extension/README.md) for full usage details, commands, and flags.\n\n---\n\n## Install for Codex\n\n**Install the `plannotator` command:**\n\n**macOS / Linux / WSL:**\n\n```bash\ncurl -fsSL https://plannotator.ai/install.sh | bash\n```\n\nThe installer also enables Codex Stop hooks when Codex is installed or `~/.codex` already exists. Restart Codex Desktop\nafter installing or changing hooks.\n\n**Windows PowerShell:**\n\n```powershell\nirm https://plannotator.ai/install.ps1 | iex\n```\n\nCodex plan review is automatic on macOS, Linux, and WSL. Codex hooks are currently disabled on Windows in the official Codex docs, so the Windows installer does not enable them automatically; the direct `!plannotator` commands still work.\n\n**Then in Codex — feedback flows back into the agent loop automatically:**\n\n```\n$plannotator-review          # Code review skill for current changes\n$plannotator-annotate        # Annotate a markdown file, URL, or folder\n$plannotator-last            # Annotate the last agent message\n```\n\n```\n!plannotator review           # Code review for current changes\n!plannotator review \u003cpr-url\u003e  # Review a GitHub pull request\n!plannotator annotate file.md # Annotate a markdown file\n!plannotator last             # Annotate the last agent message\n```\n\nPlan review uses Codex's experimental `Stop` hook on macOS, Linux, and WSL.\n\nSee [apps/codex/README.md](apps/codex/README.md) for details.\n\n---\n\n## How It Works\n\nWhen your AI agent finishes planning, Plannotator:\n\n1. Opens the Plannotator UI in your browser\n2. Lets you annotate the plan visually (delete, insert, replace, comment)\n3. **Approve** → Agent proceeds with implementation\n4. **Request changes** → Your annotations are sent back as structured feedback\n\n(Similar flow for code review, except you can also comment on specific lines of code diffs)\n\n---\n\n## License\n\nCopyright 2025-2026 backnotprop\n\nThis project is licensed under either of\n\n- [Apache License, Version 2.0](LICENSE-APACHE) ([http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0))\n- [MIT license](LICENSE-MIT) ([http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT))\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in this project by you, as defined in the Apache-2.0 license,\nshall be dual licensed as above, without any additional terms or conditions.\n\n## Development\n\nTo make the global `plannotator` command run from this checkout:\n\n```bash\nbun install\nbun link\n```\n\nAfter linking, commands like `plannotator review` use `apps/hook/server/index.ts` from your local repo. Rebuild the bundled HTML when changing UI code:\n\n```bash\nbun run --cwd apps/review build \u0026\u0026 bun run build:hook\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbacknotprop%2Fplannotator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbacknotprop%2Fplannotator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbacknotprop%2Fplannotator/lists"}