coder-config 0.40.1

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 (68) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +553 -0
  3. package/cli.js +431 -0
  4. package/config-loader.js +294 -0
  5. package/hooks/activity-track.sh +56 -0
  6. package/hooks/codex-workstream.sh +44 -0
  7. package/hooks/gemini-workstream.sh +44 -0
  8. package/hooks/workstream-inject.sh +20 -0
  9. package/lib/activity.js +283 -0
  10. package/lib/apply.js +344 -0
  11. package/lib/cli.js +267 -0
  12. package/lib/config.js +171 -0
  13. package/lib/constants.js +55 -0
  14. package/lib/env.js +114 -0
  15. package/lib/index.js +47 -0
  16. package/lib/init.js +122 -0
  17. package/lib/mcps.js +139 -0
  18. package/lib/memory.js +201 -0
  19. package/lib/projects.js +138 -0
  20. package/lib/registry.js +83 -0
  21. package/lib/utils.js +129 -0
  22. package/lib/workstreams.js +652 -0
  23. package/package.json +80 -0
  24. package/scripts/capture-screenshots.js +142 -0
  25. package/scripts/postinstall.js +122 -0
  26. package/scripts/release.sh +71 -0
  27. package/scripts/sync-version.js +77 -0
  28. package/scripts/tauri-prepare.js +328 -0
  29. package/shared/mcp-registry.json +76 -0
  30. package/ui/dist/assets/index-DbZ3_HBD.js +3204 -0
  31. package/ui/dist/assets/index-DjLdm3Mr.css +32 -0
  32. package/ui/dist/icons/icon-192.svg +16 -0
  33. package/ui/dist/icons/icon-512.svg +16 -0
  34. package/ui/dist/index.html +39 -0
  35. package/ui/dist/manifest.json +25 -0
  36. package/ui/dist/sw.js +24 -0
  37. package/ui/dist/tutorial/claude-settings.png +0 -0
  38. package/ui/dist/tutorial/header.png +0 -0
  39. package/ui/dist/tutorial/mcp-registry.png +0 -0
  40. package/ui/dist/tutorial/memory-view.png +0 -0
  41. package/ui/dist/tutorial/permissions.png +0 -0
  42. package/ui/dist/tutorial/plugins-view.png +0 -0
  43. package/ui/dist/tutorial/project-explorer.png +0 -0
  44. package/ui/dist/tutorial/projects-view.png +0 -0
  45. package/ui/dist/tutorial/sidebar.png +0 -0
  46. package/ui/dist/tutorial/tutorial-view.png +0 -0
  47. package/ui/dist/tutorial/workstreams-view.png +0 -0
  48. package/ui/routes/activity.js +58 -0
  49. package/ui/routes/commands.js +74 -0
  50. package/ui/routes/configs.js +329 -0
  51. package/ui/routes/env.js +40 -0
  52. package/ui/routes/file-explorer.js +668 -0
  53. package/ui/routes/index.js +41 -0
  54. package/ui/routes/mcp-discovery.js +235 -0
  55. package/ui/routes/memory.js +385 -0
  56. package/ui/routes/package.json +3 -0
  57. package/ui/routes/plugins.js +466 -0
  58. package/ui/routes/projects.js +198 -0
  59. package/ui/routes/registry.js +30 -0
  60. package/ui/routes/rules.js +74 -0
  61. package/ui/routes/search.js +125 -0
  62. package/ui/routes/settings.js +381 -0
  63. package/ui/routes/subprojects.js +208 -0
  64. package/ui/routes/tool-sync.js +127 -0
  65. package/ui/routes/updates.js +339 -0
  66. package/ui/routes/workstreams.js +224 -0
  67. package/ui/server.cjs +773 -0
  68. package/ui/terminal-server.cjs +160 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 regression.io
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,553 @@
1
+ # Coder Config
2
+
3
+ Configuration manager for AI coding tools — **Claude Code**, **Gemini CLI**, **Codex CLI**, and **Antigravity**. Manage MCPs, rules, permissions, memory, and workstreams through a visual UI or CLI.
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
+ ## Why?
8
+
9
+ One tool to configure all your AI coding assistants:
10
+
11
+ | | |
12
+ |---|---|
13
+ | **MCP Servers** | Configure without editing JSON/TOML files |
14
+ | **Permissions** | Visual editor for allow/deny rules |
15
+ | **Multi-Tool** | Claude Code, Gemini CLI, Codex CLI, Antigravity |
16
+ | **Rules & Commands** | Manage project-specific guidelines |
17
+ | **Memory** | Persistent context across sessions |
18
+ | **Workstreams** | Group projects with shared context |
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ npm install -g coder-config
24
+ ```
25
+
26
+ Requires Node.js 18+.
27
+
28
+ > **Migrating from @regression-io/claude-config?**
29
+ > ```bash
30
+ > npm uninstall -g @regression-io/claude-config
31
+ > npm install -g coder-config
32
+ > ```
33
+ > Your settings in `~/.claude-config/` are preserved automatically.
34
+
35
+ ## Quick Start
36
+
37
+ ```bash
38
+ # 1. Install
39
+ npm install -g coder-config
40
+
41
+ # 2. Set up auto-start (recommended)
42
+ coder-config ui install
43
+
44
+ # 3. Open the UI
45
+ open http://localhost:3333
46
+ ```
47
+
48
+ The server starts automatically on login. Install as a PWA from your browser for app-like access.
49
+
50
+ ### Updating
51
+
52
+ ```bash
53
+ coder-config update
54
+ # Then restart: coder-config ui stop && coder-config ui
55
+ ```
56
+
57
+ ### CLI Alternative
58
+
59
+ ```bash
60
+ # Initialize a project
61
+ coder-config init
62
+
63
+ # Add MCPs to your project
64
+ coder-config add postgres github
65
+
66
+ # Generate .mcp.json for Claude Code
67
+ coder-config apply
68
+ ```
69
+
70
+ ## CLI Commands
71
+
72
+ Both `coder-config` and `claude-config` work identically.
73
+
74
+ ### Project Commands
75
+
76
+ ```bash
77
+ coder-config init # Initialize project
78
+ coder-config apply # Generate .mcp.json from config
79
+ coder-config show # Show current project config
80
+ coder-config list # List available MCPs (✓ = active)
81
+ coder-config add <mcp> [mcp...] # Add MCP(s) to project
82
+ coder-config remove <mcp> [mcp...] # Remove MCP(s) from project
83
+ ```
84
+
85
+ ### Memory Commands
86
+
87
+ ```bash
88
+ coder-config memory # Show memory status
89
+ coder-config memory init # Initialize project memory
90
+ coder-config memory add <type> "<content>" # Add entry
91
+ coder-config memory search <query> # Search all memory
92
+
93
+ # Types: preference, correction, fact (global)
94
+ # context, pattern, decision, issue, history (project)
95
+ ```
96
+
97
+ ### Environment Commands
98
+
99
+ ```bash
100
+ coder-config env # List environment variables
101
+ coder-config env set <KEY> <value> # Set variable in .claude/.env
102
+ coder-config env unset <KEY> # Remove variable
103
+ ```
104
+
105
+ ### Project Commands
106
+
107
+ ```bash
108
+ coder-config project # List registered projects
109
+ coder-config project add [path] # Add project (defaults to cwd)
110
+ coder-config project add [path] --name X # Add with custom display name
111
+ coder-config project remove <name|path> # Remove from registry
112
+ ```
113
+
114
+ ### Workstream Commands
115
+
116
+ ```bash
117
+ coder-config workstream # List all workstreams
118
+ coder-config workstream create "Name" # Create new workstream
119
+ coder-config workstream delete <name> # Delete workstream
120
+ coder-config workstream use <name> # Activate workstream (this terminal)
121
+ coder-config workstream active # Show current active workstream
122
+ coder-config workstream deactivate # Deactivate workstream (this terminal)
123
+ coder-config workstream add <ws> <path> # Add project to workstream
124
+ coder-config workstream remove <ws> <path> # Remove project from workstream
125
+ coder-config workstream inject [--silent] # Output restriction + context (for hooks)
126
+ coder-config workstream detect [path] # Detect workstream for directory
127
+ coder-config workstream check-path <path> # Check if path is within workstream (exit 0/1)
128
+ coder-config workstream install-hook # Install hook for Claude Code
129
+ coder-config workstream install-hook --gemini # Install hook for Gemini CLI
130
+ coder-config workstream install-hook --codex # Install hook for Codex CLI
131
+ coder-config workstream install-hook --all # Install hooks for all supported tools
132
+ ```
133
+
134
+ **Per-terminal isolation**: With [shell integration](#shell-integration), each terminal can have its own active workstream:
135
+ ```bash
136
+ # Terminal 1
137
+ coder-config workstream use project-a
138
+
139
+ # Terminal 2
140
+ coder-config workstream use project-b
141
+ ```
142
+
143
+ When active, the AI receives a restriction telling it to only work within the workstream's directories.
144
+
145
+ **Multi-tool support**: Workstreams work with Claude Code, Gemini CLI, and Codex CLI. Install hooks for your preferred tool(s):
146
+ ```bash
147
+ # For Claude Code only
148
+ coder-config workstream install-hook
149
+
150
+ # For Gemini CLI only
151
+ coder-config workstream install-hook --gemini
152
+
153
+ # For Codex CLI only
154
+ coder-config workstream install-hook --codex
155
+
156
+ # For all supported tools
157
+ coder-config workstream install-hook --all
158
+ ```
159
+
160
+ ### Registry Commands
161
+
162
+ ```bash
163
+ coder-config registry # List MCPs in global registry
164
+ coder-config registry add <name> '<json>' # Add MCP to global registry
165
+ coder-config registry remove <name> # Remove MCP from registry
166
+ ```
167
+
168
+ ### Updates
169
+
170
+ ```bash
171
+ coder-config update # Check npm and install updates if available
172
+ coder-config update --check # Check for updates without installing
173
+ coder-config update /path/src # Update from local development source
174
+ ```
175
+
176
+ The UI also checks for updates automatically and shows a notification when a new version is available.
177
+
178
+ ### Web UI
179
+
180
+ ```bash
181
+ coder-config ui # Start UI on port 3333
182
+ coder-config ui --port 8080 # Custom port
183
+ coder-config ui /path/to/project # Specific project directory
184
+ coder-config ui --foreground # Run in foreground (blocking)
185
+ coder-config ui status # Check if daemon is running
186
+ coder-config ui stop # Stop the daemon
187
+
188
+ # Auto-start on login (macOS)
189
+ coder-config ui install # Install LaunchAgent for auto-start
190
+ coder-config ui uninstall # Remove auto-start
191
+ ```
192
+
193
+ **Daemon Mode**: By default, `coder-config ui` runs as a background daemon.
194
+ The UI runs from your home directory and persists across terminal sessions.
195
+ Switch between registered projects using the dropdown in the header.
196
+
197
+ **PWA / Auto-Start**: Install the UI as a PWA in your browser, then run `coder-config ui install`
198
+ to have the server start automatically on login. Your PWA will always connect instantly.
199
+
200
+ ## Shell Integration
201
+
202
+ For full functionality, add to `~/.zshrc`:
203
+
204
+ ```bash
205
+ source /path/to/coder-config/shell/claude-config.zsh
206
+ ```
207
+
208
+ This enables:
209
+ - **Per-terminal workstreams** - `workstream use` activates for current terminal only
210
+ - Auto-generates `.mcp.json` when entering a project with `.claude/mcps.json`
211
+ - Tab completion for all commands
212
+
213
+ ## Configuration Hierarchy
214
+
215
+ Settings merge from global to project to sub-project:
216
+
217
+ ```
218
+ ~/.claude/mcps.json # Global - applies everywhere
219
+ ~/projects/.claude/mcps.json # Workspace - applies to projects here
220
+ ~/projects/my-app/.claude/ # Project - specific to this project
221
+ ~/projects/my-app/server/.claude/ # Sub-project - inherits from parent
222
+ ```
223
+
224
+ Sub-projects are automatically detected (folders with `.git`), or you can manually link any folder using "Add Sub-project" in the Web UI.
225
+
226
+ ## Project Structure
227
+
228
+ After `coder-config init`:
229
+
230
+ ```
231
+ your-project/
232
+ ├── .claude/
233
+ │ ├── mcps.json # MCP configuration
234
+ │ ├── settings.json # Claude Code settings
235
+ │ ├── rules/ # Project rules (*.md)
236
+ │ └── commands/ # Custom commands (*.md)
237
+ └── .mcp.json # Generated - Claude Code reads this
238
+ ```
239
+
240
+ ## MCP Configuration
241
+
242
+ `.claude/mcps.json`:
243
+
244
+ ```json
245
+ {
246
+ "mcpServers": {
247
+ "filesystem": {
248
+ "command": "npx",
249
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
250
+ },
251
+ "github": {
252
+ "command": "npx",
253
+ "args": ["-y", "@modelcontextprotocol/server-github"],
254
+ "env": {
255
+ "GITHUB_TOKEN": "${GITHUB_TOKEN}"
256
+ }
257
+ }
258
+ }
259
+ }
260
+ ```
261
+
262
+ Environment variables use `${VAR}` syntax and load from `.claude/.env`.
263
+
264
+ ## Memory System
265
+
266
+ Persistent memory for Claude Code sessions.
267
+
268
+ **Global** (`~/.claude/memory/`)
269
+
270
+ | File | Purpose |
271
+ |------|---------|
272
+ | `preferences.md` | User preferences and style |
273
+ | `corrections.md` | Mistakes to avoid |
274
+ | `facts.md` | Environment facts |
275
+
276
+ **Project** (`<project>/.claude/memory/`)
277
+
278
+ | File | Purpose |
279
+ |------|---------|
280
+ | `context.md` | Project overview |
281
+ | `patterns.md` | Code patterns |
282
+ | `decisions.md` | Architecture decisions |
283
+ | `issues.md` | Known issues |
284
+ | `history.md` | Session history |
285
+
286
+ Manage via Web UI or edit files directly.
287
+
288
+ ## Workstreams
289
+
290
+ Workstreams are **context sets** for multi-project workflows. They group related projects and inject context rules into every Claude session.
291
+
292
+ ### Why Workstreams?
293
+
294
+ 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:
295
+
296
+ 1. Grouping related projects together
297
+ 2. Defining rules specific to that workflow
298
+ 3. Automatically injecting those rules into every Claude session
299
+
300
+ ### Example
301
+
302
+ ```bash
303
+ # Create a workstream for user authentication feature
304
+ coder-config workstream create "User Auth"
305
+
306
+ # Add related projects
307
+ coder-config workstream add "User Auth" ~/projects/api
308
+ coder-config workstream add "User Auth" ~/projects/ui
309
+ coder-config workstream add "User Auth" ~/projects/shared
310
+
311
+ # Activate it
312
+ coder-config workstream use "User Auth"
313
+ ```
314
+
315
+ Then in the Web UI, edit the workstream to add rules like:
316
+ > Focus on user authentication flow. Use JWT tokens. React Query for state management. PostgreSQL for persistence.
317
+
318
+ ### Hook Integration
319
+
320
+ For rules to be injected automatically, install the pre-prompt hook:
321
+
322
+ **Option 1: One-click install (recommended)**
323
+ - Open Web UI → Workstreams → Click "Install Hook Automatically"
324
+
325
+ **Option 2: Manual**
326
+ ```bash
327
+ # Add to ~/.claude/hooks/pre-prompt.sh
328
+ coder-config workstream inject --silent
329
+ ```
330
+
331
+ Once installed, your active workstream's rules are prepended to every Claude session.
332
+
333
+ ### Activity Tracking & Suggestions
334
+
335
+ Coder-config can track which files you work on and suggest workstreams based on patterns:
336
+
337
+ **How it works:**
338
+ 1. A post-response hook logs file paths accessed during Claude sessions
339
+ 2. Co-activity patterns are detected (projects frequently worked on together)
340
+ 3. Workstream suggestions appear in the UI based on these patterns
341
+
342
+ **Setup (optional):**
343
+ ```bash
344
+ # Install the activity tracking hook
345
+ # Add to ~/.claude/hooks/post-response.sh:
346
+ source /path/to/coder-config/hooks/activity-track.sh
347
+ ```
348
+
349
+ **In the Web UI:**
350
+ - Activity Insights panel shows sessions, files tracked, and active projects
351
+ - Suggested Workstreams appear when patterns are detected
352
+ - Click "Create" to open pre-filled dialog (tweak projects as needed)
353
+ - Click "X" to dismiss suggestions you don't want
354
+
355
+ ## Web UI Features
356
+
357
+ | Feature | Description |
358
+ |---------|-------------|
359
+ | **Project Explorer** | Browse and edit `.claude/` folders across your project hierarchy |
360
+ | **Claude Code Settings** | Visual editor for permissions, model, hooks, and behavior |
361
+ | **Gemini CLI Settings** | Configure model, display options, and sandbox mode |
362
+ | **Codex CLI Settings** | Configure model, security, MCP servers, and features |
363
+ | **Antigravity Settings** | Configure security policies, browser allowlist, and agent mode |
364
+ | **MCP Registry** | Search GitHub/npm, add and configure MCP servers |
365
+ | **Plugins** | Browse marketplaces, install plugins with scope control |
366
+ | **Memory** | Manage preferences, corrections, patterns, and decisions |
367
+ | **Workstreams** | Group related projects with shared context rules |
368
+
369
+ Additional features: project/workstream switchers in header, sub-project detection, dark mode, auto-updates.
370
+
371
+ ## Plugins
372
+
373
+ 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.
374
+
375
+ ### Why Plugins Over Templates?
376
+
377
+ | Aspect | Plugins |
378
+ |--------|---------|
379
+ | Delivery | Enable plugin once |
380
+ | Updates | Auto-refresh from marketplace |
381
+ | Freshness | Always current |
382
+ | Scope | Global, project, or local |
383
+ | Discovery | Browse marketplaces |
384
+
385
+ ### Installing Plugins
386
+
387
+ **From CLI:**
388
+ ```bash
389
+ # Add the coder-config plugins marketplace
390
+ claude plugin marketplace add regression-io/claude-config-plugins
391
+
392
+ # Install framework-specific plugins
393
+ claude plugin install fastapi-support@claude-config-plugins
394
+ claude plugin install react-typescript@claude-config-plugins
395
+ claude plugin install python-support@claude-config-plugins
396
+ ```
397
+
398
+ **From Web UI:**
399
+ 1. Open Project Explorer
400
+ 2. Click the **+** menu on any project folder
401
+ 3. Select **Install Plugins**
402
+ 4. Toggle plugins on/off with scope selection (Project/Global/Local)
403
+
404
+ ### Plugin Directory
405
+
406
+ The **Plugins** page shows all available plugins:
407
+ - Filter by marketplace, category, source type (Anthropic/Community), installed status
408
+ - Search by name or description
409
+ - View plugin details (LSP/MCP/Commands included)
410
+
411
+ ### Marketplaces
412
+
413
+ Plugins come from marketplaces (Git repositories):
414
+ - **claude-plugins-official** - Anthropic's official plugins
415
+ - **regression-io/claude-config-plugins** - Framework and language plugins
416
+ - Add community marketplaces via "Manage Marketplaces" in the filter dropdown
417
+
418
+ Supported marketplace formats:
419
+ - `owner/repo` — GitHub shorthand
420
+ - `https://github.com/owner/repo` — Full URL
421
+ - `/local/path` — Local directory
422
+
423
+ ## Claude Code Settings
424
+
425
+ The Web UI provides a visual editor for `~/.claude/settings.json`:
426
+
427
+ ### Permissions
428
+ Configure what Claude Code can do automatically:
429
+ - **Allow** - Tools that run without asking
430
+ - **Ask** - Tools that require confirmation
431
+ - **Deny** - Tools that are blocked
432
+
433
+ Pattern examples:
434
+ ```
435
+ Bash(npm run build) # Specific command
436
+ Bash(npm:*) # Prefix match (npm anything)
437
+ Read(**) # All file reads
438
+ Edit(src/**) # Edit files in src/
439
+ mcp__github__* # All GitHub MCP tools
440
+ ```
441
+
442
+ ### Model Selection
443
+ Choose your preferred Claude model (Sonnet 4, Opus 4.5, etc.)
444
+
445
+ ### Behavior
446
+ - Auto-accept edits
447
+ - Verbose mode
448
+ - Enable/disable MCP servers
449
+
450
+ ## Gemini CLI Settings
451
+
452
+ The Web UI provides a visual editor for `~/.gemini/settings.json`:
453
+
454
+ ### Model Selection
455
+ Choose Gemini model (2.5 Pro, 2.5 Flash, etc.) and enable preview features.
456
+
457
+ ### Display Options
458
+ Configure theme, token count display, diff view, and streaming.
459
+
460
+ ### General Settings
461
+ - Vim keybindings
462
+ - Auto-save
463
+ - Check for updates
464
+
465
+ ### Sandbox Mode
466
+ Control command execution safety (enabled/disabled).
467
+
468
+ ## Codex CLI Settings
469
+
470
+ The Web UI provides a visual editor for `~/.codex/config.toml`:
471
+
472
+ ### Model Settings
473
+ - **Model** - Select GPT-5.2 Codex, GPT-5, o3-mini, etc.
474
+ - **Reasoning Effort** - Control thoroughness (minimal to xhigh)
475
+
476
+ ### Security
477
+ - **Approval Policy** - When to ask for command approval (on-request, untrusted, on-failure, never)
478
+ - **Sandbox Mode** - Filesystem access level (read-only, workspace-write, full-access)
479
+
480
+ ### MCP Servers
481
+ Configure MCP servers for Codex CLI with the same format as other tools.
482
+
483
+ ### Features
484
+ Toggle feature flags like shell snapshots and web search.
485
+
486
+ ### Display & History
487
+ Configure TUI animations, notifications, and session history persistence.
488
+
489
+ For full configuration options, see [Codex CLI docs](https://developers.openai.com/codex/config-reference/).
490
+
491
+ ## Antigravity Settings
492
+
493
+ The Web UI provides a visual editor for `~/.gemini/antigravity/settings.json`:
494
+
495
+ ### Security Policies
496
+ | Policy | Options |
497
+ |--------|---------|
498
+ | **Terminal Execution** | Off, Auto, Turbo |
499
+ | **Code Review** | Enabled, Disabled |
500
+ | **JS Execution** | Sandboxed, Direct |
501
+
502
+ ### MCP Servers
503
+ Configure MCP servers for Antigravity. Note: Antigravity does NOT support `${VAR}` interpolation - variables are resolved to actual values.
504
+
505
+ ### Browser Allowlist
506
+ Control which URLs Antigravity can access during sessions.
507
+
508
+ ### Agent Mode
509
+ Configure autonomous multi-step operations, iteration limits, and confirmation requirements.
510
+
511
+ ## Preferences
512
+
513
+ User settings stored in `~/.claude-config/config.json`:
514
+
515
+ ```json
516
+ {
517
+ "toolsDir": "~/mcp-tools",
518
+ "registryPath": "~/.claude/registry.json",
519
+ "ui": {
520
+ "port": 3333,
521
+ "openBrowser": true
522
+ }
523
+ }
524
+ ```
525
+
526
+ | Key | Description |
527
+ |-----|-------------|
528
+ | `toolsDir` | Directory for local MCP tools |
529
+ | `registryPath` | Path to custom MCP registry |
530
+ | `ui.port` | Default port for web UI |
531
+ | `ui.openBrowser` | Auto-open browser on `coder-config ui` |
532
+
533
+ ## Requirements
534
+
535
+ - Node.js 18+
536
+ - Build tools (for newer Node.js versions without prebuilt binaries):
537
+ - **macOS**: Xcode Command Line Tools (`xcode-select --install`)
538
+ - **Linux**: `build-essential` package
539
+ - **Windows**: Visual Studio Build Tools
540
+
541
+ ## Development
542
+
543
+ ```bash
544
+ git clone https://github.com/regression-io/claude-config.git
545
+ cd claude-config
546
+ npm install
547
+ npm run build
548
+ npm start
549
+ ```
550
+
551
+ ## License
552
+
553
+ MIT