@g3nomaly/g3n-mods 0.1.1 → 0.1.2

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 (2) hide show
  1. package/README.md +76 -0
  2. package/package.json +1 -1
package/README.md ADDED
@@ -0,0 +1,76 @@
1
+ # @g3nomaly/g3n-mods
2
+
3
+ The g3n mods for Claude Code. A mod adds a pane, a status line, a slash command or a hook to Claude Code.
4
+
5
+ This package holds the mods themselves. You don't install it directly. The installer, [`@g3nomaly/mods`](https://www.npmjs.com/package/@g3nomaly/mods), knows it as the built-in `g3n-mods` source and copies mods out of it into your project.
6
+
7
+ ## How to install
8
+
9
+ Run these from the root of your project:
10
+
11
+ ```sh
12
+ bunx @g3nomaly/mods init # creates .claude/mods.json and sets up VS Code
13
+ bunx @g3nomaly/mods add context-bar # installs one mod
14
+ bunx @g3nomaly/mods add g3n-mods # installs every mod in this package
15
+ ```
16
+
17
+ Then open the project in VS Code and trust the workspace. New sessions load the mods, and `/reload-plugins` loads them into a session that is already open. Updating, removing and installing for every project with `--user` are covered in the [`@g3nomaly/mods` README](https://www.npmjs.com/package/@g3nomaly/mods).
18
+
19
+ ## The mods
20
+
21
+ | Mod | What it does | Command |
22
+ |---|---|---|
23
+ | `agents-panel` | The agents in `.claude/agents` with their model and a run button. A running agent shows a spinner, and a toast says when it starts and finishes | `/agents-panel` |
24
+ | `context-bar` | One bar of context-window use split by source, with the total and where compaction starts | `/context-bar` |
25
+ | `custom-crab-agents` | Each subagent as a crab with a hat: effort tier, model, steps, context, tokens, cost and time | `/crabs` |
26
+ | `delete-guard` | Denies `rm -rf` and other permanent deletes and tells Claude which trash command to use instead | `/delete-guard on \| off` |
27
+ | `focus-mode` | A timed focus block with a countdown, a progress bar and an end button. 25 minutes unless you pass a number | `/focus-mode [minutes] \| end` |
28
+ | `handoff` | Writes a handoff with the `handoff` skill, clears the session, and attaches the handoff to your next prompt | `/handoff-new [what the next session is for]` |
29
+ | `hide-personal-data` | Masks names, emails, phone numbers, IBANs and card numbers in replies. Hover a mask to read it | `/hide-personal-data on \| off` |
30
+ | `mini-game` | Minesweeper, to play while Claude works | `/mini-game` |
31
+ | `tool-timeline` | Each tool call with its duration. A denied call is struck through, next to the call that replaced it | `/tool-timeline` |
32
+ | `you-should-know` | A card under long replies with their key point, a headline and one supporting line. It costs one small Haiku call per reply of 1500 characters or more | none |
33
+
34
+ For `agents-panel`, `context-bar`, `custom-crab-agents` and `tool-timeline`, the command opens the pane and running it again closes it.
35
+
36
+ Three mods take settings, declared under `userConfig` in their `.claude-plugin/plugin.json`:
37
+
38
+ - `focus-mode`: `minutes`, the default block length (25).
39
+ - `hide-personal-data`: `names`, extra names to always mask, separated by commas.
40
+ - `you-should-know`: `minChars`, the shortest reply that gets a card (1500), and `model`, the model that picks the key point (`haiku`).
41
+
42
+ ## Requirements
43
+
44
+ - [Bun](https://bun.sh), to run the installer
45
+ - Claude Code for VS Code (`anthropic.claude-code`) 2.1.296 or newer. The mods are typed against that release.
46
+
47
+ The mods also load in the terminal, but they are built for the VS Code extension.
48
+
49
+ ## Making your own mod
50
+
51
+ Each mod here is a plugin folder under `mods/`, and `.claude-plugin/marketplace.json` lists them:
52
+
53
+ ```
54
+ mods/<name>/
55
+ ├── .claude-plugin/plugin.json # name, version, description
56
+ ├── hooks/hooks.json # { "modules": ["./register.tsx"] }
57
+ ├── hooks/register.tsx # exports `register`
58
+ └── types/index.d.ts
59
+ ```
60
+
61
+ The folder name must match `name` in `plugin.json`. Mods are TypeScript only, and the installer refuses a mod that contains any `.js`, `.mjs`, `.cjs` or `.jsx` file. To share your own mods, put them in a git repository, npm package or local folder with the same layout and register it with `bunx @g3nomaly/mods source add`.
62
+
63
+ ## Development
64
+
65
+ Run `bun install` at the repository root first, then these from `packages/g3n-mods`:
66
+
67
+ ```sh
68
+ bun run build # rewrites .claude-plugin/marketplace.json from each mod's plugin.json
69
+ bun run typecheck
70
+ bun run validate # runs `claude plugin validate` on every mod
71
+ bun run types # copies the mod API types into types/claude-code.d.ts
72
+ ```
73
+
74
+ ## License
75
+
76
+ [Elastic License 2.0](https://www.elastic.co/licensing/elastic-license). See `LICENSE`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@g3nomaly/g3n-mods",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "The g3n Claude Code mods: panes, status lines, commands and hooks, installed with @g3nomaly/mods.",
5
5
  "type": "module",
6
6
  "files": [