# mise

Use `mise.toml` as Amolith's default project task runner and tool installer when
a project does not already have a stronger local convention. Translate older
Taskfile/justfile commands into mise instead of preserving the old runner by
default.

## Task shape

- Keep visible tasks simple and memorable: `fmt`, `lint`, `fix`, `build`, `test`,
  `check`, and surface-specific tasks such as `pkg` or `dev`.
- Use hidden/helper tasks only when they reduce duplication or make release steps
  safer.
- Prefer one `check` task that performs the project's full local verification.
- Keep mutating tasks honest. If a task fixes or tidies files, name it that way.
- Add tools only when the project needs them; do not install whole ecosystems just
  because a template did.
- Preserve existing package-manager lockfiles. Ask before introducing npm, Bun,
  pnpm, yarn, or a language-specific package manager to a project without one.

Do not add Taskfiles or justfiles by default. If an older project uses Task or
just, translate the useful commands into `mise.toml` unless the user explicitly
asks to keep the old runner.

## Verification posture

Run the narrowest useful `mise run ...` task while iterating. Run `mise run
check` before ending broad setup, tooling, or release-work turns when the project
has a check task and it is practical to run.

## Go path

For Go setup, modernisation, builds, tests, or packaging, read
[golang/index.md](golang/index.md) first and follow its mise chain. Do not jump
straight to `golang/mise.md`; the index intentionally loads the Go baseline and
related topic files first.
