
mise-config
by ssiumha
dotfiles driven development
SKILL.md
name: mise-config description: Generates mise.toml project configuration. Use when setting up project tools, environment variables, or task automation with mise.
Mise Configuration Generator
Generates mise.toml configuration files for project-level tool management, environment variables, and task automation.
When to Use This Skill
- Setting up mise for a new project
- Adding tools (Node, Python, Ruby, etc.) to mise.toml
- Configuring environment variables
- Creating tasks/scripts for build automation
- Configuring mise settings (auto_install, python_venv, etc.)
File Naming Conventions
mise supports multiple configuration file locations with the following priority order:
mise.local.toml- Local overrides (gitignored)mise.toml- Project configuration (committed)mise/<env>.toml- Environment-specific (e.g., mise/production.toml)mise/config.toml- Alternative location.mise/config.toml- Hidden directory variant
Recommendation: Use mise.toml for project defaults, mise.local.toml for local overrides.
Keyword-Based Resource Loading
When users mention specific keywords, load the corresponding resource file:
| Keywords | Resource | Section |
|---|---|---|
| tools, version | resources/01-tools.md | [tools] |
| env, environment | resources/02-env.md | [env] |
| tasks, script, task | resources/03-tasks.md | [tasks.*] |
| settings, config | resources/04-settings.md | [settings] |
Multiple keywords: Load all matching resources.
Basic Template
Minimal mise.toml for a new project:
[tools]
node = "20"
[env]
NODE_ENV = "development"
[tasks.dev]
run = "npm run dev"
[tasks.build]
description = "Build the project"
run = "npm run build"
Quick Start
Node.js 프로젝트
mise.toml생성:[tools] node = "20"- 설치:
mise install - 확인:
node --version
Build 자동화
mise.toml에 추가:[tasks.build] run = "npm run build"- 실행:
mise run build
환경별 설정
mise.toml(개발 기본값)mise.production.toml(프로덕션 오버라이드)- 활성화:
MISE_ENV=production mise install
Common Use Cases
1. JavaScript/TypeScript Project
[tools]
node = "20"
pnpm = "latest"
[env]
NODE_ENV = "development"
[tasks.dev]
description = "Start dev server"
run = "pnpm dev"
[tasks.build]
description = "Build for production"
run = "pnpm build"
depends = ["lint", "test"]
[tasks.lint]
run = "pnpm lint"
[tasks.test]
run = "pnpm test"
2. Python Project
[tools]
python = "3.11"
[env]
_.python.venv = { path = ".venv", create = true }
[settings]
python_venv_auto_create = true
[tasks.install]
description = "Install dependencies"
run = "pip install -r requirements.txt"
[tasks.test]
run = "pytest"
3. Multi-Language Project
[tools]
node = "20"
python = "3.11"
go = "1.21"
[tasks.build]
description = "Build all components"
depends = ["build-frontend", "build-backend"]
[tasks.build-frontend]
run = "npm run build"
dir = "frontend"
[tasks.build-backend]
run = "go build -o bin/server ./cmd/server"
dir = "backend"
Configuration Workflow
- Identify requirements: What tools, environment variables, and tasks are needed?
- Load relevant resources: Based on keywords mentioned
- Generate configuration: Combine sections into mise.toml
- Add file-based tasks (optional): For complex scripts, use separate task files
Task Files vs TOML Tasks
TOML tasks (recommended for simple commands):
- Good for: single commands, command lists, simple dependencies
- Inline in mise.toml
File-based tasks (for complex scripts):
- Good for: multi-line scripts, Ruby/Python logic, reusable functions
- Stored in
.mise/tasks/ormise/tasks/ - Example:
.mise/tasks/deploy(executable file with#MISEmetadata)
User's Existing Setup
The user has a global mise configuration at ~/dots/config/mise/config.toml with:
- Many CLI tools (fzf, ripgrep, bat, jq, etc.)
- Ruby setup tasks
- DevOps tools setup tasks
- Custom task files in Ruby (common.rb provides shared helpers)
When generating project configurations, assume the user already has common tools globally and focus on project-specific needs.
Output Format
Always provide:
- File path: Where to save the configuration (e.g.,
mise.toml) - Complete configuration: Ready to copy-paste
- Next steps: How to activate the configuration
Example output:
Save as `mise.toml`:
[Generated configuration here]
To activate:
mise install # Install tools
mise trust # Trust the config (first time)
mise run build # Run tasks
Advanced Features
Incremental Builds
Tasks can detect changes and skip unnecessary work:
[tasks.build]
run = "npm run build"
sources = ["src/**/*.ts", "package.json"]
outputs = ["dist/**/*.js"]
Template Variables
Environment variables support templates:
[env]
PROJECT_ROOT = "{{config_root}}"
HOME_DIR = "{{env.HOME}}"
Task Arguments
Tasks can accept runtime arguments:
[tasks.deploy]
run = "kubectl apply -f manifests/$1"
# Usage: mise run deploy production
Error Handling
Common issues:
- "tool not found": Tool not in mise registry → use
ubi:,npm:,cargo:prefix - "task failed": Check
dependsorder, ensure prerequisite tasks succeed - "permission denied": File-based tasks need executable bit (
chmod +x)
Related Commands
mise use <tool>[@version]- Add tool to mise.tomlmise set <key>=<value>- Add environment variablemise tasks- List available tasksmise run <task>- Execute a taskmise watch -t <task>- Watch for changes and re-run task
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon


