mise.md

 1# mise
 2
 3Use `mise.toml` as Amolith's default project task runner and tool installer when
 4a project does not already have a stronger local convention. Translate older
 5Taskfile/justfile commands into mise instead of preserving the old runner by
 6default.
 7
 8## Task shape
 9
10- Keep visible tasks simple and memorable: `fmt`, `lint`, `fix`, `build`, `test`,
11  `check`, and surface-specific tasks such as `pkg` or `dev`.
12- Use hidden/helper tasks only when they reduce duplication or make release steps
13  safer.
14- Prefer one `check` task that performs the project's full local verification.
15- Keep mutating tasks honest. If a task fixes or tidies files, name it that way.
16- Add tools only when the project needs them; do not install whole ecosystems just
17  because a template did.
18- Preserve existing package-manager lockfiles. Ask before introducing npm, Bun,
19  pnpm, yarn, or a language-specific package manager to a project without one.
20
21Do not add Taskfiles or justfiles by default. If an older project uses Task or
22just, translate the useful commands into `mise.toml` unless the user explicitly
23asks to keep the old runner.
24
25## Verification posture
26
27Run the narrowest useful `mise run ...` task while iterating. Run `mise run
28check` before ending broad setup, tooling, or release-work turns when the project
29has a check task and it is practical to run.
30
31## Go path
32
33For Go setup, modernisation, builds, tests, or packaging, read
34[golang/index.md](golang/index.md) first and follow its mise chain. Do not jump
35straight to `golang/mise.md`; the index intentionally loads the Go baseline and
36related topic files first.