punchlist-axi 0.1.0 → 0.1.1

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.
package/README.md CHANGED
@@ -8,24 +8,28 @@ Nothing in your app changes. It works in front of Rails (Turbo), SvelteKit/Vite,
8
8
 
9
9
  ## Use
10
10
 
11
- With the skill installed, ask your agent: `/punchlist 5173` (or "let me click the element I want changed").
11
+ Install the skill (Claude Code, Codex, OpenCode, Cursor and others) with `npx skills add narze/punchlist-axi --skill punchlist`, then ask your agent: `/punchlist 5173` (or "let me click the element I want changed").
12
12
 
13
- By hand:
13
+ By hand, with Node 18+ (no install needed):
14
14
 
15
15
  ```bash
16
- node scripts/punchlist-axi.mjs start --target 5173 # proxy runs in the background, prints the link
17
- node scripts/punchlist-axi.mjs wait # blocks until you press Send
18
- node scripts/punchlist-axi.mjs done r1 "1: made it blue"
19
- node scripts/punchlist-axi.mjs stop
16
+ npx -y punchlist-axi start --target 5173 # proxy runs in the background, prints the link
17
+ npx -y punchlist-axi wait # blocks until you press Send
18
+ npx -y punchlist-axi done r1 "1: made it blue"
19
+ npx -y punchlist-axi stop
20
20
  ```
21
21
 
22
+ Or install it once with `npm i -g punchlist-axi` and run `punchlist-axi start --target 5173`. Every output ends with the next command to run, written the way you called it.
23
+
24
+ The proxy listens on port 4000, or on the next free port when 4000 is busy (like Vite). Running `start` again for the same dev server reuses its proxy. Pass `--port` to require one port.
25
+
22
26
  Open the printed link (its token sets an access cookie). In the page: press ◎ (Alt+Shift+E), tap an element or drag a box, write a note, repeat, then press **Send**. With ◎ off, selecting text shows an Annotate button. ⏸ (Alt+Shift+P) pauses animations. 🗒 lists your notes; notes survive reloads until sent.
23
27
 
24
28
  Phone access: `tailscale serve --bg <port>`, then open the HTTPS link that `start` prints. Never use `tailscale funnel`: anyone who reaches the proxy can make your agent edit code.
25
29
 
26
- Optional: `node scripts/punchlist-axi.mjs setup hooks` adds a SessionStart hook to Claude Code, Codex and OpenCode, so new agent sessions see the proxies running for their directory (`--project` for the repo config, `--remove` to undo).
30
+ Optional: `punchlist-axi setup hooks` (needs the global install) adds a SessionStart hook to Claude Code, Codex and OpenCode, so new agent sessions see the proxies running for their directory (`--project` for the repo config, `--remove` to undo).
27
31
 
28
- `node scripts/punchlist-axi.mjs --help` is the full guide for agents.
32
+ `npx -y punchlist-axi --help` is the full guide for agents.
29
33
 
30
34
  ## Source hints
31
35
 
@@ -54,4 +58,6 @@ When the hints name no file (only a component name, or nothing), the panel shows
54
58
 
55
59
  ```bash
56
60
  pnpm install && pnpm test # pnpm version comes from package.json "packageManager"
61
+ pnpm check # typecheck (strict tsc) + lint (typescript-eslint, strict)
62
+ node scripts/punchlist-axi.mjs --help # run the checkout
57
63
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "punchlist-axi",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "description": "Click-to-edit for any running web app: a proxy injects a picker, your coding agent pulls the batch of notes and edits the source.",
6
6
  "license": "MIT",
@@ -16,21 +16,35 @@
16
16
  "scripts/punchlist-axi.mjs",
17
17
  "scripts/punchlist-cli.mjs",
18
18
  "scripts/client.js",
19
- "SKILL.md"
19
+ "skills/punchlist/SKILL.md"
20
20
  ],
21
21
  "engines": {
22
22
  "node": ">=18"
23
23
  },
24
24
  "scripts": {
25
- "build": "esbuild src/cli.mjs --bundle --platform=node --format=esm --target=node18 --banner:js='#!/usr/bin/env node\n// Generated from src/ by `pnpm build` - do not edit.\nimport { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --outfile=scripts/punchlist-cli.mjs && esbuild src/punchlist-axi.mjs --bundle --platform=node --format=esm --target=node18 --banner:js='#!/usr/bin/env node\n// Generated from src/ by `pnpm build` - do not edit.' --external:./punchlist-cli.mjs --outfile=scripts/punchlist-axi.mjs",
25
+ "build": "tsx build.ts",
26
+ "typecheck": "tsc -p . && tsc -p src && svelte-check --tsconfig src/client/tsconfig.json --fail-on-warnings --output machine && tsc -p test",
27
+ "lint": "eslint --max-warnings 0 .",
28
+ "check": "pnpm run --silent typecheck && pnpm run --silent lint",
26
29
  "pretest": "pnpm run --silent build",
27
- "test": "node test/cli.test.mjs && node test/proxy.test.mjs && node test/client.test.mjs && node test/drag.test.mjs"
30
+ "test": "node --import tsx test/cli.test.ts && node --import tsx test/proxy.test.ts && node --import tsx test/client.test.ts && node --import tsx test/drag.test.ts && node --import tsx test/ports.test.ts"
28
31
  },
29
32
  "devDependencies": {
33
+ "@eslint/js": "^10.0.1",
34
+ "@types/jsdom": "^21.1.7",
35
+ "@types/node": "^24.19.2",
30
36
  "axi-sdk-js": "^0.1.13",
31
37
  "esbuild": "^0.28.2",
38
+ "esbuild-svelte": "^0.9.5",
39
+ "eslint": "^10.12.0",
40
+ "eslint-plugin-svelte": "^3.23.1",
32
41
  "jsdom": "^24.0.0",
33
- "launch-editor": "^2.14.2"
42
+ "launch-editor": "^2.14.2",
43
+ "svelte": "^5.57.2",
44
+ "svelte-check": "^4.7.6",
45
+ "tsx": "^4.23.15",
46
+ "typescript": "~6.0.3",
47
+ "typescript-eslint": "^8.71.1"
34
48
  },
35
49
  "packageManager": "pnpm@12.11.2"
36
50
  }