rust-workspace-bootstrap
Scaffold a production-ready Rust workspace with knope changesets, devenv, and GitHub Actions CI/release workflows. Use when starting a new Rust project or monorepo.
Best use case
rust-workspace-bootstrap is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Scaffold a production-ready Rust workspace with knope changesets, devenv, and GitHub Actions CI/release workflows. Use when starting a new Rust project or monorepo.
Teams using rust-workspace-bootstrap should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/rust-workspace-bootstrap/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How rust-workspace-bootstrap Compares
| Feature / Agent | rust-workspace-bootstrap | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Scaffold a production-ready Rust workspace with knope changesets, devenv, and GitHub Actions CI/release workflows. Use when starting a new Rust project or monorepo.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Rust Workspace Bootstrap
Generate a Rust workspace template inspired by the release/devenv/workflow structure used in
`mdt` and `pina`.
## What it scaffolds
- Cargo workspace with `core` + `cli` crates
- `knope.toml` with:
- `document-change`
- `release`
- `forced-release`
- `publish`
- `.changeset/` folder for change files
- `devenv.nix`, `devenv.yaml`, `.envrc`
- GitHub Actions:
- CI
- coverage
- semver checks
- release preview
- release assets
- docs-pages deployment
- Opinionated defaults for `rustfmt`, `clippy`, `deny`, `dprint`
## Usage
```bash
# Minimal
{baseDir}/scaffold.js --name acme-tool
# Recommended (in a separate worktree)
git worktree add ../acme-tool -b feat/bootstrap-acme-tool
cd ../acme-tool
/path/to/rust-workspace-bootstrap/scaffold.js \
--name acme-tool \
--owner your-github-org \
--repo acme-tool \
--description "CLI + core Rust workspace"
```
## Options
- `--name <kebab-case>` (required)
- `--dir <path>` (optional, default: `./<name>`)
- `--owner <github-owner>` (optional, default: `your-github-org`)
- `--repo <github-repo>` (optional, default: `<name>`)
- `--description <text>` (optional)
- `--force` (optional, allow writing into non-empty directory)
## Rules
- Always use `_` (underscore) separators in Rust crate names.
- Do **not** use `-` in crate package names. Example: `acme_tool_core`, not `acme-tool-core`.
## After scaffolding
```bash
cd <project>
direnv allow
# or
# devenv shell
install:cargo:bin
build:all
lint:all
test:all
```
Create your first changeset:
```bash
knope document-change
```
Dry-run a release:
```bash
knope release --dry-run
```Related Skills
write-a-skill
Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.
web-search
Web search via DuckDuckGo. Use when the user needs to look up current information online.
web-fetch
Fetch a web page and extract readable text content. Use when user needs to retrieve or read a web page.
request-refactor-plan
Create a detailed refactor plan with tiny commits via user interview, then file it as a GitHub issue. Use when user wants to plan a refactor, create a refactoring RFC, or break a refactor into safe incremental steps.
quick-setup
Detect project type and generate .pi/ configuration. Use when setting up pi for a new project or when user asks to initialize pi config.
pwsh
PowerShell syntax reference — cmdlets, objects, pipelines, filtering, comparison operators, and Bash-to-PowerShell command equivalents
nushell
Nushell syntax reference for shell commands — variables, pipelines, tables, custom commands, control flow, Bash-to-Nu equivalents, and common gotchas
neubrutalism
Neubrutalism design system skill. Use when building bold UI with thick borders, offset solid shadows, high saturation colors, and minimal border radius.
liquid-glass
Apple Liquid Glass design system. Use when building UI with translucent, depth-aware glass morphism following Apple's design language. Provides CSS tokens, component patterns, dark/light mode, and animation specs.
improve-codebase-architecture
Explore a codebase to find opportunities for architectural improvement, focusing on making the codebase more testable by deepening shallow modules. Use when user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more AI-navigable.
grill-me
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
glassmorphism
Glassmorphism design system skill. Use when building frosted-glass UI components with blur, transparency, and layered depth effects.