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.
- package/README.md +134 -558
- package/lib/constants.js +1 -1
- 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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
23
|
+
## Core Concepts
|
|
65
24
|
|
|
66
|
-
|
|
67
|
-
coder-config update
|
|
68
|
-
# Then restart: coder-config ui stop && coder-config ui
|
|
69
|
-
```
|
|
25
|
+
### Session Persistence
|
|
70
26
|
|
|
71
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
36
|
+
This installs a hook that loads context on session start, plus the `/flush` command.
|
|
100
37
|
|
|
101
|
-
|
|
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
|
-
|
|
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
|
-
|
|
42
|
+
Create a workstream, add your projects, and write some context rules:
|
|
112
43
|
|
|
113
44
|
```bash
|
|
114
|
-
coder-config
|
|
115
|
-
coder-config
|
|
116
|
-
coder-config
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
132
|
-
|
|
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
|
-
|
|
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
|
-
|
|
163
|
-
coder-config workstream use project-b
|
|
164
|
-
```
|
|
64
|
+
### MCP Servers
|
|
165
65
|
|
|
166
|
-
|
|
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
|
-
|
|
68
|
+
Add an MCP to your project:
|
|
169
69
|
```bash
|
|
170
|
-
|
|
171
|
-
coder-config
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
246
|
-
```bash
|
|
247
|
-
export CODER_LOOP_ID=<id>
|
|
248
|
-
claude --continue "Your task description"
|
|
249
|
-
```
|
|
88
|
+
### Memory vs Rules
|
|
250
89
|
|
|
251
|
-
**
|
|
252
|
-
-
|
|
253
|
-
-
|
|
254
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
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
|
|
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
|
-
|
|
107
|
+
Skills become available as slash commands (`/flush`, `/refactor`) and show up in Claude's available tools.
|
|
274
108
|
|
|
275
|
-
|
|
109
|
+
## Web UI
|
|
276
110
|
|
|
277
|
-
|
|
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
|
-
**
|
|
291
|
-
|
|
292
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
122
|
+
## Common Workflows
|
|
298
123
|
|
|
299
|
-
|
|
124
|
+
### Starting a new project
|
|
300
125
|
|
|
301
126
|
```bash
|
|
302
|
-
|
|
127
|
+
cd ~/projects/my-new-app
|
|
128
|
+
coder-config init
|
|
303
129
|
```
|
|
304
130
|
|
|
305
|
-
This
|
|
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
|
-
|
|
133
|
+
### Ending a session
|
|
313
134
|
|
|
135
|
+
In Claude Code:
|
|
314
136
|
```
|
|
315
|
-
|
|
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
|
-
|
|
140
|
+
Context saves to `.claude/session-context.md`. Tomorrow, it loads automatically.
|
|
322
141
|
|
|
323
|
-
|
|
142
|
+
### Working across repos
|
|
324
143
|
|
|
325
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
159
|
+
```bash
|
|
160
|
+
# Add to this project
|
|
161
|
+
coder-config add postgres
|
|
388
162
|
|
|
389
|
-
|
|
163
|
+
# Set credentials
|
|
164
|
+
coder-config env set POSTGRES_URL "postgres://..."
|
|
390
165
|
|
|
391
|
-
|
|
392
|
-
|
|
166
|
+
# Generate .mcp.json
|
|
167
|
+
coder-config apply
|
|
168
|
+
```
|
|
393
169
|
|
|
394
|
-
|
|
170
|
+
---
|
|
395
171
|
|
|
396
|
-
|
|
172
|
+
## Reference
|
|
397
173
|
|
|
398
|
-
|
|
174
|
+
Full command reference for power users.
|
|
399
175
|
|
|
400
|
-
|
|
176
|
+
### Session Commands
|
|
401
177
|
```bash
|
|
402
|
-
coder-config session
|
|
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
|
-
|
|
406
|
-
|
|
407
|
-
### CLI Commands
|
|
408
|
-
|
|
183
|
+
### Workstream Commands
|
|
409
184
|
```bash
|
|
410
|
-
coder-config
|
|
411
|
-
coder-config
|
|
412
|
-
coder-config
|
|
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
|
-
###
|
|
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
|
-
#
|
|
435
|
-
coder-config
|
|
436
|
-
|
|
437
|
-
#
|
|
438
|
-
coder-config
|
|
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
|
-
|
|
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
|
-
#
|
|
459
|
-
coder-config
|
|
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
|
-
|
|
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
|
-
#
|
|
476
|
-
|
|
477
|
-
|
|
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
|
-
|
|
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
|
-
|
|
521
|
-
|
|
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
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
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
|
-
###
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
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
|
-
|
|
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
|
-
-
|
|
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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "coder-config",
|
|
3
|
-
"version": "0.43.
|
|
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",
|