Set up on a Mac

v0.10.7

0 of 0 steps done
Type them exactly; every command on every page fills them in.

Before you start

  • A Mac with an Apple chip on macOS 15 or later is what this guide is written for. Older Macs and Intel Macs may work, but Homebrew does not support them and installs can be slow or fail.
  • A Mac account that is an Administrator (System Settings, Users & Groups shows it).
  • A Claude subscription (Pro or Max).
  • A free GitHub account, with access to this repository. Accept the invitation from the email GitHub sent, or at https://github.com/notifications.

Working in the Terminal window

  • Open it with Cmd+Space, type Terminal, and press Enter. If you tick wezterm in step 6, open WezTerm instead.
  • Paste a command with Cmd+V and press Enter to run it.
  • Run one block at a time. A command is finished when the line ending in % (or ❯) comes back.
  • When Terminal asks for your Mac password, type it. Nothing shows as you type; press Enter when you are done.
  • Ctrl+C stops a command that is stuck.
  • Your files are where you expect them: your resume in Downloads is ~/Downloads/resume.pdf, where ~ means your home folder.
  • Once Claude is installed (step 3), you can ask it to run any command in this guide instead of pasting it, except the ones that ask for your password. Claude can't type a password, so run those yourself.

Setup

  1. Terminal

    Homebrew is the tool that installs the other tools. Paste the command from https://brew.sh, which is:

    Terminal
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

    It asks for your Mac password and waits for you to press Return (Enter); it may ask for the password again later. It may install Apple's Command Line Tools first, a large download that can take a while. macOS may also ask whether Terminal can reach folders such as Downloads; choose Allow. When it finishes, it prints a "Next steps" section with lines to run so that Terminal can find brew (on a Mac with an Apple chip, they start with echo and eval). Copy and run the lines it prints, one at a time. Check with:

    Terminal
    brew --version
  2. Terminal

    Obsidian keeps your notes. Chrome turns a resume into a PDF.

    Terminal
    brew install git gh jq
    brew install --cask obsidian google-chrome

    If Obsidian or Chrome is already installed, brew says so; that is fine.

    Open Obsidian once from Applications to check it starts; it must be version 1.9 or later. Don't open a vault yet.

  3. Terminal
    Terminal
    curl -fsSL https://claude.ai/install.sh | bash

    Then tell Terminal where to find claude, and close and reopen Terminal:

    Terminal
    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc

    Run claude. Pick your Claude subscription when it asks how to log in, approve in the browser, and paste back any code it shows. Type /exit once you see Claude's prompt.

  4. Terminal

    The login prints a one-time code and asks you to press Enter; press Enter in Terminal, even if you open the page yourself, because the login waits for it. Type the code in the browser, approve, and wait for Logged in as in Terminal.

    Terminal
    gh auth login --hostname github.com --git-protocol https --web
    gh auth setup-git
    gh repo clone <owner>/leaven ~/leaven -- --branch "$(gh release view -R <owner>/leaven --json tagName -q .tagName)" -c advice.detachedHead=false

    <owner> is the account that invited you; the invitation names it. The last command downloads the newest finished version of the pack.

  5. Terminal

    It downloads its screens through gh, so the GitHub login in the last step has to be done first.

    Terminal
    cd ~/leaven && ./install.sh

    A full-screen installer opens. Type this one yourself, because Claude can't press keys on the screens. The first thing you see is the Leaven name rising on the screen. Press any key to skip it, then Enter to begin. The first time, a line says it is downloading the installer screens; wait for them to open. Q quits.

    The installer screens

  6. Terminal

    Each screen is a question; you can go back with Esc.

    • Who is this for? Pick "I'm new to the terminal" unless you know you want something else: press 1, or move with the arrow keys and press Enter. This sets the starting ticks on the next screen.

    • What should we set up? A checklist, already ticked for what you picked. Move with the up and down arrows, and press Space to tick or untick. Leave it as it is unless you want to change something. Your vault, its hooks and skills, and the plugins are always set up, so they are not on the list. There are seven rows, then job search. "I'm new to the terminal" ticks the first six and leaves workflow and job search unticked; "I build things" ticks workflow too. The rows are:

      • zsh: a friendlier command line that suggests as you type.
      • tools: handy helpers for finding files and reading them.
      • mise: keeps the languages other tools run on up to date.
      • statusline: a small bar in Claude Code showing what it is doing.
      • playwright: lets Claude open a web browser and look at pages.
      • wezterm: a fast, good-looking terminal app to work in.
      • workflow: agents, review, and git rules for working on code.
      • job search: a workspace for job applications and resumes. Tick it only if you are job hunting. It installs Node (which the tracker runs on) and poppler (which reads text out of PDFs) for you when they are missing.

      If a line says mise is ticked because playwright needs npx (a small tool that comes with Node), that is expected: leave it ticked.

    • Where your notes go. The vault location is already filled in; press Enter to keep it. Then the question about backing up to GitHub; press Enter on "Yes, back up" unless you don't want a copy of your notes on GitHub.

    • Ready to set up. This lists what you picked. Press Enter to install. Press Q to cancel instead; nothing is installed and nothing changes, and you can run ./install.sh again later.

  7. Terminal

    After the last screen the installer runs in plain text for a few minutes; it may take longer if you ticked mise, since Rust is the big download. It does not ask for your Mac password unless you ticked zsh and your login shell is not zsh; then it switches you to zsh and macOS asks for it. It:

    • creates the vault, a real folder at ~/memory;
    • backs the vault up to a new private GitHub repo named memory, if you said yes; from then on Claude saves each change there, so you never run git;
    • copies the hooks and skills into ~/.claude, merges ~/.claude/settings.json, and writes a Memory section into ~/.claude/CLAUDE.md (when either file changes, the old one is first copied beside it with .bak- and the time added to its name);
    • installs the plugins;
    • installs the parts you ticked, and the job-search workspace if you ticked it;
    • prints the path of the vault.

    It leaves alone every setting you already had, and any skill or hook of yours that has the same name as one of the pack's; for those it prints skipped. On a rerun it puts the pack's own skills and hooks back as released; if you edited one, your copy is saved first in ~/.config/leaven/backup-<stamp>/. Keep your own under other names.

    If you ticked wezterm, close Terminal when it finishes and open WezTerm from Applications. Pin it to the Dock if you like: right-click its Dock icon, then Options, Keep in Dock. To add or drop a part later, run ./install.sh again: the checklist opens with your choices ticked. Unticking a part stops its updates and does not remove what is already installed.

  8. Obsidian

    Choose Open folder as vault. In the file picker, press Cmd+Shift+H to go to your home folder, choose memory, and open it. In Settings, Core plugins, turn on Bases and Daily notes. In Settings, Daily notes, set the new file location to Daily and the date format to YYYY-MM-DD.

  9. Terminal

    Claude asks before each change to Atlas.md and Bearing.md; say yes. Type /exit to end a session.

    Terminal
    cd ~/memory && claude

    Ask Claude:

    Ask Claude
    Fill in Atlas.md and Bearing.md with me.

Next, read how-it-works.md for what you just installed and how to use it.