Skip to content

Support mise package manager #64

Description

@cebrusfs

mise does not currently work cleanly with the GitHub-generated source archives.

The preferred installation path should be:

mise use github:wedow/ticket@<version>

Using github: is preferable because it lets mise install from explicit GitHub Release assets instead of requiring users to hand-configure archive paths, binary names, or repository layout details.

Problem

The current GitHub-generated source archives preserve the repository layout. That is useful for source distribution, but awkward as an install artifact for a version manager.

Today the main script lives at the repository root as ticket, while the README presents tk as the user-facing command:

  ln -s "$PWD/ticket" ~/.local/bin/tk

That means users need custom mise configuration such as bin_path / binary renaming instead of being able to install the tool directly.

Proposed solution

Publish an explicit install-oriented GitHub Release asset, for example:

  ticket-vX.Y.Z.tar.gz
  ticket-vX.Y.Z.tar.gz.sha256

with a layout designed for version managers:

  ticket-vX.Y.Z/
    bin/
      tk

This would keep the public PATH surface small and match the README’s expected command name.

Open question: bundled plugins

The existing plugin commands should probably not be exposed as top-level ticket-* commands on PATH. If bundled in the release archive, they could live in an install-private directory, for example:

  ticket-vX.Y.Z/
    bin/
      tk
    libexec/
      ticket/
        plugins/
          ticket-edit
          ticket-ls
          ticket-list
          ticket-query
          ticket-migrate-beads

However, the current tk plugin discovery logic does not appear to support this layout. We may need either:

  • a different release archive layout that preserves plugin compatibility, or
  • an update to tk so it can discover bundled plugins from an install-private directory.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions