About rust-node-bootstrap
A skill for scaffolding Rust and Node.js hybrid projects, either from scratch or by adding missing infrastructure to an existing repository. It organizes configuration, package wrappers, scripts, CI and publishing workflows, and validation steps.
Key features
- 01Generate root project configurations
- 02Set up Rust workspace and npm package wrapper
- 03Add CI and publishing workflows
- 04Initialize LeanSpec configuration and specs
- 05Run build and workspace checks
Use cases
- 01Start a new Rust and Node.js hybrid project
- 02Add missing project infrastructure incrementally
- 03Set up CI and publishing files for a repository
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ onsager-ai/ dev-skills --skill rust-node-bootstrapAfter installing, type/rust-node-bootstrapin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/checklist.mdproject-structure.mdtemplates/.gitignoreAGENTS.mdtemplates/.lean-spec/config.jsontemplates/bootstrap/Cargo.tomlpackage.jsonpnpm-workspace.yamlpublish.config.tsturbo.jsontemplates/specs/README.mdDetails
From the project READMERust+Node.js Bootstrap
Scaffold a Rust+Node.js hybrid project with all infrastructure in one pass.
When to Use This Skill
Activate when any of the following are true:
- User says "bootstrap", "scaffold", "new project", "set up from scratch"
- Repo has
Cargo.tomlorpackage.jsonbut is missing the other - Missing
.github/workflows/,scripts/, orpublish.config.ts - Incrementally adding forge infrastructure to an existing project
Decision Tree
Starting from scratch?
YES → Full scaffold (all steps in order below)
NO → Incremental setup ↓
Has package.json? → NO: Create root package.json + pnpm-workspace.yaml
Has Cargo.toml? → NO: Create Cargo workspace
Has .github/workflows/? → NO: Generate from rust-node-ci skill templates
Has scripts/? → NO: Generate from rust-npm-publish skill templates
Has publish.config.ts? → NO: Create from rust-npm-publish skill examples
Has specs/? → NO: Initialize LeanSpec
Gather Project Info
| Field | Example | Required |
|---|---|---|
| Project name | my-tool | Yes |
| npm scope | @myorg | Yes |
| Rust binary name(s) | my-cli | Yes |
| Cargo package name(s) | my-cli-rs | Yes |
| Main npm packages | packages/cli | Yes |
| Repository URL | github.com/myorg/my-tool | Yes |
| Platforms | darwin-x64, darwin-arm64, linux-x64, windows-x64 | No (default: all 4) |
Scaffold Structure
See references/project-structure.md for the full annotated tree.
my-tool/
├── .github/workflows/ ← CI + publish workflows
├── .lean-spec/config.json ← LeanSpec configuration
├── specs/ ← Spec-driven development
├── packages/cli/ ← Main npm package (thin JS wrapper)
│ ├── package.json ← bin + optionalDependencies
│ └── bin.js ← Resolves platform binary, spawns it
├── rust/ ← Rust workspace
├── scripts/ ← Publish & version scripts
├── publish.config.ts ← Publish pipeline configuration
├── package.json ← Root (version source of truth)
├── pnpm-workspace.yaml ← pnpm workspace definition
└── Cargo.toml ← Rust workspace manifest
File Generation Order
Order matters — later files depend on earlier ones:
- Root configs —
package.json,pnpm-workspace.yaml,Cargo.toml,turbo.jsonUse templates/bootstrap/. - Publish config —
publish.config.ts(drives script + workflow generation) - Main package wrapper —
bin.js+package.jsonfrom rust-npm-publish skill templates, fill in scope/binary name/platforms - Scripts — Copy from rust-npm-publish skill templates
- Workflows — Copy from rust-node-ci skill templates, customize matrix
- LeanSpec — Initialize
.lean-spec/config.jsonandspecs/ - AGENTS.md — Project-level agent instructions listing installed skills
Verify
pnpm install && pnpm build && cargo check --workspace && pnpm tsx scripts/sync-versions.ts
See references/checklist.md for the full post-bootstrap checklist.
Install Companion Skills
After scaffolding, install skills for ongoing development:
# CI/CD workflows and composite actions
npx skills add -g onsager-ai/dev-skills --skill rust-node-ci -a claude-code -y
# npm publishing pipeline and versioning
npx skills add -g onsager-ai/dev-skills --skill rust-npm-publish -a claude-code -y
Templates
| Directory | Contents |
|---|---|
| templates/bootstrap/ | Root configs: package.json, Cargo.toml, pnpm-workspace.yaml, turbo.json, publish.config.ts |
Setup & Activation
npx skills add -g onsager-ai/dev-skills --skill rust-node-bootstrap -a claude-code -y
Auto-activates when: user says "bootstrap", "scaffold", "new project", or "init" in a Rust+Node.js context.