Skip to content

Adding Presets & Plugins

If the preset needs dev environment setup, create a new composite action at .github/actions/setup-<name>/action.yml:

name: Setup <Name>
description: Set up <name> development environment
inputs:
# your inputs here
runs:
using: composite
steps:
# your setup steps

Add the new preset to presets.json at the repo root:

{
"mypreset": {
"setup_action": "setup-mypreset",
"plugins": [
"common@buck-bronson",
"mypreset@buck-bronson"
],
"secrets": {
"sourcegraph-token": "SOURCEGRAPH_TOKEN",
"rollbar-token": "ROLLBAR_TOKEN"
}
}
}

Set setup_action to null if no dev environment setup is needed.

Update cli/src/detect.rs to detect the new project type by checking for a marker file.

Add the new preset to the Preset enum in cli/src/preset.rs.

5. Add conditional setup in shared workflows

Section titled “5. Add conditional setup in shared workflows”

Update the shared workflows (.github/workflows/bucky-dispatch.yml, etc.) to add a conditional step for the new setup action:

- name: Setup mypreset
if: steps.preset.outputs.setup-action == 'setup-mypreset'
uses: fetch-rewards/buck-bronson/.github/actions/setup-mypreset@v1
with:
# inputs
  • Update CLAUDE.md with the new preset details
  • Update README.md presets table
  • Update the Presets docs page

plugins/<name>/
├── .claude-plugin/
│ └── plugin.json
├── .mcp.json
└── README.md
{
"name": "<name>",
"version": "1.0.0",
"description": "Description of what this plugin provides"
}
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "@some/mcp-server"],
"env": {
"API_TOKEN": "{{SOME_TOKEN}}"
}
}
}
}

Update presets.json to include the new plugin in the relevant preset(s):

{
"web": {
"plugins": [
"common@buck-bronson",
"web@buck-bronson",
"myPlugin@buck-bronson"
]
}
}

If the plugin requires secrets:

  1. Add the secret mapping to the preset in presets.json
  2. Document the new secret in Configuring Secrets
  3. Add the secret injection in the shared workflows
  • Update CLAUDE.md with the new plugin details
  • Update README.md plugins table
  • Update the Plugins docs page