Skip to content

Quick Start

This guide walks you through the essential features of mine to get you productive quickly.

First, run the setup wizard:

Terminal window
mine init

This creates your config and database, auto-detecting your name from git. After setup, mine init shows a capability table — a dynamic readout of which features are ready based on your environment:

What you've got:
✓ todos — mine todo add "ship it"
✓ stash — mine stash add <url>
✓ env — mine env init
✓ git — mine git log
· tmux — install tmux, then mine tmux new
✓ AI (claude) — mine ai ask "explain this diff"
✓ proj — mine proj list

If you run mine init from inside a git repository, it also offers to register the current directory as a mine project — so your dashboard has project context immediately.

mine init is safe to re-run at any time. If a config already exists, it shows your current name, AI provider, and shell, then asks if you want to update them. Pressing Enter at each prompt keeps the existing value, so only the fields you actually change are updated. To start completely fresh, use mine init --reset.

Just run mine with no arguments to see your personal dashboard:

Terminal window
mine

Output:

▸ Hey Ryan!
📋 Todos 3 open (1 overdue!)
📅 Today Monday, January 15
⚙️ Mine 0.1.0
tip: `mine todo` to tackle that overdue task.

Add your first todo:

Terminal window
mine todo add "ship v0.2" -p high -d tomorrow

List all todos:

Terminal window
mine todo

Mark one as done:

Terminal window
mine todo done 1

Start a 25-minute deep work session:

Terminal window
mine dig

Or customize the duration:

Terminal window
mine dig 45m

Press Ctrl+C to end early (sessions over 5 minutes still count toward your streak).

Bootstrap a new Go project:

Terminal window
mkdir myproject && cd myproject
mine craft dev go

This creates:

  • go.mod with the module name set to your directory
  • main.go with a basic “Hello, world!” program
  • Makefile with common build targets

See all available scaffolding templates:

Terminal window
mine craft list

Initialize dotfile tracking:

Terminal window
mine stash init

Track important config files:

Terminal window
mine stash track ~/.zshrc
mine stash track ~/.gitconfig

Check for changes:

Terminal window
mine stash diff

mine init handles first-time shell setup for you. After the AI section it shows:

Shell Integration
Adding this line to ~/.zshrc enables p, pp, and menv:
eval "$(mine shell init)"
Add it now? (Y/n)

Press Enter to let mine write the line to your RC file. This activates:

  • p [name] — jump to a project (opens fuzzy picker with no args)
  • pp — return to the previous project
  • menv — load your active mine env profile into the current shell

To add it manually instead:

Terminal window
printf '\n# added by mine\neval "$(mine shell init)"\n' >> ~/.zshrc
source ~/.zshrc

For tab completions and optional aliases:

Terminal window
mine shell completions # tab completions
mine shell aliases # view recommended aliases

Personalize your setup without editing TOML files directly:

Terminal window
# See all settings and their current values
mine config list
# Set your display name
mine config set user.name "Jane"
# Switch to a different AI provider
mine config set ai.provider openai
mine config set ai.model gpt-4o
# Opt out of analytics
mine config set analytics false

See the config command reference for all keys and options.

If you use Claude Code, Codex, Gemini CLI, or OpenCode, mine agents keeps all their configurations in one place:

Terminal window
# Create the canonical agent config store
mine agents init
# Detect which agents you have installed
mine agents detect
# Preview what would be imported (no changes made)
mine agents adopt --dry-run
# Import your existing configs and replace them with symlinks
mine agents adopt

After this, editing ~/.local/share/mine/agents/instructions/AGENTS.md updates the instruction file for every linked agent at once.

See the agents feature overview for the full workflow, including multi-machine sync.