How mise’s scores are calculated
The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.
verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10
PA Score31/100
Agent-ready 63.1 × 0.30 = 18.93
API quality 0.0 × 0.20 = 0.00
Openness 32.4 × 0.20 = 6.48
Built-in AI 12.0 × 0.15 = 1.80
Automation 21.7 × 0.15 = 3.25
(18.93 + 0.00 + 6.48 + 1.80 + 3.25) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 30.46 ÷ 1.00 = 30.5
Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.
Agent-ready63.1/100×0.30 of the PA blend
Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.
Point an agent at llms.txt or agent-oriented docsweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [probe] https://mise.jdx.dev/llms.txt“PROBE llms.txt: HTTP 200 at https://mise.jdx.dev/llms.txt # mise-en-place > Dev tools, env vars, and tasks in one CLI ## Guides - [Demo](https://mise.jdx.dev/demo.html): The f”
- [probe] https://mise.jdx.dev/getting-started.html.md“PROBE docs-md: HTTP 404 at https://mise.jdx.dev/getting-started.html.md”
Run the product headlessly / in CI for automationweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://mise.jdx.dev/continuous-integration.html“we provide a mise-action that wraps the installation of mise and the tools”
- [claimed-docs] https://mise.jdx.dev/continuous-integration.html“we provide a [mise-action](https://github.com/jdx/mise-action) that wraps the installation of mise and the tools”
- [claimed-docs] https://mise.jdx.dev/continuous-integration.html“curl https://mise.run | MISE_VERSION="$MISE_VERSION" sh mise version | grep -q "^${MISE_VERSION#v} " mise install”
- [claimed-docs] https://mise.jdx.dev/continuous-integration.html“We recommend pinning tools to specific versions so the environment is reproducible.”
- [claimed-docs] https://mise.jdx.dev/continuous-integration.html“set MISE_SAFE=1 so that project configuration cannot execute code”
- [claimed-docs] https://mise.jdx.dev/continuous-integration.html“set `MISE_SAFE=1` so that project configuration cannot execute code”
- [claimed-docs] https://mise.jdx.dev/continuous-integration.html“set MISE_SAFE=1 so that project configuration cannot execute code.”
- [community] https://hn.algolia.com/api/v1/items/42347917“Lately I was thinking 'what's the best way to integrate/use a task runner like mise in a github actions workflow'. Looking at the workflow files in the mise repository it seems like they gave up and just put in a few run: mise steps.”
Plug MCP servers into this product so it can use their toolsweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Connect an agent via an official MCP serverweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Use an official CLIweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [probe] https://mise.jdx.dev/cli/“official CLI documented at https://mise.jdx.dev/cli/”
- [probe] https://mise.jdx.dev/llms.txt“PROBE llms.txt: HTTP 200 at https://mise.jdx.dev/llms.txt # mise-en-place > Dev tools, env vars, and tasks in one CLI ## Guides - [Demo](https://mise.jdx.dev/demo.html): The f”
- [claimed-docs] https://mise.jdx.dev/getting-started.html“The quickest way to run a tool at a specific version is mise x|exec”
- [claimed-docs] https://mise.jdx.dev/getting-started.html“eval "$(~/.local/bin/mise activate bash)" >> ~/.bashrc”
- [community] https://hn.algolia.com/api/v1/items/42347917“I recently switched to Mise for all of my JS, ruby, python, and java sdk management needs... Not having to install RVM, NVM, some toxic brew of python installers... has been such a breath of fresh air.”
- [community] https://hn.algolia.com/api/v1/items/42347917“Just using mise as a drop-in asdf replacement has been delightful. Same functionality but much snappier with better ux”
Drive the product through a documented public APIweight 3
3 (weight) × 6 (quality) × 0.6 (partial) = 10.8 of 30 max
- [probe] https://mise.jdx.dev/cli/“official CLI documented at https://mise.jdx.dev/cli/”
- [probe] https://mise.jdx.dev/llms.txt“PROBE llms.txt: HTTP 200 at https://mise.jdx.dev/llms.txt # mise-en-place > Dev tools, env vars, and tasks in one CLI ## Guides - [Demo](https://mise.jdx.dev/demo.html): The f”
- [probe] https://mise.jdx.dev/openapi.json“PROBE openapi: all candidate paths 404 (https://mise.jdx.dev/openapi.json, https://mise.jdx.dev/swagger.json, https://mise.jdx.dev/api/openapi.json, https://mise.jdx.dev/.well-known/openapi.json)”
- [claimed-docs] https://mise.jdx.dev/getting-started.html“The quickest way to run a tool at a specific version is mise x|exec”
- [claimed-docs] https://mise.jdx.dev/security.html“MISE_SAFE=1 mise lock --bump --dry-run --json”
Issue scoped/least-privilege API credentials for an agentweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Build against official SDKsweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Subscribe to events via webhooksweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Agent-ready = 56.8 ÷ 90 × 100 = 63.1
API quality0.0/100×0.20 of the PA blend
The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.
Explore an interactive API reference with runnable examplesweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://mise.jdx.dev/getting-started.html.md“PROBE docs-md: HTTP 404 at https://mise.jdx.dev/getting-started.html.md”
- [probe] https://mise.jdx.dev/openapi.json“PROBE openapi: all candidate paths 404 (https://mise.jdx.dev/openapi.json, https://mise.jdx.dev/swagger.json, https://mise.jdx.dev/api/openapi.json, https://mise.jdx.dev/.well-known/openapi.json)”
- [probe] https://mise.jdx.dev/cli/“official CLI documented at https://mise.jdx.dev/cli/”
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://mise.jdx.dev/openapi.json“PROBE openapi: all candidate paths 404 (https://mise.jdx.dev/openapi.json, https://mise.jdx.dev/swagger.json, https://mise.jdx.dev/api/openapi.json, https://mise.jdx.dev/.well-known/openapi.json)”
Test against a sandbox environment without touching production dataweight 1
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Rely on versioned APIs with a documented deprecation policyweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://mise.jdx.dev/openapi.json“PROBE openapi: all candidate paths 404 (https://mise.jdx.dev/openapi.json, https://mise.jdx.dev/swagger.json, https://mise.jdx.dev/api/openapi.json, https://mise.jdx.dev/.well-known/openapi.json)”
API quality = 0.0 ÷ 60 × 100 = 0.0
Openness32.4/100×0.20 of the PA blend
Can you leave, inspect, or self-host — data export, open source, portability.
Do everything through the API that I can do in the UIweight 2
n/a — not applicable to this product: excluded from numerator and denominator
- [probe] https://mise.jdx.dev/openapi.json“PROBE openapi: all candidate paths 404 (https://mise.jdx.dev/openapi.json, https://mise.jdx.dev/swagger.json, https://mise.jdx.dev/api/openapi.json, https://mise.jdx.dev/.well-known/openapi.json)”
- [probe] https://mise.jdx.dev/cli/“official CLI documented at https://mise.jdx.dev/cli/”
Export all of my data in open formats and leaveweight 3
3 (weight) × 5 (quality) × 0.6 (partial) = 9.0 of 30 max
- [claimed-docs] https://mise.jdx.dev/dev-tools/“mise is also compatible with asdf `.tool-versions` files and with idiomatic version files”
- [claimed-docs] https://mise.jdx.dev“mise replaces them with one file that's checked in, so a fresh laptop is `git clone` and `mise bootstrap`.”
- [claimed-docs] https://mise.jdx.dev“Coming from asdf? mise reads `.tool-versions` as-is.”
- [claimed-docs] https://mise.jdx.dev/dev-tools/“mise is also compatible with asdf `.tool-versions` files”
- [claimed-docs] https://mise.jdx.dev/configuration.html“mise looks for these files in every parent directory, so if you have a `~/src/work/myproj/mise.toml` file, what is defined there overrides anything set in `~/src/work/mise.toml`”
Read the product's source under an open licenseweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [github] https://github.com/jdx/mise“$ mise set SOME_VAR=bar $ echo $SOME_VAR bar”
- [github] https://github.com/jdx/mise“depends = ["validate", "plan"] run = "terraform apply -auto-approve"”
- [github] https://github.com/jdx/mise“Load environment variables per project directory, including values from `.env` files and other sources.”
- [claimed-docs] https://mise.jdx.dev/continuous-integration.html“we provide a [mise-action](https://github.com/jdx/mise-action) that wraps the installation of mise and the tools”
Self-host the core productweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Openness = 16.2 ÷ 50 × 100 = 32.4
Built-in AI12.0/100×0.15 of the PA blend
Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.
Get AI-generated insights and suggestions from my data inside the productweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max
- [claimed-docs] https://mise.jdx.dev/tasks/“mise watch to automatically rebuild on changes—no configuration required, but it helps”
- [claimed-docs] https://mise.jdx.dev/tasks/“building dependencies in parallel—by default, with no configuration required”
- [claimed-docs] https://mise.jdx.dev/tasks/“[mise watch](./running-tasks.html#watching-files) to automatically rebuild on changes—no configuration required, but it helps”
- [github] https://github.com/jdx/mise“depends = ["validate", "plan"] run = "terraform apply -auto-approve"”
- [claimed-docs] https://mise.jdx.dev/tasks/“Define and run project _tasks_ for building, testing, linting, deploying, and everyday development workflows.”
Delegate tasks to a built-in AI assistant inside the productweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Operate the product with natural-language commandsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://mise.jdx.dev/getting-started.html“The quickest way to run a tool at a specific version is mise x|exec”
- [claimed-docs] https://mise.jdx.dev/getting-started.html“mise use --global node@26 # install node 26 and set it as the global default”
- [probe] https://mise.jdx.dev/llms.txt“PROBE llms.txt: HTTP 200 at https://mise.jdx.dev/llms.txt # mise-en-place > Dev tools, env vars, and tasks in one CLI ## Guides - [Demo](https://mise.jdx.dev/demo.html): The f”
- [probe] https://mise.jdx.dev/cli/“official CLI documented at https://mise.jdx.dev/cli/”
Built-in AI = 4.8 ÷ 40 × 100 = 12.0
Automation21.7/100×0.15 of the PA blend
Depth of automation primitives — rules, scheduling, bulk operations, webhooks.
Perform bulk operations across many items at onceweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://mise.jdx.dev/tasks/“building dependencies in parallel—by default, with no configuration required”
- [claimed-docs] https://mise.jdx.dev/tasks/“[tasks.build] description = "Build the CLI" run = "cargo build"”
- [claimed-docs] https://mise.jdx.dev“mise bootstrap sets up a whole machine from the same config: OS packages, dotfiles, repos, services, macOS defaults, and services, then your tools.”
- [claimed-docs] https://mise.jdx.dev“Point it at a fresh machine and `mise bootstrap` sets up the rest: packages, dotfiles, services.”
Define rules that trigger actions automatically on eventsweight 3
3 (weight) × 5 (quality) × 0.6 (partial) = 9.0 of 30 max
- [claimed-docs] https://mise.jdx.dev/dev-tools/“Once activated, mise can automatically switch between different versions of tools based on the directory you're in.”
- [claimed-docs] https://mise.jdx.dev“Per-project env vars from `mise.toml`, .env files, secrets, and shell commands. Set when you enter, gone when you leave.”
- [claimed-docs] https://mise.jdx.dev/tasks/“mise watch to automatically rebuild on changes—no configuration required, but it helps”
- [claimed-docs] https://mise.jdx.dev/tasks/“[mise watch](./running-tasks.html#watching-files) to automatically rebuild on changes—no configuration required, but it helps”
- [claimed-docs] https://mise.jdx.dev“Set when you enter, gone when you leave.”
Schedule recurring jobs or workflowsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://mise.jdx.dev/tasks/“Define and run project _tasks_ for building, testing, linting, deploying, and everyday development workflows.”
- [claimed-docs] https://mise.jdx.dev/tasks/“mise watch to automatically rebuild on changes—no configuration required, but it helps”
- [claimed-docs] https://mise.jdx.dev/tasks/“[tasks.build] description = "Build the CLI" run = "cargo build"”
- [claimed-docs] https://mise.jdx.dev/tasks/“You can then run the task with `mise run build`”
- [claimed-docs] https://mise.jdx.dev/tasks/“[mise watch](./running-tasks.html#watching-files) to automatically rebuild on changes—no configuration required, but it helps”
Version, review, and roll back my automationsweight 1
1 (weight) × 4 (quality) × 0.6 (partial) = 2.4 of 10 max
- [claimed-docs] https://mise.jdx.dev“mise replaces them with one file that's checked in, so a fresh laptop is `git clone` and `mise bootstrap`.”
- [claimed-docs] https://mise.jdx.dev“mise replaces them with one file that's checked in, so a fresh laptop is `git clone` and `mise bootstrap`”
- [claimed-docs] https://mise.jdx.dev/configuration.html“mise looks for these files in every parent directory, so if you have a `~/src/work/myproj/mise.toml` file, what is defined there overrides anything set in `~/src/work/mise.toml`”
- [claimed-docs] https://mise.jdx.dev/tasks/“Define and run project _tasks_ for building, testing, linting, deploying, and everyday development workflows.”
- [claimed-docs] https://mise.jdx.dev/tasks/“[tasks.build] description = "Build the CLI" run = "cargo build"”
Automation = 17.4 ÷ 80 × 100 = 21.7