@grum-os/cli 0.3.47 → 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 +35 -29
  2. package/content.md5 +1 -1
  3. package/grum.mjs +575 -351
  4. package/package.json +2 -2
package/README.md CHANGED
@@ -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 checkboxes, 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,15 +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 |
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 |
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 |
163
165
 
164
166
  ## Review one item yourself
165
167
 
@@ -187,7 +189,7 @@ Clears the capture-browser sign-in saved for this repository.
187
189
  grum contract
188
190
  ```
189
191
 
190
- 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 and checkboxes, 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.
191
193
 
192
194
  ## Fail the check
193
195
 
@@ -245,24 +247,25 @@ Store it as a secret. Do not commit it. The token acts as you, in every workspac
245
247
 
246
248
  The menu covers check, setup, and sign-in. These are the same actions as flags, for scripts and CI.
247
249
 
248
- | Command | What it does |
249
- | ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
250
- | `grum` | The menu. Check, setup (including Cursor), or sign in. |
251
- | `grum login` / `grum logout` | Sign this computer in to Grum, or out. |
252
- | `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. |
253
- | `grum doctor [--agent <agent> --json]` | Check setup readiness without changing anything. |
254
- | `grum scan [--root <dir>]` | Start a fresh scan for the linked workspace and follow its progress. |
255
- | `grum check [flags]` | Check the working tree. See the flags below. |
256
- | `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. |
257
- | `grum add-token ...` / `grum add-button ...` | For owners, add a token or approved button design to the contract. |
258
- | `grum add-icon <ref> [--name <name>]` | For owners, add an icon `grum check --json` lists under `discovered.icons`, from this checkout's source. |
259
- | `grum snooze <key> [<key>...]` | Pause questions about existing drift on this branch for the configured period. |
260
- | `grum uninstall [--yes]` | Remove Grum from this repository and this computer. See [Uninstall](#uninstall). |
261
- | `grum capture reset` | Clear this repository's saved capture-browser sign-ins. |
262
- | `grum contract` | Print the contract packet. |
263
- | `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. |
264
- | `grum init codex [--remove] [--force] [--local-only] [--pre-commit]` | The same for Codex: `.codex/config.toml`, `.codex/hooks.json` and the `AGENTS.md` block. |
265
- | `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. |
266
269
 
267
270
  ```sh
268
271
  grum check --staged # drift in the blocks staged for commit
@@ -281,6 +284,8 @@ grum check --strict # like --ci, and also fail while a review is
281
284
 
282
285
  `grum hook` and `grum mcp` are the entry points Cursor, Codex and Claude Code run. You do not call them yourself.
283
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
+
284
289
  For `setup` and `doctor`, `<agent>` is `cursor`, `codex`, `claude` or `generic`.
285
290
 
286
291
  ## Uninstall
@@ -305,3 +310,4 @@ If you installed the CLI globally, also run `npm uninstall -g @grum-os/cli`.
305
310
  | `GRUM_TOKEN` | Sign in for CI. Overrides the token saved on this computer. |
306
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. |
307
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
- f03e59d1d79bf929cfa937fa5fea5794
1
+ 673db0af8124ff4f24d2d1cb38ac5089