Skip to content

feat: add mise install support #789

Description

@AndryOre

Pre-flight Checks

  • I have searched existing issues and this is not a duplicate
  • I understand this issue needs status:approved before a PR can be opened

Problem Description

engram supports Homebrew, go install, and manual binary downloads, but has no first-class mise install path, and the repo declares no pinned toolchain of its own (contributors reconstruct Go/Node versions by reading go.mod and the CI workflows by hand). Separately, updateInstructions() (internal/version/check.go) only branches on runtime.GOOS, so a user who installed engram via mise is told to run brew upgrade engram or go install .../engram@latest — instructions that ignore (and can conflict with) the install mise already manages.

Proposed Solution

  • Add a mise.toml at the repo root pinning go and node to the versions the project already targets, plus a small CI guard script that fails a PR if that pin drifts from go.mod / the CI workflow files (so it can't silently go stale).
  • Document installing engram via mise in docs/INSTALLATION.md / README.md (macOS, Linux, and Windows — engram already ships Windows release archives).
  • Teach updateInstructions() to detect a mise-managed install and print mise upgrade engram instead of the Homebrew/go install hint in that case; every other install method keeps today's behavior unchanged.

Example:

mise use -g github:Gentleman-Programming/engram@latest
engram version

Companion registry submissions (separate, non-code, tracked outside this repo) are both merged now, so the shorter mise use -g engram@latest form will resolve once mise ships a release with the updated registry:

Affected Area

Other

Alternatives Considered

Leaving mise unsupported and only documenting Homebrew/go install/manual download — but this repo's own CI already needs a pinned Go/Node toolchain that contributors currently have to reconstruct by hand, and the update hint giving wrong advice to mise users is a real (if minor) correctness bug independent of mise adoption.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions