What problem does it solve?
Managing build tooling configuration for polyglot monorepos using moon v2 and proto is error-prone: scattered config files, inconsistent v1/v2 key usage, incorrect project discovery globs, and unpinned tool versions lead to broken builds, unreproducible CI, and wasted debugging time.
Core Features & Use Cases
- Canonical config enforcement: Implements the single correct pattern for moon v2 + proto setup, including single-source tool version pinning in .prototools, v2-only config keys, and closed-set enum values for language, layer, and stack.
- Drift detection and correction: Identifies and fixes common misconfigurations like dead project globs, undiscovered projects, invalid toolchains.default values, v1 key usage, and un-pinned tools in task definitions.
- Task routing and guidance: Provides clear decision flows for common operations including adding new projects, defining shared tasks with proper inheritance, pinning tool versions, enabling caching, and setting up CI.
- Built-in validation: Includes a read-only audit script that checks config against all skill rules and outputs a structured report of violations and fixes.
- Use case example: When adding a new Python codegen tool to your monorepo, this skill ensures the tool is pinned in .prototools, enabled in .moon/toolchains.yml, the codegen task declares proper inputs/outputs for caching, and the project's moon.yml uses valid v2 keys and metadata.
Quick Start
Use the moon-proto-monorepo skill to audit your existing .moon and .prototools config for drift, or to add a new moon task, project, or toolchain version to your monorepo following canonical best practices.