rust-node-bootstrap
Scaffold a Rust+Node.js hybrid project with all infrastructure in one pass.
Works with
Agent Skills format with YAML frontmatter. Claude Code reads it as-is.
--- name: "rust-node-bootstrap" description: "Scaffold a Rust+Node.js hybrid project with all infrastructure in one pass." license: "MIT" --- # Rust+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.toml` or `package.json` but is missing the other - Missing `.github/workflows/`, `scripts/`, or `publish.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](./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: 1. **Root configs** — `package.json`, `pnpm-workspace.yaml`, `Cargo.toml`, `turbo.json` Use [templates/bootstrap/](./templates/bootstrap/). 2. **Publish config** — `publish.config.ts` (drives script + workflow generation) 3. **Main package wrapper** — `bin.js` + `package.json` from rust-npm-publish skill templates, fill in scope/binary name/platforms 4. **Scripts** — Copy from rust-npm-publish skill templates 5. **Workflows** — Copy from rust-node-ci skill templates, customize matrix 6. **LeanSpec** — Initialize `.lean-spec/config.json` and `specs/` 7. **AGENTS.md** — Project-level agent instructions listing installed skills ## Verify ```bash pnpm install && pnpm build && cargo check --workspace && pnpm tsx scripts/sync-versions.ts ``` See [references/checklist.md](./references/checklist.md) for the full post-bootstrap checklist. ## Install Companion Skills After scaffolding, install skills for ongoing development: ```bash # 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/](./templates/bootstrap/) | Root configs: `package.json`, `Cargo.toml`, `pnpm-workspace.yaml`, `turbo.json`, `publish.config.ts` | ## Setup & Activation ```bash 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.
More General & Other skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

