Skip to content

Presets

Presets determine what dev environment, plugins, and secrets are configured when Bucky runs in a repository. They are auto-detected from the project type but can be overridden with --preset.

For Node.js/TypeScript projects. Detected by the presence of package.json.

  • Setup: Node.js with auto-detected package manager (pnpm or npm)
  • Plugins: common, web, typescript-lsp, frontend-design
  • Extra secrets: POSTHOG_TOKEN
  • Marker file: package.json

The setup-web action detects .node-version or .nvmrc for version management, installs dependencies via pnpm install --frozen-lockfile or npm ci, and sets up Playwright for browser automation.

For Go projects. Detected by the presence of go.mod.

  • Setup: Go via mise, with Artifactory Go proxy
  • Plugins: common, golang, gopls-lsp
  • Extra secrets: None
  • Marker file: go.mod

The setup-golang action configures GOPROXY, uses mise for version management, and runs go mod download.

Fallback for projects that don’t match web or golang markers.

  • Setup: No dev environment setup
  • Plugins: common
  • Extra secrets: None
  • Marker file: Fallback

All presets run inside the ad-tools-claude-runner Docker container with git and gh pre-installed.

Preset configuration lives in presets.json at the buck-bronson repo root:

{
"web": {
"setup_action": "setup-web",
"plugins": [
"common@buck-bronson",
"web@buck-bronson",
"typescript-lsp@claude-plugins-official",
"frontend-design@claude-plugins-official"
],
"secrets": {
"sourcegraph-token": "SOURCEGRAPH_TOKEN",
"rollbar-token": "ROLLBAR_TOKEN",
"posthog-token": "POSTHOG_TOKEN"
}
},
"golang": {
"setup_action": "setup-golang",
"plugins": [
"common@buck-bronson",
"golang@buck-bronson",
"gopls-lsp@claude-plugins-official"
],
"secrets": {
"sourcegraph-token": "SOURCEGRAPH_TOKEN",
"rollbar-token": "ROLLBAR_TOKEN"
}
},
"none": {
"setup_action": null,
"plugins": ["common@buck-bronson"],
"secrets": {
"sourcegraph-token": "SOURCEGRAPH_TOKEN",
"rollbar-token": "ROLLBAR_TOKEN"
}
}
}

At runtime, the resolve-preset composite action reads this file (from the v1 tag) and outputs:

  • plugins — multiline list of plugins to register
  • setup-action — which setup action to run (setup-web, setup-golang, or empty)
  • has-posthog-token — whether to inject the PostHog token

Two plugin marketplaces are registered in all workflows:

  1. buck-bronson (./.buck-bronson) — common, web, golang plugins
  2. claude-plugins-official (https://github.com/anthropics/claude-plugins-official.git) — typescript-lsp, gopls-lsp, frontend-design

Plugins from @buck-bronson are fetched from this repo. Plugins from @claude-plugins-official are fetched from the official Anthropic plugins repo.