chore: using mise to manage node versions and tasks (#44)

* add mise for Node.js version management

Replace ad-hoc Node version pinning with mise (mise.toml + mise.lock).
This ensures all contributors and CI use the same Node LTS version.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* expand mise with env loading, PATH management, and task runner

- [env] _.file loads .env files for local API keys (replaces dotenv)
- [env] _.path adds node_modules/.bin to PATH for direct tool access
- [tasks] mirrors npm scripts with sources/outputs for file-based caching
- eval tasks for running LLM evaluations via mise run
- update AGENTS.md and CONTRIBUTING.md to use mise run commands

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Pedro Rodrigues
2026-02-17 12:44:44 +00:00
committed by GitHub
parent 32142e85fd
commit 760460c221
5 changed files with 124 additions and 14 deletions

61
mise.toml Normal file
View File

@@ -0,0 +1,61 @@
[settings]
experimental = true
lockfile = true
[tools]
node = "lts"
[env]
_.path = ["{{config_root}}/node_modules/.bin"]
_.file = [".env", "packages/evals/.env"]
# ── Root tasks ────────────────────────────────────────────────────────
[tasks.install]
description = "Install all dependencies"
run = "npm install && npm --prefix packages/skills-build install && npm --prefix packages/evals install"
sources = ["package.json", "packages/skills-build/package.json", "packages/evals/package.json"]
outputs = ["node_modules/.package-lock.json"]
[tasks.validate]
description = "Validate all skills"
run = "npm --prefix packages/skills-build run validate"
sources = ["skills/**/SKILL.md", "skills/**/references/**"]
[tasks.build]
description = "Build all skills"
run = "npm --prefix packages/skills-build run build"
sources = ["skills/**/SKILL.md", "skills/**/references/**", "packages/skills-build/src/**"]
outputs = ["skills/**/AGENTS.md"]
[tasks.check]
description = "Format and lint (auto-fix)"
run = "biome check --write ."
sources = ["**/*.ts", "**/*.js", "**/*.json", "biome.json"]
[tasks."ci:check"]
description = "CI format and lint check"
run = "biome ci ."
sources = ["**/*.ts", "**/*.js", "**/*.json", "biome.json"]
[tasks.test]
description = "Run tests"
run = "vitest run"
sources = ["test/**", "skills/**"]
# ── Eval tasks ────────────────────────────────────────────────────────
[tasks.eval]
description = "Run all evals"
run = "tsx packages/evals/src/cli.ts"
sources = ["packages/evals/src/**", "skills/**/references/**"]
[tasks."eval:code-fix"]
description = "Run code-fix evals"
run = "tsx packages/evals/src/cli.ts --type code-fix"
sources = ["packages/evals/src/**", "skills/**/references/**"]
[tasks."eval:workflow"]
description = "Run workflow evals"
run = "tsx packages/evals/src/cli.ts --type workflow"
sources = ["packages/evals/src/**", "skills/**/references/**"]