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:
Jeremy Ruppel
2026-06-15 09:26:39 -04:00
committed by GitHub
parent 809bd613e3
commit 1cdb7ed9f7
38 changed files with 1898 additions and 7 deletions
@@ -0,0 +1,17 @@
module "goose" {
count = data.coder_workspace.me.start_count
source = "{{ .RegistryBase }}/coder/goose/coder"
version = "{{ .PinnedVersion }}"
agent_id = coder_agent.{{ .AgentResourceName }}.id
additional_extensions = {{ .Variables.additional_extensions }}
agentapi_version = {{ .Variables.agentapi_version }}
folder = {{ .Variables.folder }}
goose_model = {{ .Variables.goose_model }}
goose_provider = {{ .Variables.goose_provider }}
goose_version = {{ .Variables.goose_version }}
icon = {{ .Variables.icon }}
install_agentapi = {{ .Variables.install_agentapi }}
install_goose = {{ .Variables.install_goose }}
post_install_script = {{ .Variables.post_install_script }}
pre_install_script = {{ .Variables.pre_install_script }}
}
@@ -0,0 +1,122 @@
{
"id": "goose",
"display_name": "Goose",
"description": "Run Goose in your workspace",
"icon": "/icon/goose.svg",
"category": "AI Agent",
"tags": [
"agent",
"goose",
"ai",
"tasks"
],
"compatible_os": [
"linux"
],
"conflicts_with": [],
"pinned_version": "3.0.1",
"variables": [
{
"name": "additional_extensions",
"type": "string",
"description": "Additional extensions configuration in YAML format to append to the config.",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "agent_id",
"type": "string",
"description": "The ID of a Coder agent.",
"required": false,
"sensitive": false,
"computed": true
},
{
"name": "agentapi_version",
"type": "string",
"description": "The version of AgentAPI to install.",
"default": "v0.10.0",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "folder",
"type": "string",
"description": "The folder to run Goose in.",
"default": "/home/coder",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "goose_model",
"type": "string",
"description": "The model to use for Goose (e.g., claude-3-5-sonnet-latest).",
"required": true,
"sensitive": false,
"computed": false
},
{
"name": "goose_provider",
"type": "string",
"description": "The provider to use for Goose (e.g., anthropic).",
"required": true,
"sensitive": false,
"computed": false
},
{
"name": "goose_version",
"type": "string",
"description": "The version of Goose to install.",
"default": "stable",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "icon",
"type": "string",
"description": "The icon to use for the app.",
"default": "/icon/goose.svg",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "install_agentapi",
"type": "bool",
"description": "Whether to install AgentAPI.",
"default": true,
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "install_goose",
"type": "bool",
"description": "Whether to install Goose.",
"default": true,
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "post_install_script",
"type": "string",
"description": "Custom script to run after installing Goose.",
"required": false,
"sensitive": false,
"computed": false
},
{
"name": "pre_install_script",
"type": "string",
"description": "Custom script to run before installing Goose.",
"required": false,
"sensitive": false,
"computed": false
}
]
}