mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
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.
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user