@grum-os/cli 0.3.45 → 0.3.48

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 (4) hide show
  1. package/README.md +36 -29
  2. package/content.md5 +1 -1
  3. package/grum.mjs +728 -330
  4. package/package.json +2 -2
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- <img src="https://cdn.jsdelivr.net/npm/@grum-os/cli/brand.png" alt="Grum" width="224" height="59" />
1
+ <img src="https://cdn.jsdelivr.net/npm/@grum-os/cli/brand.png?v=43346b25a840" alt="Grum" width="224" height="59" />
2
2
 
3
3
  # Grum
4
4
 
@@ -62,7 +62,7 @@ The menu and the commands above stay as they are. `--agent` is an extra way in,
62
62
 
63
63
  Accepting Cursor in the menu puts Grum inside the agent. The agent follows the same contract a person sees in Grum, and it can ask the owners to allow something the contract does not have.
64
64
 
65
- **Before it writes UI**, it reads the contract: color, typography, spacing, and radius tokens, plus button components and looks, approved text inputs, and the rules for using them.
65
+ **Before it writes UI**, it reads the contract: color, typography, spacing, and radius tokens, plus button components and looks, approved text inputs, checkboxes, radios, switches, selects, action menus and tabs, and the rules for using them.
66
66
 
67
67
  **Before it finishes**, it checks what it changed. Drift already on the default branch stays off the list. New drift comes back with a fix.
68
68
 
@@ -151,14 +151,17 @@ A check prints the report and exits 0, including when you are signed out, offlin
151
151
 
152
152
  ### What it looks for
153
153
 
154
- | Area | New drift |
155
- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
156
- | Color | A hard-coded color, a color nearly identical to a contract color, or a color token the contract does not have |
157
- | Typography | A size, weight, or line height off the contract scale |
158
- | Spacing | A margin, padding, or gap off the scale |
159
- | Radius | A radius off the scale |
160
- | Buttons | A look the contract does not have, a look whose state changed, a missing state, a raw `<button>` outside the button component, or a variant the component lacks |
161
- | Inputs | A text input that does not match an approved input, or differs from one in structure, appearance, or states |
154
+ | Area | New drift |
155
+ | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
156
+ | Color | A hard-coded color, a color nearly identical to a contract color, or a color token the contract does not have |
157
+ | Typography | A size, weight, or line height off the contract scale |
158
+ | Spacing | A margin, padding, or gap off the scale |
159
+ | Radius | A radius off the scale |
160
+ | Buttons | A look the contract does not have, a look whose state changed, a missing state, a raw `<button>` outside the button component, or a variant the component lacks |
161
+ | Inputs | A text input that does not match an approved input, or differs from one in structure, appearance, or states |
162
+ | Checkboxes | A checkbox that overrides an approved checkbox (its box, mark, label, or a checked, indeterminate, disabled, or focus state), or one whose approved state is gone |
163
+ | Radios | A radio that overrides an approved radio (its option, mark, label, or a checked, disabled, or focus state), or one whose approved state is gone. How a group of radios is laid out is not checked |
164
+ | Switches | A switch that overrides an approved switch (its track, thumb, label, thumb travel, or a checked, disabled, or focus state), or one whose approved state is gone. The settings row around a switch is not checked |
162
165
 
163
166
  ## Review one item yourself
164
167
 
@@ -186,7 +189,7 @@ Clears the capture-browser sign-in saved for this repository.
186
189
  grum contract
187
190
  ```
188
191
 
189
- Prints the contract packet agents read before writing UI: tokens by category (with a separate dark value when there is one), button components and looks, approved text inputs, team guidelines, and review decisions.
192
+ Prints the contract packet agents read before writing UI: tokens by category (with a separate dark value when there is one), button components and looks, approved text inputs, checkboxes, radios, switches, selects, action menus and tabs, team guidelines, and review decisions.
190
193
 
191
194
  ## Fail the check
192
195
 
@@ -244,24 +247,25 @@ Store it as a secret. Do not commit it. The token acts as you, in every workspac
244
247
 
245
248
  The menu covers check, setup, and sign-in. These are the same actions as flags, for scripts and CI.
246
249
 
247
- | Command | What it does |
248
- | ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
249
- | `grum` | The menu. Check, setup (including Cursor), or sign in. |
250
- | `grum login` / `grum logout` | Sign this computer in to Grum, or out. |
251
- | `grum setup [--root <dir>]` | Sign in, link this repository, and ask about Cursor and the pre-commit check. Use `--agent <agent> --json` for agent setup. |
252
- | `grum doctor [--agent <agent> --json]` | Check setup readiness without changing anything. |
253
- | `grum scan [--root <dir>]` | Start a fresh scan for the linked workspace and follow its progress. |
254
- | `grum check [flags]` | Check the working tree. See the flags below. |
255
- | `grum request <key> [<key>...] [--reason "..."] [--url <page>] [--live] [--browser chrome | safari] [--no-capture]` | Ask the owners to allow drift items; items on one page capture together. |
256
- | `grum add-token ...` / `grum add-button ...` | For owners, add a token or approved button design to the contract. |
257
- | `grum add-icon <ref> [--name <name>]` | For owners, add an icon `grum check --json` lists under `discovered.icons`, from this checkout's source. |
258
- | `grum snooze <key> [<key>...]` | Pause questions about existing drift on this branch for the configured period. |
259
- | `grum uninstall [--yes]` | Remove Grum from this repository and this computer. See [Uninstall](#uninstall). |
260
- | `grum capture reset` | Clear this repository's saved capture-browser sign-ins. |
261
- | `grum contract` | Print the contract packet. |
262
- | `grum init cursor [--remove] [--force] [--local-only] [--pre-commit]` | Write or remove the Cursor files without the menu. `--pre-commit` adds the commit check. `--no-pre-commit` removes it. |
263
- | `grum init codex [--remove] [--force] [--local-only] [--pre-commit]` | The same for Codex: `.codex/config.toml`, `.codex/hooks.json` and the `AGENTS.md` block. |
264
- | `grum init claude [--remove] [--force] [--local-only] [--pre-commit]` | The same for Claude Code: `.mcp.json`, `.claude/settings.json` and the `CLAUDE.md` block. |
250
+ | Command | What it does |
251
+ | ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
252
+ | `grum` | The menu. Check, setup (including Cursor), or sign in. |
253
+ | `grum login` / `grum logout` | Sign this computer in to Grum, or out. |
254
+ | `grum setup [--root <dir>]` | Sign in, link this repository, and ask about Cursor and the pre-commit check. Use `--agent <agent> --json` for agent setup. |
255
+ | `grum doctor [--agent <agent> --json]` | Check setup readiness without changing anything. |
256
+ | `grum scan [--root <dir>]` | Start a fresh scan for the linked workspace and follow its progress. |
257
+ | `grum check [flags]` | Check the working tree. See the flags below. |
258
+ | `grum request <key> [<key>...] [--reason "..."] [--url <page>] [--live] [--browser chrome | safari] [--no-capture]` | Ask the owners to allow drift items; items on one page capture together. |
259
+ | `grum add-token ...` / `grum add-button ...` | For owners, add a token or approved button design to the contract. |
260
+ | `grum add-icon <ref> [--name <name>]` | For owners, add an icon `grum check --json` lists under `discovered.icons`, from this checkout's source. |
261
+ | `grum snooze <key> [<key>...]` | Pause questions about existing drift on this branch for the configured period. |
262
+ | `grum uninstall [--yes]` | Remove Grum from this repository and this computer. See [Uninstall](#uninstall). |
263
+ | `grum capture reset` | Clear this repository's saved capture-browser sign-ins. |
264
+ | `grum contract` | Print the contract packet. |
265
+ | `grum feedback "<what happened>" [--kind <kind>]` | Tell the Grum team about a question, confusion or problem. `<kind>` is `question`, `confused`, `problem` or `idea`. If Grum can't be reached it waits and goes with the next send. |
266
+ | `grum init cursor [--remove] [--force] [--local-only] [--pre-commit]` | Write or remove the Cursor files without the menu. `--pre-commit` adds the commit check. `--no-pre-commit` removes it. |
267
+ | `grum init codex [--remove] [--force] [--local-only] [--pre-commit]` | The same for Codex: `.codex/config.toml`, `.codex/hooks.json` and the `AGENTS.md` block. |
268
+ | `grum init claude [--remove] [--force] [--local-only] [--pre-commit]` | The same for Claude Code: `.mcp.json`, `.claude/settings.json` and the `CLAUDE.md` block. |
265
269
 
266
270
  ```sh
267
271
  grum check --staged # drift in the blocks staged for commit
@@ -280,6 +284,8 @@ grum check --strict # like --ci, and also fail while a review is
280
284
 
281
285
  `grum hook` and `grum mcp` are the entry points Cursor, Codex and Claude Code run. You do not call them yourself.
282
286
 
287
+ **Feedback.** When you're stuck, confused, or ask your agent how to use Grum, the agent sends the Grum team a short summary in its own words, and a Grum tool that fails reports itself. It runs in the background and never slows your work. It never sends code, file contents, or your sign-in token; your home folder, emails, and secret-looking strings are taken out first. Set `GRUM_FEEDBACK=off` to stop it.
288
+
283
289
  For `setup` and `doctor`, `<agent>` is `cursor`, `codex`, `claude` or `generic`.
284
290
 
285
291
  ## Uninstall
@@ -304,3 +310,4 @@ If you installed the CLI globally, also run `npm uninstall -g @grum-os/cli`.
304
310
  | `GRUM_TOKEN` | Sign in for CI. Overrides the token saved on this computer. |
305
311
  | `GRUM_API_ORIGIN` | Talk to a Grum other than `https://app.grum.so`. An `http` or `https` origin, with no user or password in the URL. |
306
312
  | `GRUM_NO_BROWSER` | Do not open a browser during sign-in. The code and link are still printed. |
313
+ | `GRUM_FEEDBACK` | `off` sends no feedback or tool-error reports to the Grum team. |
package/content.md5 CHANGED
@@ -1 +1 @@
1
- e3ef88ffdd22d3be51f1aa2dbe92429c
1
+ 673db0af8124ff4f24d2d1cb38ac5089