155 lines
3.9 KiB
Markdown
155 lines
3.9 KiB
Markdown
---
|
|
name: mise-configurator
|
|
description: "Generate production-ready mise.toml setups for local development, CI/CD pipelines, and toolchain standardization."
|
|
category: devops
|
|
risk: safe
|
|
source: self
|
|
source_type: self
|
|
date_added: "2026-04-16"
|
|
author: community
|
|
tags: [mise, devops, ci-cd, toolchain, runtimes, automation]
|
|
tools: [claude, cursor, gemini]
|
|
---
|
|
# Mise Configurator
|
|
|
|
## Overview
|
|
|
|
This skill generates clean, production-ready `mise.toml` configurations for local development environments and CI/CD pipelines.
|
|
|
|
It helps standardize runtime versions, simplify onboarding, replace legacy version managers like `asdf`, `nvm`, and `pyenv`, and create reproducible multi-language environments with minimal setup effort.
|
|
|
|
## When to Use This Skill
|
|
|
|
- Use when you need to create or update a `mise.toml`
|
|
- Use when working with Node.js, Python, Go, Rust, Java, Bun, Terraform, or mixed stacks
|
|
- Use when the user asks about CI/CD runtime setup using mise
|
|
- Use when migrating from `.tool-versions`, `asdf`, `nvm`, or `pyenv`
|
|
- Use when standardizing tool versions across teams or monorepos
|
|
|
|
## How It Works
|
|
|
|
### Step 1: Detect Project Context
|
|
|
|
Inspect available repository files such as:
|
|
|
|
- `package.json`
|
|
- `pnpm-lock.yaml`
|
|
- `pyproject.toml`
|
|
- `requirements.txt`
|
|
- `go.mod`
|
|
- `Cargo.toml`
|
|
- `.tool-versions`
|
|
- `Dockerfile`
|
|
- GitHub Actions or CI files
|
|
|
|
Infer languages, package managers, and pinned versions.
|
|
|
|
### Step 2: Generate `mise.toml`
|
|
|
|
Create a minimal, valid, copy-paste-ready configuration using:
|
|
|
|
- existing pinned versions when found
|
|
- explicit user-provided target versions when absent
|
|
- practical defaults for developer productivity
|
|
- concrete pinned versions in shared production configs
|
|
|
|
### Step 3: Add Bootstrap Commands
|
|
|
|
Provide setup commands such as:
|
|
|
|
```bash
|
|
mise trust
|
|
mise install
|
|
```
|
|
|
|
### Step 4: Generate CI/CD Integration
|
|
|
|
If requested, generate pipeline examples using mise with caching and runtime installation.
|
|
|
|
## Examples
|
|
|
|
### Example 1: Node.js + pnpm Project
|
|
|
|
```toml
|
|
[tools]
|
|
node = "22.11.0"
|
|
pnpm = "9.15.0"
|
|
```
|
|
|
|
### Example 2: Python + GitHub Actions
|
|
|
|
```toml
|
|
[tools]
|
|
python = "3.12.7"
|
|
poetry = "1.8.4"
|
|
```
|
|
|
|
```yaml
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: jdx/mise-action@v2
|
|
- run: poetry install
|
|
- run: pytest
|
|
```
|
|
|
|
## Best Practices
|
|
|
|
- ✅ Respect versions already pinned in the repository
|
|
|
|
- ✅ Keep configs minimal and readable
|
|
|
|
- ✅ Prefer stable runtime releases
|
|
|
|
- ✅ Generate CI examples with caching
|
|
|
|
- ✅ Ask for target versions before pinning when the repository does not already declare them
|
|
|
|
- ❌ Do not use floating `latest` or `lts` aliases in shared production configs unless explicitly requested
|
|
|
|
- ❌ Do not over-engineer unnecessary tool entries
|
|
|
|
- ❌ Do not ignore existing lockfiles or version files
|
|
|
|
|
|
## Limitations
|
|
|
|
- This skill does not replace environment-specific validation, testing, or expert review.
|
|
|
|
- Stop and ask for clarification if required inputs, permissions, or safety boundaries are missing.
|
|
|
|
- Runtime availability may vary by OS, shell, or CI platform.
|
|
|
|
- Some plugins or niche tools may require manual adjustment.
|
|
|
|
|
|
## Security & Safety Notes
|
|
|
|
- Review generated shell commands before execution.
|
|
|
|
- Confirm CI/CD permissions before modifying pipelines.
|
|
|
|
- Validate runtime versions against production requirements.
|
|
|
|
- Use only in authorized repositories and environments.
|
|
|
|
|
|
## Common Pitfalls
|
|
|
|
- **Problem:** Wrong runtime version selected
|
|
**Solution:** Check repository lockfiles and pinned versions first.
|
|
|
|
- **Problem:** CI installs are slow
|
|
**Solution:** Enable cache layers and reuse mise cache directories.
|
|
|
|
- **Problem:** Tool missing from registry
|
|
**Solution:** Verify plugin support or install manually.
|
|
|
|
|
|
## Related Skills
|
|
|
|
- `@docker-expert` - Use when building containerized development environments
|
|
|
|
- `@github-actions-templates` - Use for advanced workflow automation
|
|
|
|
- `@monorepo-architect` - Use for large multi-package repositories
|