Luigit
repositories / pi-ext

pi-ext

bugabingas pi extensions

owned by admin

.pi/skills/pi-ext-automation/SKILL.md

Raw
Rendered preview

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/<name>:test, //extensions/<name>:lint, //extensions/<name>:check.

Inspection

  • mise tasks --all lists root and extension-local tasks.
  • mise task info <task> shows one definition.
  • mise tasks deps <task> shows dependency edges.
  • mise run --dry-run <task> shows execution without running it.
  • mise tasks validate after changing root configuration.
  • mise -C extensions/<name> 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 <bin> reports whether Mise owns it.
---
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/<name>:test`, `//extensions/<name>:lint`, `//extensions/<name>:check`.

## Inspection

- `mise tasks --all` lists root and extension-local tasks.
- `mise task info <task>` shows one definition.
- `mise tasks deps <task>` shows dependency edges.
- `mise run --dry-run <task>` shows execution without running it.
- `mise tasks validate` after changing root configuration.
- `mise -C extensions/<name> 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 <bin>` reports whether Mise owns it.