@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.
- package/README.md +76 -0
- 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`.
|