14
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill terrylica/cc-skills --skill bootstrap-monorepo- SKILL.md2.7 KB
Overview
This skill bootstraps a polyglot monorepo that scaffolds Python, Rust, and Bun/TypeScript projects with an autonomous 9-phase workflow. It integrates mise for runtime/version management and Pants for build orchestration and affected detection. The goal is a repeatable, CI-friendly monorepo structure ready for development and automated releases.
How this skill works
The skill runs a multi-phase bootstrap that creates workspace layout, tool configuration, and CI-ready metadata. It configures mise to pin runtimes and environment variables, enables Pants backends for Python, Rust, and Node/Bun, and scaffolds BUILD files and package manifests. It also wires semantic-release-compatible hooks and affected-change detection so only impacted targets are tested and released.
When to use it
- Starting a new polyglot monorepo from scratch
- Scaffolding Python + Rust + Bun/TypeScript projects together
- Needing automated affected-target testing and linting in CI
- Implementing Pants-driven build orchestration with mise-managed runtimes
- Setting up a repeatable bootstrap that includes release automation
Best practices
- Pin runtime versions in mise.toml and mirror them in pants.toml to avoid mismatches
- Run pants tailor immediately after bootstrap to generate BUILD files for legacy patterns
- Use --changed-since=origin/main with Pants for fast affected-only test and lint runs
- Enable required Pants backends (Rust, Node) explicitly in pants.toml to surface language targets
- Add mise shell hook to user shells so toolchains load consistently in CI and dev environments
Example use cases
- Create a new company monorepo combining backend Python services, Rust libraries, and frontend Bun apps
- Bootstrap an open-source project that needs reproducible runtimes and CI that tests only changed targets
- Migrate several language-specific repos into a single monorepo while retaining per-language build tooling
- Set up a developer sandbox where mise controls Python/Node/Rust versions and Pants runs affected tests and linters
FAQ
Use Pants with a base ref, e.g. pants --changed-since=origin/main test and pants --changed-since=origin/main lint to run tests and linters for affected targets only.
What if Pants or mise is not found in my environment?
Install Pants (brew or package) and add the mise shell hook to your shell config. Ensure mise is configured in mise.toml and tools are declared so runtimes install automatically.