After cloning, initialize beads with the protected branch workflow:
bd init --branch beads-metadata && bd hooks installThis sets up the worktree-based sync to beads-metadata branch. The extension uses bd for project discovery and Dolt lifecycle control, and reads issue data directly from Dolt SQL.
bun install # Install dependencies
bun run compile # Build extension + webview
bun run watch # Watch mode (extension + webview in parallel)
bun run lint # ESLint on src/**/*.{ts,tsx}
bun run test # Jest tests
bun run package # Create VSIX packageOption 1: Extension Development Host (recommended for debugging)
- Open this repo in VS Code
- Run
bun run watchin terminal - Press
F5to launch Extension Development Host Cmd+R(Mac) /Ctrl+R(Win/Linux) to reload after changes
Option 2: Symlink for local testing
ln -s "$(pwd)" ~/.vscode/extensions/vscode-beads
# Reload VS Code: Cmd+Shift+P → "Developer: Reload Window"
# Unlink when done
rm ~/.vscode/extensions/vscode-beadsOption 3: Install VSIX locally
bun run package
code --install-extension vscode-beads-*.vsixUse the /project-release slash command in Claude Code:
- Run
/project-releasefrommainbranch - Confirm the computed version (minor bump by default)
- Command audits changelog for missing user-facing changes
- If complete, it updates CHANGELOG.md, bumps package.json, commits, tags, and pushes
- Tag push triggers GitHub Actions to publish to VS Code Marketplace
For hotfixes, create a release-v* branch and run /project-release (patch bump).
See CLAUDE.md for architecture details, data flow, and code conventions.