open-plan-annotator 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,7 +12,7 @@
12
12
  "name": "open-plan-annotator",
13
13
  "source": "./",
14
14
  "description": "Interactive plan annotation UI: review, strikethrough, and comment on Claude's plans before approving. Fully local, no external services.",
15
- "version": "1.0.4",
15
+ "version": "1.0.6",
16
16
  "author": {
17
17
  "name": "ndom91"
18
18
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "open-plan-annotator",
3
3
  "description": "Interactive plan annotation UI: review, strikethrough, and comment on Claude's plans before approving. Fully local, no external services.",
4
- "version": "1.0.4",
4
+ "version": "1.0.6",
5
5
  "author": {
6
6
  "name": "ndom91"
7
7
  },
package/README.md CHANGED
@@ -4,43 +4,27 @@
4
4
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT)
5
5
  [![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Linux-pink?style=flat-square)]()
6
6
 
7
- A fully local agentic coding plugin that intercepts plan mode and opens an annotation UI in your browser. Mark up the plan, send structured feedback to the agent, and receive a revised version — iterate as many times as you need until you're ready to accept.
8
-
9
- Select text to <code>strikethrough</code>, <code>replace</code>, <code>insert</code>, or <code>comment</code> — then approve the plan or request changes.
7
+ A fully local agentic coding plugin that intercepts plan mode and opens an annotation UI in your browser. Mark up the plan, send structured feedback to the agent, and receive a revised version — iterate as many times as you need until you're ready to approve.
10
8
 
9
+ Select text to <code>strikethrough</code>, <code>replace</code>, <code>insert</code>, or <code>comment</code> — then approve the plan or request changes
11
10
 
12
11
  ![](.github/assets/screenshot.png)
13
12
 
13
+ ## How It Works
14
14
 
15
- ## How it works
16
-
17
- 1. Host submits a plan to `open-plan-annotator`
18
- 2. An ephemeral HTTP server starts and opens a React UI in your browser
19
- 3. You review and annotate the plan
20
- 4. **Approve** or **Request Changes**
21
- 5. The tool returns structured JSON output back to the host
15
+ 1. Your coding agent (Claude Code or OpenCode) finishes writing a plan
16
+ 2. The plugin launches an ephemeral HTTP server and opens a React UI in your browser
17
+ 3. You review the plan and annotate it — strikethrough, replace, insert, or comment on any section
18
+ 4. **Approve** to let the agent proceed, or **Request Changes** to send your annotations back as structured feedback
19
+ 5. The agent revises the plan and the cycle repeats until you're satisfied
22
20
 
23
- The server shuts down after you decide. Everything runs locally, nothing leaves your machine.
21
+ Everything runs locally. Nothing leaves your machine.
24
22
 
25
23
  ## Install
26
24
 
27
- > [!NOTE]
28
- > The first run might take a few seconds if you use pnpm as it blocks postinstall scripts.
29
- > Claude / OpenCode will trigger the download upon first use then.
30
-
31
- **1. Install the binary**
32
-
33
- ```sh
34
- npm install -g open-plan-annotator
35
- ```
36
-
37
- This JS shim downloads the correct binary for your platform (macOS, Linux).
38
-
39
25
  ### Claude Code
40
26
 
41
- Add the marketplace and install the plugin:
42
-
43
- From within Claude Code:
27
+ From within Claude Code, add the marketplace and install the plugin:
44
28
 
45
29
  ```
46
30
  /plugin marketplace add ndom91/open-plan-annotator
@@ -66,7 +50,7 @@ OpenCode will install the package and load it automatically. The plugin:
66
50
  - Returns structured feedback to the agent on approval or rejection
67
51
  - Optionally hands off to an implementation agent after approval
68
52
 
69
- #### Implementation handoff
53
+ #### Implementation Handoff
70
54
 
71
55
  By default, after a plan is approved the plugin sends "Proceed with implementation." to a `build` agent. To customize or disable this, create `open-plan-annotator.json` in your project's `.opencode/` directory or globally in `~/.config/opencode/`:
72
56
 
@@ -81,7 +65,19 @@ By default, after a plan is approved the plugin sends "Proceed with implementati
81
65
 
82
66
  Set `enabled` to `false` to disable auto-handoff. Project config overrides global config.
83
67
 
84
- ### From source (Claude Code)
68
+ ### Manual Install
69
+
70
+ If you want to run the binary standalone or build from source:
71
+
72
+ ```sh
73
+ npm install -g open-plan-annotator
74
+ ```
75
+
76
+ > [!NOTE]
77
+ > The first run might take a few seconds if you use pnpm, as it blocks postinstall scripts.
78
+ > Claude / OpenCode will trigger the download upon first use then.
79
+
80
+ #### From Source
85
81
 
86
82
  ```sh
87
83
  git clone https://github.com/ndom91/open-plan-annotator.git
@@ -96,16 +92,16 @@ Then load it directly in Claude Code:
96
92
  claude --plugin-dir ./open-plan-annotator
97
93
  ```
98
94
 
99
- ## Annotations
95
+ ## Keyboard Shortcuts
100
96
 
101
- | Type | Shortcut | Description |
102
- |------|----------|-------------|
97
+ | Action | Shortcut | Description |
98
+ |--------|----------|-------------|
103
99
  | Delete | `d` | Strikethrough selected text |
104
- | Replace | `r` | Replace selected text with new text |
105
- | Insert | `i` | Insert text after selection |
100
+ | Replace | `r` | Replace selected text with new content |
101
+ | Insert | `i` | Insert text after the selection |
106
102
  | Comment | `c` | Attach a comment to selected text |
107
-
108
- Global shortcuts: `Cmd+Enter` to approve, `Cmd+Shift+Enter` to request changes.
103
+ | Approve | `Cmd+Enter` | Approve the plan and proceed |
104
+ | Request Changes | `Cmd+Shift+Enter` | Send annotations back to the agent |
109
105
 
110
106
  ## Development
111
107
 
@@ -40,6 +40,19 @@ if (!fs.existsSync(binaryPath)) {
40
40
  }
41
41
  }
42
42
 
43
+ // Handle `open-plan-annotator update` subcommand
44
+ if (process.argv[2] === "update") {
45
+ try {
46
+ execFileSync(binaryPath, ["update"], {
47
+ stdio: "inherit",
48
+ env: { ...process.env, OPEN_PLAN_PKG_MANAGER: detectPackageManager() },
49
+ });
50
+ } catch (e) {
51
+ process.exit(e.status || 1);
52
+ }
53
+ process.exit(0);
54
+ }
55
+
43
56
  // Detect package manager so the binary can suggest the right update command
44
57
  function detectPackageManager() {
45
58
  const ua = process.env.npm_config_user_agent || "";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-plan-annotator",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "type": "module",
5
5
  "description": "Fully local plugin for interactive plan annotation from your Agentic assistants",
6
6
  "author": "ndom91",
@@ -33,6 +33,7 @@
33
33
  "scripts": {
34
34
  "postinstall": "node install.cjs",
35
35
  "test": "bun test",
36
+ "typecheck": "tsgo --noEmit --project ui/tsconfig.json && tsgo --noEmit --project server/tsconfig.json",
36
37
  "build:ui": "cd ui && bun run vite build",
37
38
  "build:platforms": "node scripts/build-platforms.cjs",
38
39
  "build": "bun run build:ui && node scripts/build-platforms.cjs",
@@ -50,7 +51,8 @@
50
51
  },
51
52
  "devDependencies": {
52
53
  "@biomejs/biome": "^2.4.4",
53
- "@types/bun": "^1.3.9"
54
+ "@types/bun": "^1.3.9",
55
+ "@typescript/native-preview": "^7.0.0-dev.20260224.1"
54
56
  },
55
57
  "dependencies": {
56
58
  "@opencode-ai/plugin": "^1.2.14",