This file is for platform engineers onboarding onto DSO. It covers the prerequisites, plugin installation commands, optional tooling, and how to run /dso:onboarding to configure DSO for your project.
All prerequisites below are blocking — they must be installed before running the /plugin commands.
- Homebrew (macOS): the package manager used for most prerequisite installations. Install via the one-liner at https://brew.sh/
- Claude Code: the CLI that hosts DSO. Download from https://claude.ai/code and follow the setup guide there.
- bash >= 4.0: DSO hooks require bash 4.0 or later. macOS ships with bash 3.2.57 (GPL-2); upgrade with:
brew install bash - GNU coreutils (macOS): required for portable shell utilities (
timeout,date -d, etc.). Install with:brew install coreutils
Run the following commands inside Claude Code while your working directory is set to the project you want DSO to manage:
/plugin marketplace add navapbc/digital-service-orchestra
/plugin install dso@digital-service-orchestra
After the plugin is installed, proceed to Getting Started with /dso:onboarding below.
Session-start note: If DSO skills (e.g.
/dso:sprint,/dso:fix-bug) are not available at the start of a new session, run/reload-pluginsto register them. This is a known upstream Claude Code harness issue (INC-030 indocs/KNOWN-ISSUES.md); the workaround is to run/reload-pluginsonce at the top of each affected session.
DSO is published on two channels. Choose the channel that fits your team's risk tolerance:
| Channel | Install command | When it advances |
|---|---|---|
| Stable (default) | /plugin install dso@digital-service-orchestra |
Tagged releases only |
| Dev | /plugin install dso-dev@digital-service-orchestra |
Every merge to main |
Version semantics: dso advances on tagged releases; dso-dev advances on every merge to main.
Recommendation: Enable auto-update for your chosen channel in the marketplace via the /plugin UI so you receive fixes and improvements automatically without a manual reinstall.
- ast-grep (
sg): enables structural code search in/dso:fix-bug,/dso:sprint, and other skills. DSO falls back to text grep whenast-grepis absent, but structural search significantly reduces false positives when tracing call sites and dependency graphs. Install with:brew install ast-grep
DSO works standalone with general-purpose agents for all task categories. Installing optional
Claude Code plugins adds specialized agents that are automatically discovered:
| Plugin | Enhancement |
|---|---|
| feature-dev | Code review (code-reviewer), architecture exploration (code-explorer, code-architect) |
| error-debugging | Error pattern detection (error-detective), structured debugging (debugger); enhances INTERMEDIATE investigation in /dso:fix-bug |
| playwright | Browser automation for visual regression testing and staging verification via @playwright/cli (npm install --save-dev @playwright/cli) |
When a plugin is not installed, DSO falls back to general-purpose with a category-specific
prompt. No manual configuration is required.
/dso:onboarding is a Socratic dialogue that configures DSO for your specific project. It walks you through your stack, key commands, architecture overview, CI setup, and enforcement preferences — writing a CLAUDE.md and dso-config.conf tailored to your project. Non-interactive defaults are offered throughout, so you can move quickly or go deep.
Plan for 20–40 minutes for a typical first run. Re-running /dso:onboarding on an existing project is safe; it performs an elevation-only update (never overwrites higher-confidence values).
If your project uses GitHub Ruleset enforcement, select pr when /dso:onboarding asks for your merge strategy. This:
- Writes
merge.strategy=prto.claude/dso-config.conf - Provisions a GitHub Ruleset via
provision-ruleset.sh - Routes all subsequent merges through
merge-to-main-pr.sh(PR + CI gate)
To enable PR mode on an existing project: set merge.strategy=pr in .claude/dso-config.conf, then re-run /dso:onboarding (which will detect the existing project and offer to provision the Ruleset) or run the provision script directly via your plugin install path.
Full configuration reference: plugins/dso/docs/CONFIGURATION-REFERENCE.md
Some DSO skills integrate with external tools. Each integration is optional and configured via environment variables or the DSO config file. Skip any integration you don't use.
DSO's ticket system can sync to Jira issues. To enable, set:
JIRA_URL— your Jira base URL (e.g.,https://your-org.atlassian.net)JIRA_USER— the email address of the Atlassian account used for API accessJIRA_API_TOKEN— an Atlassian API token
Create an API token at: https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/
DSO's design collaboration features can pull Figma designs into your implementation manifests. To enable, set a Figma personal access token via FIGMA_PAT (or the equivalent DSO config key design.figma_pat).
Create a personal access token at: https://help.figma.com/hc/en-us/articles/8085703771159-Manage-personal-access-tokens
Confluence integration is planned but not yet available — no setup steps at this time.