Features
Features are optional capabilities that can be added to your Workbench projects. They can be enabled during project creation or added later.
Available Features
Convex
A real-time backend platform with database, functions, and file storage.
# Add during init
wb init my-project --kind website --convex
# Add to existing project
wb add convexWhat it adds:
- Convex configuration files
- Database schema setup
- Function definitions
- TypeScript/Swift SDK integration
Supported project types: website, ios
Claude
Claude Code agent support with pre-configured skills for AI-assisted development.
wb add claudeWhat it adds:
.claude/directory with agent configuration- Pre-built skills for common tasks
- CLAUDE.md guidelines for the AI agent
Skills included:
homebrew-release- Automate Homebrew formula releases
Supported project types: website, tui, ios
Codex
OpenAI Codex CLI agent support with skills for AI-assisted development.
wb add codexWhat it adds:
.codex/directory with agent configuration- Pre-built skills for common tasks
Supported project types: website, tui, ios
Adding Features
Use wb add to add a feature to an existing project:
wb add convexDry Run
See what would be changed without making modifications:
wb add convex --dry-runSkip Confirmation
Accept changes without prompting:
wb add convex -yRemoving Features
Use wb rm to remove a feature:
wb rm convexThis removes:
- Configuration files added by the feature
- Dependencies (where applicable)
- Updates to project configuration
Dry Run
wb rm convex --dry-runFeature Configuration
Features are tracked in .workbench.toml:
[project]
kind = "website"
name = "my-project"
[project.features]
convex = true
claude = trueFeature Dependencies
Some features have prerequisites:
| Feature | Requires |
|---|---|
| Convex | Node.js runtime |
| Claude | Claude Code CLI |
| Codex | OpenAI Codex CLI |
Workbench will warn you if prerequisites aren't met.
Custom Features
Feature definitions live in TOML files under internal/projectdef/defs/. Each project type declares which features it supports:
[features.convex]
description = "Real-time backend with Convex"
[features.convex.remove]
directories = ["convex"]
files = ["convex.json"]This makes it easy to extend Workbench with new features.