Files
coder/coderd/templatebuilder/modules/claude-code/module.json
T
Jeremy Ruppel 1cdb7ed9f7 feat(coderd/templatebuilder): author initial module catalog for 19 modules (#26194)
> [!NOTE]
> This PR was authored by Coder Agents on behalf of @jeremyruppel.

Runs the `scripts/modulegen` generator against the coder/registry to produce the initial module catalog for the template builder. Generates `module.json` and `.tf.tmpl` files for 19 modules across four categories:

- **IDE**: code-server, jetbrains, vscode-desktop, vscode-web, cursor, windsurf, zed, kiro
- **AI Agent**: claude-code, aider, goose, amazon-q
- **Source Control**: git-clone, git-config, git-commit-signing
- **Utility**: dotfiles, personalize, filebrowser, jupyterlab

Also updates `catalog_test.go` to validate the new embedded modules load correctly.
2026-06-15 09:26:39 -04:00

144 lines
4.2 KiB
JSON

{
"id": "claude-code",
"display_name": "Claude Code",
"description": "Install and configure the Claude Code CLI in your workspace.",
"icon": "/icon/claude.svg",
"category": "AI Agent",
"tags": [
"agent",
"claude-code",
"ai",
"anthropic",
"ai-gateway"
],
"compatible_os": [
"linux"
],
"conflicts_with": [],
"pinned_version": "5.2.0",
"variables": [
{
"name": "agent_id",
"type": "string",
"description": "The ID of a Coder agent.",
"required": false,
"sensitive": false,
"computed": true
},
{
"name": "anthropic_api_key",
"type": "string",
"description": "API key passed to Claude Code via the ANTHROPIC_API_KEY env var.",
"default": "",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "claude_binary_path",
"type": "string",
"description": "Directory where the Claude Code binary is located. Use this if Claude is pre-installed or installed outside the module to a non-default location.",
"default": "$HOME/.local/bin",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "claude_code_oauth_token",
"type": "string",
"description": "OAuth token passed to Claude Code via the CLAUDE_CODE_OAUTH_TOKEN env var. Generate one with `claude setup-token`.",
"default": "",
"required": false,
"sensitive": true,
"computed": false
},
{
"name": "claude_code_version",
"type": "string",
"description": "The version of Claude Code to install.",
"default": "latest",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "disable_autoupdater",
"type": "bool",
"description": "Disable Claude Code automatic updates. When true, Claude Code will stay on the installed version.",
"default": false,
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "enable_ai_gateway",
"type": "bool",
"description": "Use AI Gateway for Claude Code. https://coder.com/docs/ai-coder/ai-gateway",
"default": false,
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "icon",
"type": "string",
"description": "The icon to use for the app.",
"default": "/icon/claude.svg",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "install_claude_code",
"type": "bool",
"description": "Whether to install Claude Code.",
"default": true,
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "mcp",
"type": "string",
"description": "JSON-encoded string of MCP server configurations. When set, servers are added at Claude Code's user scope so they are available across every project the workspace owner opens.",
"default": "",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "model",
"type": "string",
"description": "Sets the default model for Claude Code via ANTHROPIC_MODEL env var. If empty, Claude Code uses its default. Supports aliases (sonnet, opus) or full model names.",
"default": "",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "post_install_script",
"type": "string",
"description": "Custom script to run after installing Claude Code.",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "pre_install_script",
"type": "string",
"description": "Custom script to run before installing Claude Code. Can be used for dependency ordering between modules (e.g., waiting for git-clone to complete before Claude Code initialization).",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "workdir",
"type": "string",
"description": "Optional project directory. When set, the module pre-creates it if missing and pre-accepts the Claude Code trust/onboarding prompt for it in ~/.claude.json.",
"required": false,
"sensitive": false,
"computed": false
}
]
}