coder-config 0.43.21 → 0.43.22

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 (3) hide show
  1. package/README.md +134 -558
  2. package/lib/constants.js +1 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,672 +2,248 @@
2
2
 
3
3
  A configuration manager for AI coding tools. Works with Claude Code, Gemini CLI, Codex CLI, and Antigravity.
4
4
 
5
- > **Migration note:** This package was renamed from `@regression-io/claude-config` to `coder-config`. The `claude-config` command still works as an alias.
6
-
7
5
  ## The Problem
8
6
 
9
- AI coding assistants are powerful, but managing their configuration across projects is tedious. Each tool has its own config format. MCP servers need to be set up per-project. Context gets lost between sessions. Working across multiple repos means re-explaining relationships every time.
10
-
11
- ## What Coder Config Does
12
-
13
- **Workstreams**
14
- Group related repos together. When a workstream is active, Claude automatically knows which directories it can access and receives your custom context. Useful for microservices, monorepos, or any multi-repo workflow where projects relate to each other.
15
-
16
- **Unified MCP Registry**
17
- Define your MCP servers once in a global registry. Enable them per-project with a toggle. Configuration inherits from global → workspace → project, so common tools are always available while project-specific ones stay scoped.
18
-
19
- **Hierarchical Rules**
20
- Rules cascade from `~/.claude/rules/` down to project-specific rules. Global conventions apply everywhere; project-specific instructions stay local.
21
-
22
- **Persistent Memory**
23
- Store preferences, corrections, and patterns that persist across sessions. When you tell Claude "always use our logger instead of console.log," it remembers — not just for this session, but permanently.
7
+ AI coding assistants lose context between sessions. You explain your project structure, then close the terminal, and next time you're starting from scratch. Working across multiple repos is worse—you constantly re-explain how projects relate to each other.
24
8
 
25
- **Plugin System**
26
- Install LSP servers, MCP tools, and custom commands from plugin marketplaces. Plugins can be scoped globally or per-project.
9
+ MCP servers need configuration per-project. Rules and preferences are scattered. Each AI tool has its own config format.
27
10
 
28
- **Multi-Tool Output**
29
- Write one config, generate outputs for Claude Code (`.mcp.json`), Gemini CLI (`settings.json`), Codex CLI (`config.toml`), and Antigravity. Switch tools without reconfiguring.
30
-
31
- **Web UI**
32
- Visual interface for managing everything above. File explorer for `.claude` folders, MCP toggles, memory editor, workstream management. Runs locally on port 3333.
33
-
34
- ## Installation
35
-
36
- ```bash
37
- npm install -g coder-config
38
- ```
39
-
40
- Requires Node.js 18+.
41
-
42
- > **Migrating from @regression-io/claude-config?**
43
- > ```bash
44
- > npm uninstall -g @regression-io/claude-config
45
- > npm install -g coder-config
46
- > ```
47
- > Your settings in `~/.claude-config/` are preserved automatically.
11
+ Coder Config fixes this.
48
12
 
49
13
  ## Quick Start
50
14
 
51
15
  ```bash
52
- # 1. Install
53
16
  npm install -g coder-config
54
-
55
- # 2. Set up auto-start (recommended)
56
- coder-config ui install
57
-
58
- # 3. Open the UI
17
+ coder-config ui install # auto-start on login
59
18
  open http://localhost:3333
60
19
  ```
61
20
 
62
- The server starts automatically on login. Install as a PWA from your browser for app-like access.
21
+ That's it. The Web UI runs on port 3333. Install it as a PWA from your browser for app-like access.
63
22
 
64
- ### Updating
23
+ ## Core Concepts
65
24
 
66
- ```bash
67
- coder-config update
68
- # Then restart: coder-config ui stop && coder-config ui
69
- ```
25
+ ### Session Persistence
70
26
 
71
- ### CLI Alternative
27
+ When you're deep in a task and need to stop, run `/flush` in Claude Code. This saves your context—what you were working on, decisions made, files touched—to `.claude/session-context.md`.
72
28
 
73
- ```bash
74
- # Initialize a project
75
- coder-config init
76
-
77
- # Add MCPs to your project
78
- coder-config add postgres github
79
-
80
- # Generate .mcp.json for Claude Code
81
- coder-config apply
82
- ```
83
-
84
- ## CLI Commands
85
-
86
- Both `coder-config` and `claude-config` work identically.
87
-
88
- ### Project Commands
29
+ Next time you start Claude Code in that project, the context automatically loads. You pick up where you left off instead of re-explaining everything.
89
30
 
31
+ **Setup:**
90
32
  ```bash
91
- coder-config init # Initialize project
92
- coder-config apply # Generate .mcp.json from config
93
- coder-config show # Show current project config
94
- coder-config list # List available MCPs (✓ = active)
95
- coder-config add <mcp> [mcp...] # Add MCP(s) to project
96
- coder-config remove <mcp> [mcp...] # Remove MCP(s) from project
33
+ coder-config session install
97
34
  ```
98
35
 
99
- ### Memory Commands
36
+ This installs a hook that loads context on session start, plus the `/flush` command.
100
37
 
101
- ```bash
102
- coder-config memory # Show memory status
103
- coder-config memory init # Initialize project memory
104
- coder-config memory add <type> "<content>" # Add entry
105
- coder-config memory search <query> # Search all memory
38
+ ### Workstreams
106
39
 
107
- # Types: preference, correction, fact (global)
108
- # context, pattern, decision, issue, history (project)
109
- ```
40
+ A workstream groups related projects. When you're building a feature that spans an API, a frontend, and a shared library, you want Claude to understand they're connected.
110
41
 
111
- ### Environment Commands
42
+ Create a workstream, add your projects, and write some context rules:
112
43
 
113
44
  ```bash
114
- coder-config env # List environment variables
115
- coder-config env set <KEY> <value> # Set variable in .claude/.env
116
- coder-config env unset <KEY> # Remove variable
45
+ coder-config workstream create "User Auth"
46
+ coder-config workstream add "User Auth" ~/projects/api
47
+ coder-config workstream add "User Auth" ~/projects/frontend
48
+ coder-config workstream use "User Auth"
117
49
  ```
118
50
 
119
- ### Project Commands
51
+ Now Claude knows: these three projects are related, here's how they connect, and here's what we're building together.
120
52
 
121
- ```bash
122
- coder-config project # List registered projects
123
- coder-config project add [path] # Add project (defaults to cwd)
124
- coder-config project add [path] --name X # Add with custom display name
125
- coder-config project remove <name|path> # Remove from registry
126
- ```
53
+ The workstream stays active in your terminal. When you cd into any of those projects, Claude sees the full context. When you switch to unrelated work, deactivate it or use a different workstream.
127
54
 
128
- ### Workstream Commands
55
+ **Auto-activation**: Install the cd hook and workstreams activate automatically when you enter matching directories:
129
56
 
130
57
  ```bash
131
- coder-config workstream # List all workstreams
132
- coder-config workstream create "Name" # Create new workstream
133
- coder-config workstream delete <name> # Delete workstream
134
- coder-config workstream use <name> # Activate workstream (this terminal)
135
- coder-config workstream active # Show current active workstream
136
- coder-config workstream deactivate # Deactivate workstream (this terminal)
137
- coder-config workstream add <ws> <path> # Add project to workstream
138
- coder-config workstream remove <ws> <path> # Remove project from workstream
139
- coder-config workstream inject [--silent] # Output restriction + context (for hooks)
140
- coder-config workstream detect [path] # Detect workstream for directory
141
- coder-config workstream check-path <path> # Check if path is within workstream (exit 0/1)
142
- coder-config workstream install-hook # Install hook for Claude Code
143
- coder-config workstream install-hook --gemini # Install hook for Gemini CLI
144
- coder-config workstream install-hook --codex # Install hook for Codex CLI
145
- coder-config workstream install-hook --all # Install hooks for all supported tools
146
-
147
- # Folder auto-activation
148
- coder-config workstream add-trigger <ws> <folder> # Add trigger folder
149
- coder-config workstream remove-trigger <ws> <folder> # Remove trigger folder
150
- coder-config workstream auto-activate <ws> [on|off|default] # Set auto-activate
151
- coder-config workstream check-folder [path] [--json] # Check folder for matches
152
- coder-config workstream install-cd-hook # Install cd hook for shell
153
- coder-config workstream uninstall-cd-hook # Remove cd hook
154
- coder-config workstream cd-hook-status # Check cd hook status
58
+ coder-config workstream install-cd-hook
59
+ source ~/.zshrc
155
60
  ```
156
61
 
157
- **Per-terminal isolation**: With [shell integration](#shell-integration), each terminal can have its own active workstream:
158
- ```bash
159
- # Terminal 1
160
- coder-config workstream use project-a
62
+ Now `cd ~/projects/api` automatically activates the matching workstream.
161
63
 
162
- # Terminal 2
163
- coder-config workstream use project-b
164
- ```
64
+ ### MCP Servers
165
65
 
166
- When active, the AI receives a restriction telling it to only work within the workstream's directories.
66
+ MCP servers give Claude access to external tools—databases, APIs, file systems. Coder Config lets you define them once in a global registry, then enable them per-project.
167
67
 
168
- **Multi-tool support**: Workstreams work with Claude Code, Gemini CLI, and Codex CLI. Install hooks for your preferred tool(s):
68
+ Add an MCP to your project:
169
69
  ```bash
170
- # For Claude Code only
171
- coder-config workstream install-hook
172
-
173
- # For Gemini CLI only
174
- coder-config workstream install-hook --gemini
175
-
176
- # For Codex CLI only
177
- coder-config workstream install-hook --codex
178
-
179
- # For all supported tools
180
- coder-config workstream install-hook --all
70
+ coder-config add postgres github
71
+ coder-config apply
181
72
  ```
182
73
 
183
- **Folder auto-activation**: Automatically activate workstreams when you cd into matching directories:
184
- ```bash
185
- # Install the cd hook (adds function to ~/.zshrc or ~/.bashrc)
186
- coder-config workstream install-cd-hook
74
+ This generates `.mcp.json` which Claude Code reads. Environment variables use `${VAR}` syntax and load from `.claude/.env`.
187
75
 
188
- # Now when you cd into a project folder:
189
- cd ~/projects/my-app # Auto-activates matching workstream
190
- # Output: 📂 Workstream: My App
191
-
192
- # If multiple workstreams match, you'll be prompted:
193
- cd ~/projects
194
- # Output: Multiple workstreams match this folder:
195
- # 1) Frontend
196
- # 2) Backend
197
- # 0) Skip
198
- # Choose [0-2]:
199
- ```
76
+ ### Configuration Hierarchy
200
77
 
201
- **Trigger folders**: Besides project paths, you can add extra trigger folders:
202
- ```bash
203
- coder-config workstream add-trigger "My Work" ~/projects
204
- coder-config workstream remove-trigger "My Work" ~/projects
205
- ```
78
+ Settings cascade from global to project-specific:
206
79
 
207
- **Auto-activate setting**: Control per-workstream or globally:
208
- ```bash
209
- coder-config workstream auto-activate "My Work" on # Always auto-activate
210
- coder-config workstream auto-activate "My Work" off # Never auto-activate
211
- coder-config workstream auto-activate "My Work" default # Use global setting
212
80
  ```
213
-
214
- ### Loop Commands (Ralph Loop) - Experimental
215
-
216
- > **Note:** Ralph Loops is an experimental feature, disabled by default. Enable it in the Web UI under **Preferences > Experimental Features**.
217
-
218
- Ralph Loops enable autonomous development - Claude Code runs continuously until a task is completed.
219
-
220
- ```bash
221
- coder-config loop # List all loops
222
- coder-config loop create "Task description" # Create new loop
223
- coder-config loop create "Task" --workstream <name> # Create loop in workstream context
224
- coder-config loop start <id> # Start/resume a loop
225
- coder-config loop pause <id> # Pause loop at next safe point
226
- coder-config loop resume <id> # Resume paused loop
227
- coder-config loop cancel <id> # Cancel loop
228
- coder-config loop delete <id> # Delete loop and its data
229
- coder-config loop approve <id> # Approve plan (when in plan phase)
230
- coder-config loop complete <id> # Mark loop as complete
231
- coder-config loop status [id] # Show status (active loop if no id)
232
- coder-config loop active # Show current active loop
233
- coder-config loop history # Show completed loops
234
- coder-config loop config # Show loop configuration
235
- coder-config loop config --max-iterations 50 # Set max iterations
236
- coder-config loop config --max-cost 10.00 # Set max cost budget
237
- coder-config loop config --auto-approve-plan # Skip manual plan approval
81
+ ~/.claude/ # Global - applies everywhere
82
+ ~/projects/.claude/ # Workspace - applies to projects here
83
+ ~/projects/my-app/.claude/ # Project - this project only
238
84
  ```
239
85
 
240
- **Three-Phase Workflow**:
241
- 1. **Clarify** - Claude asks questions to understand requirements
242
- 2. **Plan** - Claude creates an implementation plan (requires approval)
243
- 3. **Execute** - Claude implements the plan until complete
86
+ Global rules like "always use conventional commits" go in `~/.claude/rules/`. Project-specific rules stay local.
244
87
 
245
- **Running a loop**:
246
- ```bash
247
- export CODER_LOOP_ID=<id>
248
- claude --continue "Your task description"
249
- ```
88
+ ### Memory vs Rules
250
89
 
251
- **Safety mechanisms**:
252
- - Iteration limits (default: 50)
253
- - Cost budget caps (default: $10)
254
- - Phase gates (manual plan approval)
255
- - Graceful pause on budget exceeded
90
+ **Rules** are prescriptive instructions that load automatically every session. Put them in `.claude/rules/*.md`:
91
+ - "Never use npm ci"
92
+ - "Always run tests before committing"
93
+ - "Use our custom logger, not console.log"
256
94
 
257
- ### Registry Commands
95
+ **Memory** is reference material for specific contexts. Store patterns, decisions, and history in `.claude/memory/`. Claude reads these when relevant (before architectural decisions, when debugging, etc.).
258
96
 
259
- ```bash
260
- coder-config registry # List MCPs in global registry
261
- coder-config registry add <name> '<json>' # Add MCP to global registry
262
- coder-config registry remove <name> # Remove MCP from registry
263
- ```
97
+ The difference: rules are always active, memory is consulted when needed.
264
98
 
265
- ### Updates
99
+ ### Plugins
100
+
101
+ Plugins provide skills, commands, LSP servers, and MCP tools. Install them from marketplaces:
266
102
 
267
103
  ```bash
268
- coder-config update # Check npm and install updates if available
269
- coder-config update --check # Check for updates without installing
270
- coder-config update /path/src # Update from local development source
104
+ claude /install coder-config@claude-config-plugins
271
105
  ```
272
106
 
273
- The UI checks for updates automatically and auto-updates when enabled in Preferences. After server updates, the UI auto-refreshes to load the new version.
107
+ Skills become available as slash commands (`/flush`, `/refactor`) and show up in Claude's available tools.
274
108
 
275
- ### Web UI
109
+ ## Web UI
276
110
 
277
- ```bash
278
- coder-config ui # Start UI on port 3333
279
- coder-config ui --port 8080 # Custom port
280
- coder-config ui /path/to/project # Specific project directory
281
- coder-config ui --foreground # Run in foreground (blocking)
282
- coder-config ui status # Check if daemon is running
283
- coder-config ui stop # Stop the daemon
284
-
285
- # Auto-start on login (macOS)
286
- coder-config ui install # Install LaunchAgent for auto-start
287
- coder-config ui uninstall # Remove auto-start
288
- ```
111
+ The UI at `localhost:3333` provides visual management for everything:
289
112
 
290
- **Daemon Mode**: By default, `coder-config ui` runs as a background daemon.
291
- The UI runs from your home directory and persists across terminal sessions.
292
- Switch between registered projects using the dropdown in the header.
113
+ - **Project Explorer** - Browse `.claude/` folders, edit configs
114
+ - **MCPs** - Toggle servers on/off, configure environment variables
115
+ - **Workstreams** - Create, edit, manage project groups
116
+ - **Memory** - Edit preferences, corrections, patterns
117
+ - **Sessions** - Install hooks, view saved context
118
+ - **Settings** - Configure Claude Code, Gemini CLI, Codex CLI, Antigravity
293
119
 
294
- **PWA / Auto-Start**: Install the UI as a PWA in your browser, then run `coder-config ui install`
295
- to have the server start automatically on login. Your PWA will always connect instantly.
120
+ The server runs as a daemon by default. It starts automatically on login if you ran `coder-config ui install`.
296
121
 
297
- ## Shell Integration
122
+ ## Common Workflows
298
123
 
299
- For full functionality, add to `~/.zshrc`:
124
+ ### Starting a new project
300
125
 
301
126
  ```bash
302
- source /path/to/coder-config/shell/claude-config.zsh
127
+ cd ~/projects/my-new-app
128
+ coder-config init
303
129
  ```
304
130
 
305
- This enables:
306
- - **Per-terminal workstreams** - `workstream use` activates for current terminal only
307
- - Auto-generates `.mcp.json` when entering a project with `.claude/mcps.json`
308
- - Tab completion for all commands
309
-
310
- ## Configuration Hierarchy
131
+ This creates `.claude/` with default structure. Edit `CLAUDE.md` to describe your project, add rules for your conventions.
311
132
 
312
- Settings merge from global to project to sub-project:
133
+ ### Ending a session
313
134
 
135
+ In Claude Code:
314
136
  ```
315
- ~/.claude/mcps.json # Global - applies everywhere
316
- ~/projects/.claude/mcps.json # Workspace - applies to projects here
317
- ~/projects/my-app/.claude/ # Project - specific to this project
318
- ~/projects/my-app/server/.claude/ # Sub-project - inherits from parent
137
+ /flush
319
138
  ```
320
139
 
321
- Sub-projects are automatically detected (folders with `.git`), or you can manually link any folder using "Add Sub-project" in the Web UI.
140
+ Context saves to `.claude/session-context.md`. Tomorrow, it loads automatically.
322
141
 
323
- ## Project Structure
142
+ ### Working across repos
324
143
 
325
- After `coder-config init`:
144
+ ```bash
145
+ # Create workstream
146
+ coder-config workstream create "Feature X"
147
+ coder-config workstream add "Feature X" ~/repos/api
148
+ coder-config workstream add "Feature X" ~/repos/web
326
149
 
327
- ```
328
- your-project/
329
- ├── .claude/
330
- │ ├── mcps.json # MCP configuration
331
- │ ├── settings.json # Claude Code settings
332
- │ ├── rules/ # Project rules (*.md)
333
- │ └── commands/ # Custom commands (*.md)
334
- └── .mcp.json # Generated - Claude Code reads this
335
- ```
150
+ # Edit rules in Web UI to describe how they connect
151
+ open http://localhost:3333
336
152
 
337
- ## MCP Configuration
338
-
339
- `.claude/mcps.json`:
340
-
341
- ```json
342
- {
343
- "mcpServers": {
344
- "filesystem": {
345
- "command": "npx",
346
- "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
347
- },
348
- "github": {
349
- "command": "npx",
350
- "args": ["-y", "@modelcontextprotocol/server-github"],
351
- "env": {
352
- "GITHUB_TOKEN": "${GITHUB_TOKEN}"
353
- }
354
- }
355
- }
356
- }
153
+ # Activate
154
+ coder-config workstream use "Feature X"
357
155
  ```
358
156
 
359
- Environment variables use `${VAR}` syntax and load from `.claude/.env`.
360
-
361
- ## Memory System
362
-
363
- Persistent memory for Claude Code sessions.
364
-
365
- **Global** (`~/.claude/memory/`)
366
-
367
- | File | Purpose |
368
- |------|---------|
369
- | `preferences.md` | User preferences and style |
370
- | `corrections.md` | Mistakes to avoid |
371
- | `facts.md` | Environment facts |
372
-
373
- **Project** (`<project>/.claude/memory/`)
374
-
375
- | File | Purpose |
376
- |------|---------|
377
- | `context.md` | Project overview |
378
- | `patterns.md` | Code patterns |
379
- | `decisions.md` | Architecture decisions |
380
- | `issues.md` | Known issues |
381
- | `history.md` | Session history |
382
-
383
- Manage via Web UI or edit files directly.
384
-
385
- ## Session Persistence
157
+ ### Adding an MCP server
386
158
 
387
- Save context from a Claude Code session and restore it on the next session start.
159
+ ```bash
160
+ # Add to this project
161
+ coder-config add postgres
388
162
 
389
- ### How It Works
163
+ # Set credentials
164
+ coder-config env set POSTGRES_URL "postgres://..."
390
165
 
391
- 1. **Save context** - Use `/flush` in Claude Code to write a context summary
392
- 2. **Auto-restore** - The `session-start` hook injects saved context into your next session
166
+ # Generate .mcp.json
167
+ coder-config apply
168
+ ```
393
169
 
394
- Context is stored per-project in `.claude/session-context.md`.
170
+ ---
395
171
 
396
- ### Setup
172
+ ## Reference
397
173
 
398
- **From the UI:** Go to **System > Sessions** and click "Install All"
174
+ Full command reference for power users.
399
175
 
400
- **From the CLI:**
176
+ ### Session Commands
401
177
  ```bash
402
- coder-config session install
178
+ coder-config session # Show status
179
+ coder-config session install # Install hooks + /flush command
180
+ coder-config session clear # Clear saved context
403
181
  ```
404
182
 
405
- This installs the SessionStart hook and the `/flush` command.
406
-
407
- ### CLI Commands
408
-
183
+ ### Workstream Commands
409
184
  ```bash
410
- coder-config session # Show session status
411
- coder-config session install # Install hooks and /flush command
412
- coder-config session clear # Clear saved context
185
+ coder-config workstream # List all
186
+ coder-config workstream create "Name" # Create
187
+ coder-config workstream delete <name> # Delete
188
+ coder-config workstream use <name> # Activate (this terminal)
189
+ coder-config workstream add <ws> <path> # Add project
190
+ coder-config workstream remove <ws> <path> # Remove project
191
+ coder-config workstream install-cd-hook # Auto-activate on cd
413
192
  ```
414
193
 
415
- ### Storage Location
416
-
417
- Session context is stored in each project at `.claude/session-context.md`.
418
-
419
- ## Workstreams
420
-
421
- Workstreams are **context sets** for multi-project workflows. They group related projects and inject context rules into every Claude session.
422
-
423
- ### Why Workstreams?
424
-
425
- When working on complex features that span multiple repos (e.g., REST API + UI + shared library), you need Claude to understand the broader context. Workstreams solve this by:
426
-
427
- 1. Grouping related projects together
428
- 2. Defining rules specific to that workflow
429
- 3. Automatically injecting those rules into every Claude session
430
-
431
- ### Example
432
-
194
+ ### MCP Commands
433
195
  ```bash
434
- # Create a workstream for user authentication feature
435
- coder-config workstream create "User Auth"
436
-
437
- # Add related projects
438
- coder-config workstream add "User Auth" ~/projects/api
439
- coder-config workstream add "User Auth" ~/projects/ui
440
- coder-config workstream add "User Auth" ~/projects/shared
441
-
442
- # Activate it
443
- coder-config workstream use "User Auth"
196
+ coder-config list # Show available MCPs
197
+ coder-config add <mcp> # Add to project
198
+ coder-config remove <mcp> # Remove from project
199
+ coder-config apply # Generate .mcp.json
200
+ coder-config registry # List global registry
444
201
  ```
445
202
 
446
- Then in the Web UI, edit the workstream to add rules like:
447
- > Focus on user authentication flow. Use JWT tokens. React Query for state management. PostgreSQL for persistence.
448
-
449
- ### Hook Integration
450
-
451
- For rules to be injected automatically, install the pre-prompt hook:
452
-
453
- **Option 1: One-click install (recommended)**
454
- - Open Web UI → Workstreams → Click "Install Hook Automatically"
455
-
456
- **Option 2: Manual**
203
+ ### Memory Commands
457
204
  ```bash
458
- # Add to ~/.claude/hooks/pre-prompt.sh
459
- coder-config workstream inject --silent
205
+ coder-config memory # Show status
206
+ coder-config memory init # Initialize project memory
207
+ coder-config memory add <type> "<text>" # Add entry
208
+ coder-config memory search <query> # Search
460
209
  ```
461
210
 
462
- Once installed, your active workstream's rules are prepended to every Claude session.
463
-
464
- ### Activity Tracking & Suggestions
465
-
466
- Coder-config can track which files you work on and suggest workstreams based on patterns:
467
-
468
- **How it works:**
469
- 1. A post-response hook logs file paths accessed during Claude sessions
470
- 2. Co-activity patterns are detected (projects frequently worked on together)
471
- 3. Workstream suggestions appear in the UI based on these patterns
472
-
473
- **Setup (optional):**
211
+ ### Environment Commands
474
212
  ```bash
475
- # Install the activity tracking hook
476
- # Add to ~/.claude/hooks/post-response.sh:
477
- source /path/to/coder-config/hooks/activity-track.sh
213
+ coder-config env # List variables
214
+ coder-config env set KEY value # Set
215
+ coder-config env unset KEY # Remove
478
216
  ```
479
217
 
480
- **In the Web UI:**
481
- - Activity Insights panel shows sessions, files tracked, and active projects
482
- - Suggested Workstreams appear when patterns are detected
483
- - Click "Create" to open pre-filled dialog (tweak projects as needed)
484
- - Click "X" to dismiss suggestions you don't want
485
-
486
- ## Web UI Features
487
-
488
- | Feature | Description |
489
- |---------|-------------|
490
- | **Project Explorer** | Browse and edit `.claude/` folders across your project hierarchy |
491
- | **Claude Code Settings** | Visual editor for permissions, model, hooks, and behavior |
492
- | **Gemini CLI Settings** | Configure model, display options, and sandbox mode |
493
- | **Codex CLI Settings** | Configure model, security, MCP servers, and features |
494
- | **Antigravity Settings** | Configure security policies, browser allowlist, and agent mode |
495
- | **MCP Registry** | Search GitHub/npm, add and configure MCP servers |
496
- | **Plugins** | Browse marketplaces, install plugins with scope control |
497
- | **Memory** | Manage preferences, corrections, patterns, and decisions |
498
- | **Workstreams** | Group related projects with shared context rules |
499
-
500
- Additional features: project/workstream switchers in header, sub-project detection, dark mode, auto-updates.
501
-
502
- ## Plugins
503
-
504
- Claude Code plugins extend functionality with LSP servers, MCP servers, commands, and always-on guidance. **Plugins replace templates** - instead of static files that can become stale, plugins are always active and update automatically.
505
-
506
- ### Why Plugins Over Templates?
507
-
508
- | Aspect | Plugins |
509
- |--------|---------|
510
- | Delivery | Enable plugin once |
511
- | Updates | Auto-refresh from marketplace |
512
- | Freshness | Always current |
513
- | Scope | Global, project, or local |
514
- | Discovery | Browse marketplaces |
515
-
516
- ### Installing Plugins
517
-
518
- **From CLI:**
218
+ ### Project Commands
519
219
  ```bash
520
- # Add the coder-config plugins marketplace
521
- claude plugin marketplace add regression-io/claude-config-plugins
522
-
523
- # Install framework-specific plugins
524
- claude plugin install fastapi-support@claude-config-plugins
525
- claude plugin install react-typescript@claude-config-plugins
526
- claude plugin install python-support@claude-config-plugins
220
+ coder-config project # List registered
221
+ coder-config project add [path] # Register project
222
+ coder-config project remove <id> # Unregister
527
223
  ```
528
224
 
529
- **From Web UI:**
530
- 1. Open Project Explorer
531
- 2. Click the **+** menu on any project folder
532
- 3. Select **Install Plugins**
533
- 4. Toggle plugins on/off with scope selection (Project/Global/Local)
534
-
535
- ### Plugin Directory
536
-
537
- The **Plugins** page shows all available plugins:
538
- - Filter by marketplace, category, source type (Anthropic/Community), installed status
539
- - Search by name or description
540
- - View plugin details (LSP/MCP/Commands included)
541
-
542
- ### Marketplaces
543
-
544
- Plugins come from marketplaces (Git repositories):
545
- - **claude-plugins-official** - Anthropic's official plugins
546
- - **regression-io/claude-config-plugins** - Framework and language plugins
547
- - Add community marketplaces via "Manage Marketplaces" in the filter dropdown
548
-
549
- Supported marketplace formats:
550
- - `owner/repo` — GitHub shorthand
551
- - `https://github.com/owner/repo` — Full URL
552
- - `/local/path` — Local directory
553
-
554
- ## Claude Code Settings
555
-
556
- The Web UI provides a visual editor for `~/.claude/settings.json`:
557
-
558
- ### Permissions
559
- Configure what Claude Code can do automatically:
560
- - **Allow** - Tools that run without asking
561
- - **Ask** - Tools that require confirmation
562
- - **Deny** - Tools that are blocked
563
-
564
- Pattern examples:
565
- ```
566
- Bash(npm run build) # Specific command
567
- Bash(npm:*) # Prefix match (npm anything)
568
- Read(**) # All file reads
569
- Edit(src/**) # Edit files in src/
570
- mcp__github__* # All GitHub MCP tools
225
+ ### UI Commands
226
+ ```bash
227
+ coder-config ui # Start (daemon mode)
228
+ coder-config ui --foreground # Start (blocking)
229
+ coder-config ui status # Check if running
230
+ coder-config ui stop # Stop daemon
231
+ coder-config ui install # Auto-start on login
232
+ coder-config ui uninstall # Remove auto-start
571
233
  ```
572
234
 
573
- ### Model Selection
574
- Choose your preferred Claude model (Sonnet 4, Opus 4.5, etc.)
575
-
576
- ### Behavior
577
- - Auto-accept edits
578
- - Verbose mode
579
- - Enable/disable MCP servers
580
-
581
- ## Gemini CLI Settings
582
-
583
- The Web UI provides a visual editor for `~/.gemini/settings.json`:
584
-
585
- ### Model Selection
586
- Choose Gemini model (2.5 Pro, 2.5 Flash, etc.) and enable preview features.
587
-
588
- ### Display Options
589
- Configure theme, token count display, diff view, and streaming.
590
-
591
- ### General Settings
592
- - Vim keybindings
593
- - Auto-save
594
- - Check for updates
595
-
596
- ### Sandbox Mode
597
- Control command execution safety (enabled/disabled).
598
-
599
- ## Codex CLI Settings
600
-
601
- The Web UI provides a visual editor for `~/.codex/config.toml`:
602
-
603
- ### Model Settings
604
- - **Model** - Select GPT-5.2 Codex, GPT-5, o3-mini, etc.
605
- - **Reasoning Effort** - Control thoroughness (minimal to xhigh)
606
-
607
- ### Security
608
- - **Approval Policy** - When to ask for command approval (on-request, untrusted, on-failure, never)
609
- - **Sandbox Mode** - Filesystem access level (read-only, workspace-write, full-access)
610
-
611
- ### MCP Servers
612
- Configure MCP servers for Codex CLI with the same format as other tools.
613
-
614
- ### Features
615
- Toggle feature flags like shell snapshots and web search.
616
-
617
- ### Display & History
618
- Configure TUI animations, notifications, and session history persistence.
619
-
620
- For full configuration options, see [Codex CLI docs](https://developers.openai.com/codex/config-reference/).
621
-
622
- ## Antigravity Settings
623
-
624
- The Web UI provides a visual editor for `~/.gemini/antigravity/settings.json`:
625
-
626
- ### Security Policies
627
- | Policy | Options |
628
- |--------|---------|
629
- | **Terminal Execution** | Off, Auto, Turbo |
630
- | **Code Review** | Enabled, Disabled |
631
- | **JS Execution** | Sandboxed, Direct |
632
-
633
- ### MCP Servers
634
- Configure MCP servers for Antigravity. Note: Antigravity does NOT support `${VAR}` interpolation - variables are resolved to actual values.
635
-
636
- ### Browser Allowlist
637
- Control which URLs Antigravity can access during sessions.
638
-
639
- ### Agent Mode
640
- Configure autonomous multi-step operations, iteration limits, and confirmation requirements.
641
-
642
- ## Preferences
643
-
644
- User settings stored in `~/.claude-config/config.json`:
645
-
646
- ```json
647
- {
648
- "toolsDir": "~/mcp-tools",
649
- "registryPath": "~/.claude/registry.json",
650
- "ui": {
651
- "port": 3333,
652
- "openBrowser": true
653
- }
654
- }
235
+ ### Update Commands
236
+ ```bash
237
+ coder-config update # Check and install updates
238
+ coder-config update --check # Check only
655
239
  ```
656
240
 
657
- | Key | Description |
658
- |-----|-------------|
659
- | `toolsDir` | Directory for local MCP tools |
660
- | `registryPath` | Path to custom MCP registry |
661
- | `ui.port` | Default port for web UI |
662
- | `ui.openBrowser` | Auto-open browser on `coder-config ui` |
241
+ ---
663
242
 
664
243
  ## Requirements
665
244
 
666
245
  - Node.js 18+
667
- - Build tools (for newer Node.js versions without prebuilt binaries):
668
- - **macOS**: Xcode Command Line Tools (`xcode-select --install`)
669
- - **Linux**: `build-essential` package
670
- - **Windows**: Visual Studio Build Tools
246
+ - For native dependencies: Xcode CLI tools (macOS), build-essential (Linux), or VS Build Tools (Windows)
671
247
 
672
248
  ## Development
673
249
 
package/lib/constants.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * Constants and tool path configurations
3
3
  */
4
4
 
5
- const VERSION = '0.43.21';
5
+ const VERSION = '0.43.22';
6
6
 
7
7
  // Tool-specific path configurations
8
8
  const TOOL_PATHS = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coder-config",
3
- "version": "0.43.21",
3
+ "version": "0.43.22",
4
4
  "description": "Configuration manager for AI coding tools - Claude Code, Gemini CLI, Codex CLI, Antigravity. Manage MCPs, rules, permissions, memory, and workstreams.",
5
5
  "author": "regression.io",
6
6
  "main": "config-loader.js",