@macintacos/caret 0.7.1 → 0.7.3

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.
Files changed (99) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +21 -69
  3. package/bin/caret +3 -3
  4. package/dist/cli.js +3946 -957
  5. package/opencode/caret.plugin.ts +48 -4
  6. package/package.json +2 -1
  7. package/ui/dist/assets/{angular-html-Cb4ff1Xn.js → angular-html-BkACH6sS.js} +1 -1
  8. package/ui/dist/assets/{angular-ts-i5xfTcEb.js → angular-ts-BjneU6BN.js} +1 -1
  9. package/ui/dist/assets/{apl-DPLUpPZH.js → apl-DVzIf2a1.js} +1 -1
  10. package/ui/dist/assets/{astro-BML2jKgh.js → astro-DB2DFIpJ.js} +1 -1
  11. package/ui/dist/assets/{blade-BaS88qR6.js → blade-B6xnwIkG.js} +1 -1
  12. package/ui/dist/assets/{c-D4VdNCCk.js → c-WphO9pXU.js} +1 -1
  13. package/ui/dist/assets/{cobol-TJzx7_Jx.js → cobol-CxbWCK38.js} +1 -1
  14. package/ui/dist/assets/{coffee-jwLs23NB.js → coffee-CkPnOgu-.js} +1 -1
  15. package/ui/dist/assets/{cpp-Cbb7JO8V.js → cpp-DR3KLx5Y.js} +1 -1
  16. package/ui/dist/assets/{crystal-B7adxA8M.js → crystal-DO5D6PqK.js} +1 -1
  17. package/ui/dist/assets/{css-wCSV4wf-.js → css-CpMtDUWB.js} +1 -1
  18. package/ui/dist/assets/{dist-Dpx90cKZ.js → dist-0v4ezTSu.js} +1 -1
  19. package/ui/dist/assets/{dist-298XdQBF.js → dist-48VS-YPy.js} +1 -1
  20. package/ui/dist/assets/{dist-BuFCkXXk.js → dist-B9r6t867.js} +1 -1
  21. package/ui/dist/assets/{dist-A6bY-Apn.js → dist-BGvczGrN.js} +1 -1
  22. package/ui/dist/assets/{dist-CxVt2F29.js → dist-BJNi6cMC.js} +1 -1
  23. package/ui/dist/assets/{dist-BN755jWv.js → dist-BpIVvVaz.js} +1 -1
  24. package/ui/dist/assets/{dist-7M8xeRyJ.js → dist-CB7-lNZi.js} +1 -1
  25. package/ui/dist/assets/{dist-D4_0oOZv.js → dist-CJ5r1C73.js} +1 -1
  26. package/ui/dist/assets/{dist-DjXDe6rV.js → dist-Caqrcdv3.js} +1 -1
  27. package/ui/dist/assets/{dist-BS2CmZAc.js → dist-Cg1_a3Q9.js} +1 -1
  28. package/ui/dist/assets/{dist-C9AJ9xPn.js → dist-Ckd7kOhY.js} +1 -1
  29. package/ui/dist/assets/{dist-fg9C6Hbj.js → dist-Cyupqvrt.js} +1 -1
  30. package/ui/dist/assets/{dist-DJ4adrob.js → dist-D-aPIyyh.js} +1 -1
  31. package/ui/dist/assets/{dist-B_iJmrrT.js → dist-DC_YnHU3.js} +1 -1
  32. package/ui/dist/assets/{dist-IxHZovKu.js → dist-gemJgvb_.js} +1 -1
  33. package/ui/dist/assets/{dist-GvfXa0si.js → dist-kXsO_FT1.js} +1 -1
  34. package/ui/dist/assets/{dist-uEcSIYm3.js → dist-uns4NG7p.js} +1 -1
  35. package/ui/dist/assets/{edge-DKjAu5Di.js → edge-bmjNbTeg.js} +1 -1
  36. package/ui/dist/assets/{elixir-DDEpdRfl.js → elixir-BQxeoenX.js} +1 -1
  37. package/ui/dist/assets/{elm-DoMN6hn5.js → elm-CJrw5LfK.js} +1 -1
  38. package/ui/dist/assets/{erb-DfNy9zzw.js → erb-Dry_-GmH.js} +1 -1
  39. package/ui/dist/assets/{git-rebase-C_HtI2_X.js → git-rebase-Co6jlEz0.js} +1 -1
  40. package/ui/dist/assets/{glimmer-js-CTEI3IXz.js → glimmer-js-Dbzw6Ir-.js} +1 -1
  41. package/ui/dist/assets/{glimmer-ts-C2N3mfgI.js → glimmer-ts-BpCrbyYh.js} +1 -1
  42. package/ui/dist/assets/{glsl-B54oifrR.js → glsl-BwZlEhHN.js} +1 -1
  43. package/ui/dist/assets/{graphql-BNV1hVWI.js → graphql-gfv1XA1W.js} +1 -1
  44. package/ui/dist/assets/{hack-kvUEDHTO.js → hack-N57UKca3.js} +1 -1
  45. package/ui/dist/assets/{haml-BbNrk55r.js → haml-BAHeK9us.js} +1 -1
  46. package/ui/dist/assets/{handlebars-aNsDuOY1.js → handlebars-DrBM8_ha.js} +1 -1
  47. package/ui/dist/assets/{html-C6Hbnz4K.js → html-BL9Bnq1H.js} +1 -1
  48. package/ui/dist/assets/{html-derivative-DP03hXY1.js → html-derivative-D42KnAiH.js} +1 -1
  49. package/ui/dist/assets/{http-igu_in9H.js → http-Ls0RxOsM.js} +1 -1
  50. package/ui/dist/assets/{hurl-Beq8BbgQ.js → hurl-DRrS5G8r.js} +1 -1
  51. package/ui/dist/assets/{index-D5zo2czw.js → index--rYSlE7E.js} +124 -121
  52. package/ui/dist/assets/index-ClcrzOeC.css +1 -0
  53. package/ui/dist/assets/{java-BkcUUzn6.js → java-Da2aBVs8.js} +1 -1
  54. package/ui/dist/assets/{javascript-BeWff8I_.js → javascript-u9V1L1QY.js} +1 -1
  55. package/ui/dist/assets/{jinja-NFYgDh9m.js → jinja-PmG3UhML.js} +1 -1
  56. package/ui/dist/assets/{jison-bvjkbZ6f.js → jison-xB1BeovT.js} +1 -1
  57. package/ui/dist/assets/{json-u8Yjzcib.js → json-DDdGa8zv.js} +1 -1
  58. package/ui/dist/assets/{jsx-6mCxHpKa.js → jsx-Cqjn8pAj.js} +1 -1
  59. package/ui/dist/assets/{julia-q8hYAgns.js → julia-D1V9Iv_P.js} +1 -1
  60. package/ui/dist/assets/{just-B1uStaDb.js → just-BsXzoTck.js} +1 -1
  61. package/ui/dist/assets/{latex-Dv1BTUyk.js → latex-EQIFGAu4.js} +1 -1
  62. package/ui/dist/assets/{liquid-DdRmda_L.js → liquid-CwwJhgf4.js} +1 -1
  63. package/ui/dist/assets/{lua-DqH8hfa9.js → lua-BUlUCJQJ.js} +1 -1
  64. package/ui/dist/assets/{marko-C9gQtHpG.js → marko-rAWn2Xr9.js} +1 -1
  65. package/ui/dist/assets/{mdc-eTe7yrn3.js → mdc-D0oPUGdS.js} +1 -1
  66. package/ui/dist/assets/{nginx-8X9O2oDm.js → nginx-CygnEjnT.js} +1 -1
  67. package/ui/dist/assets/{nim-Dsr1XNrq.js → nim-Dg3dgDmd.js} +1 -1
  68. package/ui/dist/assets/{perl-D7rzetJZ.js → perl-CbM_3WL1.js} +1 -1
  69. package/ui/dist/assets/{php-C9JfTUhb.js → php-Dm9UY7V3.js} +1 -1
  70. package/ui/dist/assets/{pug-Dwyg6AGO.js → pug-DGxqnRKa.js} +1 -1
  71. package/ui/dist/assets/{qml-BAeb8f3W.js → qml-Bah8tRJx.js} +1 -1
  72. package/ui/dist/assets/{r-BR5DUY7J.js → r-Bz8tUYSG.js} +1 -1
  73. package/ui/dist/assets/{razor-CZb-Y1pL.js → razor-BDMdsRXf.js} +1 -1
  74. package/ui/dist/assets/{regexp-C2iUp3xS.js → regexp-BeNJIalB.js} +1 -1
  75. package/ui/dist/assets/{rst-WDo_i834.js → rst-Crt-D3qU.js} +1 -1
  76. package/ui/dist/assets/{ruby-CYQVtS2t.js → ruby-CKa3eksz.js} +1 -1
  77. package/ui/dist/assets/{sas-BmXKsNkM.js → sas-Csl7Ot3y.js} +1 -1
  78. package/ui/dist/assets/{scss-CNXS8py_.js → scss-DxQ9QjNm.js} +1 -1
  79. package/ui/dist/assets/{shellscript-DLivySEx.js → shellscript-Bl1jPQyT.js} +1 -1
  80. package/ui/dist/assets/{shellsession-CR9nohTd.js → shellsession-XA4KZx3J.js} +1 -1
  81. package/ui/dist/assets/{soy-DfJ3J6I5.js → soy-x6olagpW.js} +1 -1
  82. package/ui/dist/assets/{sql-Du8C1w1a.js → sql-BB5g2cF7.js} +1 -1
  83. package/ui/dist/assets/{stata-fiRCNjQE.js → stata-BTpmd8oN.js} +1 -1
  84. package/ui/dist/assets/{surrealql-Ds6dQGBK.js → surrealql-CdQh5Eh2.js} +1 -1
  85. package/ui/dist/assets/{svelte-Cz8wLnCR.js → svelte-tV9LiDHe.js} +1 -1
  86. package/ui/dist/assets/{templ-r254_8L4.js → templ-Iqi_Zumz.js} +1 -1
  87. package/ui/dist/assets/{tex-BZGbTI5M.js → tex-DxBlchvZ.js} +1 -1
  88. package/ui/dist/assets/{ts-tags-_7iG4p1A.js → ts-tags-BVKjcai_.js} +1 -1
  89. package/ui/dist/assets/{tsx-B51PY8VL.js → tsx-ti5D8YAg.js} +1 -1
  90. package/ui/dist/assets/{twig-C3bRk_0W.js → twig-BNt82Zmy.js} +1 -1
  91. package/ui/dist/assets/{typescript-NPUuVPBs.js → typescript-CQRDp_9E.js} +1 -1
  92. package/ui/dist/assets/{vue-Gsjy4tlH.js → vue-DbqleQlo.js} +1 -1
  93. package/ui/dist/assets/{vue-html-CLzvpmnN.js → vue-html-BmUrzqdM.js} +1 -1
  94. package/ui/dist/assets/{vue-vine-COcbMSsq.js → vue-vine-CA7xP02L.js} +1 -1
  95. package/ui/dist/assets/{xml-DPv2593F.js → xml-D_ULwVK_.js} +1 -1
  96. package/ui/dist/assets/{xsl-2Qfar1Ry.js → xsl-B9EvVJTz.js} +1 -1
  97. package/ui/dist/assets/{yaml-DIynlNq-.js → yaml-DH8QNBGs.js} +1 -1
  98. package/ui/dist/index.html +2 -2
  99. package/ui/dist/assets/index-IhIYlx4V.css +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "caret",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "Review, annotate, and approve Claude Code plans in a local web UI.",
5
5
  "author": { "name": "macintacos" },
6
6
  "homepage": "https://github.com/macintacos/caret",
package/README.md CHANGED
@@ -21,86 +21,38 @@ Want to develop caret rather than use it? Start with [CONTRIBUTING.md](CONTRIBUT
21
21
 
22
22
  caret needs [`bun`](https://bun.sh) on your `PATH` — it runs from a `bun` bundle.
23
23
 
24
- The quickest path is the one-shot installer. It registers the _published_ caret with
25
- whichever agents you have — [Claude Code](https://claude.com/claude-code) and/or
26
- [OpenCode](https://opencode.ai) — installing prebuilt artifacts, with no `git clone` and
27
- no compile step:
28
-
29
24
  ```sh
30
- curl -fsSL https://raw.githubusercontent.com/macintacos/caret/trunk/scripts/install.sh | bash
25
+ bunx --no-cache @macintacos/caret@latest install
31
26
  ```
32
27
 
33
- It detects which agents are present and installs into each (into both when both are
34
- there). Set `CARET_AGENTS=claude` or `CARET_AGENTS=claude,opencode` to choose
35
- non-interactively, or `CARET_DRY_RUN=1` to preview the exact commands without changing
36
- anything. Restart the agent afterward, then try `/caret:demo`.
37
-
38
- Prefer to run the steps yourself? The per-agent instructions below are exactly what the
39
- installer automates.
40
-
41
- ### Claude Code
28
+ That one command is the whole install. It detects which agents you have —
29
+ [Claude Code](https://claude.com/claude-code), [OpenCode](https://opencode.ai), or both —
30
+ asks which of them to install into, and registers the _published_ caret with each:
31
+ prebuilt artifacts, the `/caret:*` slash commands, and the rumdl plan formatter, with no
32
+ `git clone` and no compile step. Where it can't ask — off a terminal — it installs into
33
+ every agent it detected. `--target claude` or `--target claude,opencode` pins the agents
34
+ non-interactively, and `--dry-run` previews the run without changing anything.
42
35
 
43
- caret installs from its GitHub-based plugin marketplace. From inside Claude Code:
36
+ Restart the agent afterward — OpenCode installs the plugin package on its next start —
37
+ then try `/caret:demo`, which presents a short fake plan to exercise the flow.
44
38
 
45
- ```sh
46
- /plugin marketplace add macintacos/caret
47
- /plugin install caret@caret
48
- ```
49
-
50
- This fetches the published plugin — a self-contained `bun` bundle plus the prebuilt UI —
51
- into Claude Code's plugin cache. No `git clone`, no compile step, no
52
- `claude --plugin-dir`. Then restart Claude Code (or run `/reload-plugins`) and try it:
53
-
54
- ```sh
55
- /caret:demo # presents a short fake plan to exercise the flow
56
- ```
57
-
58
- **Update** with `/plugin marketplace update caret` (then `/reload-plugins`). **Uninstall**
59
- with:
60
-
61
- ```sh
62
- claude plugin uninstall caret@caret
63
- claude plugin marketplace remove caret
64
- ```
65
-
66
- ### OpenCode
67
-
68
- caret installs into [OpenCode](https://opencode.ai) as a first-class
69
- [plugin](https://opencode.ai/docs/plugins/): add its package to your OpenCode `plugin`
70
- array and restart OpenCode once.
71
-
72
- ```jsonc
73
- // ~/.config/opencode/opencode.json
74
- { "plugin": ["@macintacos/caret"] }
75
- ```
39
+ ### Updating and uninstalling
76
40
 
77
- On its next start OpenCode installs `@macintacos/caret` (and its one dependency) into its
78
- own cache and loads it — no separate caret install, though it still needs
79
- [`bun`](https://bun.sh) on your `PATH`. From then on, when OpenCode's Plan agent presents
80
- a plan, caret opens it for review just as it does for Claude Code.
41
+ **Update.** In Claude Code, run `claude plugin update caret@caret` and restart. In
42
+ OpenCode, caret toasts you at startup when a newer release is out; delete OpenCode's
43
+ cached copy — `rm -rf ~/.cache/opencode/node_modules/@macintacos/caret` — and restart to
44
+ take it, or pin the version in OpenCode's config
45
+ (`"plugin": ["@macintacos/caret@<version>"]`) and bump that when you want to move.
81
46
 
82
- Want the `/caret:demo`, `/caret:discovery`, and `/caret:debug` slash commands too — or
83
- prefer not to hand-edit the config? Run the published package's installer, which adds the
84
- array entry and drops the command files for you:
47
+ **Uninstall.** The same command, one flag:
85
48
 
86
49
  ```sh
87
- bunx --no-cache @macintacos/caret@latest install --target opencode
50
+ bunx --no-cache @macintacos/caret@latest install --uninstall
88
51
  ```
89
52
 
90
- The [one-shot installer](#install) above does the same as part of its run (and its
91
- `CARET_AGENTS=opencode,claude` covers both agents at once). If you already have the caret
92
- binary on your `PATH` — from `npm i -g @macintacos/caret`, say —
93
- `caret install --target opencode` works too.
94
-
95
- **Update**: caret checks its
96
- [latest release](https://github.com/macintacos/caret/releases) at OpenCode startup and
97
- toasts you when a newer version is available. To take it, delete OpenCode's cached copy of
98
- caret and restart — `rm -rf ~/.cache/opencode/node_modules/@macintacos/caret` makes
99
- OpenCode reinstall the latest on its next start. (Prefer to control the version yourself?
100
- Pin it in the array — `"@macintacos/caret@<version>"` — and bump that when you want to
101
- move.) **Uninstall**: remove the array entry, or run
102
- `bunx --no-cache @macintacos/caret@latest install --target opencode --uninstall`. See
103
- [`doc/ADVANCED.md`](doc/ADVANCED.md#the-opencode-adapter) for how the integration works.
53
+ It offers the same chooser in reverse, and `--target` pins it the same way. See
54
+ [`doc/ADVANCED.md`](doc/ADVANCED.md#how-it-works) for what each agent's install touches
55
+ and how the integrations work.
104
56
 
105
57
  ## Using caret
106
58
 
package/bin/caret CHANGED
@@ -6,9 +6,9 @@
6
6
  # every install; it resolves the actual caret runtime from whatever the install
7
7
  # method placed beside it:
8
8
  #
9
- # 1. a compiled binary (bin/caret-native) — the build-from-source paths
10
- # (`scripts/install.sh`, `mise run build --install`) compile this; running
11
- # it needs no `bun` at hook time.
9
+ # 1. a compiled binary (bin/caret-native) — the build-from-source path
10
+ # (`mise run build`, which `mise run build --install` then installs from)
11
+ # compiles this; running it needs no `bun` at hook time.
12
12
  # 2. the run-from-source bundle (dist/cli.js) — the GitHub/npm plugin install
13
13
  # ships this plus a sibling ui/dist; it runs on `bun`. REQUIRES `bun` on
14
14
  # PATH (documented in the README).