emusoi

Getting started

Install

mia runs on macOS and Linux and needs git and tmux. Environments also need podman or docker.

go install github.com/emusoi/mia-core/cmd/mia@latest

Add this to your shell's rc file, for mia switch and completion (bash and fish work too):

eval "$(mia shell-init zsh)"

The words

wordmeans
worktreea checkout of your repository in its own directory
namea worktree's name: a place, like monduli, easy to remember; it never changes
sessionthe worktree's tmux session, mia-<name>
stackseveral branches sharing one worktree, each on the one below
environmenta container where a worktree's code runs
machinewhere environments run: this computer, or one you can ssh to
plugina program named mia-<name> that adds to mia

Anywhere mia takes a worktree, you can give its name, its path, or its branch.

A first worktree

In any git repository:

mia new due-dates
monduli — due-dates in a worktree of its own
/Users/you/src/shop.monduli
mia shell monduli          # its tmux session
mia switch monduli         # cd there
mia ls                     # every worktree
mia dash                   # the dashboard

Settings for a repository

mia config

opens .git/mia/config.toml. For example, to make every new worktree ready to work in:

clone = ["node_modules"]
setup = ["npm", "install"]

mia keeps everything in .git/mia and ~/.config/mia, never in your files. The one exception is mia dev, and only when you ask.

Edit this page

    ↑↓ choose ⏎ open esc close