--- name: pi-ext-automation description: "Use when authoring or editing pi-ext Mise tasks and mise.toml, inspecting task definitions or dependency edges, reinstalling Git hooks, or diagnosing a failing or missing Mise task in this repository." --- # pi-ext automation Mise is the only public automation interface here. This skill holds the how-to; `.system/RULES.md` holds the binding law. ## Task inventory Root tasks: | Task | Purpose | |---|---| | `//:install` | Install exact locked dependencies | | `//:lock` | Regenerate the lockfile | | `//:fmt` | Format the repository | | `//:lint` | Verify formatting and lint | | `//:test` | Run the complete test suite once | | `//:check` | Typecheck and statically validate all extensions | | `//:bench` | Run all extension benchmarks sequentially | | `//:e2e` | Run all browser acceptance suites | | `//:ci` | Complete release gate | | `//:list`, `//:changelog`, `//:readme`, `//:release-plan`, `//:release-prepare`, `//:publish` | Repository operations | Extension tasks: `//extensions/:test`, `//extensions/:lint`, `//extensions/:check`. ## Inspection - `mise tasks --all` lists root and extension-local tasks. - `mise task info ` shows one definition. - `mise tasks deps ` shows dependency edges. - `mise run --dry-run ` shows execution without running it. - `mise tasks validate` after changing root configuration. - `mise -C extensions/ tasks validate` after changing extension-local configuration. ## Authoring - Use task dependencies for prerequisites so Mise can deduplicate and schedule shared work. - Prefer structured task references over command strings that spawn nested Mise processes. - Treat a task `run` array as sequential execution. - Use a structured task group for an explicitly parallel stage. - Spawn nested Mise only when a required scheduler option has no structured-task equivalent. - Do not enable raw task mode unless the task requires standard input. - Set Mise job counts deliberately when tasks invoke tools that manage their own workers. - Use `:::` only for independent ad hoc tasks that should run concurrently. ## Git hooks Pre-commit and pre-push run only `check` and `lint`. - Reinstall pre-commit: `mise generate git-pre-commit --write` - Reinstall pre-push: `mise generate git-pre-commit --hook pre-push --task pre-push --write` ## Troubleshooting - Run `mise doctor` when a task fails because a command is unavailable. - Check missing activation, missing shims, and mismatched tool binary names first. - A stale shim can shadow a real binary; `mise which ` reports whether Mise owns it.