From ab1c0bfb58a735b0e187624f1b75430df4619a69 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 26 Dec 2025 19:41:51 +0000 Subject: [PATCH 1/5] Simplify dotfiles setup by removing RCM dependency Remove dependency on RCM and thoughtbot/dotfiles in favor of a simpler, self-contained setup inspired by mrnugget/dotfiles. Changes: - Remove RCM (rcup/mkrc) in favor of mise task automation - Convert *.local files to primary dotfiles (zshrc, gitconfig, tmux.conf, etc.) - Merge host-specific configs into main files - Add mise tasks for setup and management (mise run setup) - Update documentation (README, CLAUDE.md) with new workflow - Simplify Justfile to wrapper around mise tasks - Single command setup: mise run setup The new setup creates symlinks from ~/.dotfiles to ~ with automatic backup of existing files. No external dotfile dependencies required. --- CLAUDE.md | 68 +++++++++------ Justfile | 42 +++------ README.md | 125 +++++++++++++++++++++------ config/mise/config.toml | 115 ++++++++++++++++++------ gitconfig.local => gitconfig | 5 +- host-Otis/dotfiles/gitconfig.host | 4 - laptop | 16 ++++ laptop.local | 20 ----- rcrc | 2 - tmux.conf.local => tmux.conf | 0 vimrc.bundles.local => vimrc.bundles | 0 zshrc.local => zshrc | 0 12 files changed, 260 insertions(+), 137 deletions(-) rename gitconfig.local => gitconfig (95%) delete mode 100644 host-Otis/dotfiles/gitconfig.host create mode 100644 laptop delete mode 100644 laptop.local delete mode 100644 rcrc rename tmux.conf.local => tmux.conf (100%) rename vimrc.bundles.local => vimrc.bundles (100%) rename zshrc.local => zshrc (100%) diff --git a/CLAUDE.md b/CLAUDE.md index c7ce593..2535351 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,23 +4,24 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## Repository Overview -This is a personal dotfiles repository that manages macOS development environment configuration. The setup is built around RCM (RcM) for dotfile management, Homebrew for package management, and Mise for runtime version management. +This is a personal dotfiles repository that manages macOS development environment configuration. The setup is built around Mise for both runtime version management and task automation, with Homebrew for package management. ## Key Architecture Components -### RCM-based Dotfile Management -- Uses RCM with `rcrc` configuration pointing to both this repo and thoughtbot/dotfiles -- Dotfiles are symlinked from `~/.dotfiles` and `~/.dotfiles-thoughtbot` -- `EXCLUDES` in rcrc prevents README and LICENSE files from being linked +### Simple Symlink-based Management +- Dotfiles are symlinked from `~/.dotfiles` to home directory +- Setup managed via Mise task: `mise run setup` +- No external dependencies on other dotfile repositories +- Automatic backup of existing files before symlinking -### Multi-layered Configuration System -- Base configuration from thoughtbot/dotfiles -- Local overrides in this repository (e.g., `zshrc.local`, `gitconfig.local`) -- Host-specific configurations in `host-*` directories -- Secret files sourced conditionally (`.zshrc.host`, `.secrets`) +### Single Repository Design +- All configurations are self-contained in this repository +- No base/override pattern - each dotfile is complete and standalone +- Host-specific configurations can be sourced optionally (`.zshrc.host`, `.secrets`) ### Development Environment Stack - **Runtime Management**: Mise (`config/mise/config.toml`) manages Go, Node, Ruby, Python, Deno versions +- **Task Automation**: Mise tasks for setup and maintenance operations - **Package Management**: Homebrew with `Brewfile` for system dependencies and applications - **Shell**: Zsh with custom prompt (`🍔 `) and PATH modifications - **Custom Tooling**: Python-based MCP server for Bear notes integration (`bin/ak-mcp.py`) @@ -29,24 +30,30 @@ This is a personal dotfiles repository that manages macOS development environmen ### Initial Setup/Bootstrap ```bash -# Bootstrap new machine (requires thoughtbot/laptop) -cd ~/Setup -git clone https://github.com/thoughtbot/dotfiles dotfiles-thoughtbot -git clone [this-repo] dotfiles -env RCRC=$HOME/Setup/dotfiles-thoughtbot/rcrc rcup -./laptop.local +# Clone repository +git clone https://github.com/therealadam/dotfiles ~/.dotfiles +cd ~/.dotfiles + +# Set up dotfiles (creates symlinks) +mise run setup + +# Install Homebrew packages +brew bundle install ``` ### Daily Operations ```bash +# List available tasks +mise tasks + # Re-link all dotfiles after changes -rcup +mise run setup -# Add new dotfile to RCM management -mkrc +# Find unmanaged dotfiles +mise run unmanaged # Install/update Homebrew packages -brew bundle install --file ~/Setup/dotfiles/Brewfile +brew bundle install --file ~/.dotfiles/Brewfile # Update development runtimes mise install @@ -56,17 +63,18 @@ mise use go@latest node@latest ruby@3 python@latest ### MCP Server ```bash # Run Bear notes MCP server -./bin/ak-mcp.py +~/.dotfiles/bin/ak-mcp.py # The server requires uv and provides Bear database querying functionality ``` ## File Structure Patterns -- **Local overrides**: Files ending in `.local` extend base thoughtbot configurations -- **Host-specific**: `host-*` directories contain machine-specific configurations +- **Dotfiles**: Files in root directory without leading dot (e.g., `zshrc`, `gitconfig`) are symlinked to `~/.*` +- **Host-specific**: Optional files `~/.zshrc.host` and `~/.secrets` are sourced if they exist - **Binary scripts**: `bin/` contains executable utilities with various languages - **Configuration**: `config/` holds application-specific configurations (mise, etc.) +- **Claude Code**: `claude/` contains agents, commands, and settings for Claude Code ## Important Environment Variables @@ -77,7 +85,17 @@ mise use go@latest node@latest ruby@3 python@latest ## Development Workflow Notes -- Changes to dotfiles require `rcup` to re-symlink +- Changes to dotfiles require `mise run setup` to re-symlink (though most already symlinked) - Brewfile changes need `brew bundle install` to apply - Mise configuration changes auto-apply via shell activation -- The setup expects `~/Setup` as the working directory for cloned repositories +- The setup expects `~/.dotfiles` as the working directory for the cloned repository +- Justfile exists as a convenience wrapper around mise tasks + +## Mise Tasks + +Tasks are defined in `config/mise/config.toml`: + +- `setup` - Create symlinks for all dotfiles (with automatic backup) +- `unmanaged` - Find dotfiles in home directory not managed by this repository + +Run `mise tasks` to see all available tasks. diff --git a/Justfile b/Justfile index d246732..466e3d6 100644 --- a/Justfile +++ b/Justfile @@ -1,34 +1,14 @@ -# Dotfiles management commands +# Dotfiles management - wrapper around mise tasks +# For full task list: mise tasks -# Update thoughtbot dotfiles and refresh RCM links -pull-upstream: - @echo "🔄 Updating thoughtbot dotfiles..." - cd ~/Setup/dotfiles-thoughtbot && git pull - @echo "🔗 Running rcup to refresh dotfile links..." - rcup - @echo "✅ thoughtbot dotfiles updated and RCM refreshed!" +# Set up dotfiles by creating symlinks +setup: + mise run setup -# Add a file or directory to dotfiles management via RCM -add FILE: - @echo "📁 Adding {{FILE}} to RCM management..." - mkrc {{FILE}} - @echo "🔗 Running rcup to create symlink..." - rcup - @echo "✅ {{FILE}} added to dotfiles!" - -# Find dotfiles in ~ that aren't managed by RCM +# Find dotfiles in ~ that aren't managed by this repository unmanaged: - #!/usr/bin/env bash - set -euo pipefail - find ~ -maxdepth 1 -name '.*' -type f | while read file; do - if [ -L "$file" ]; then - # Check if symlink points to dotfiles directories - target=$(readlink "$file") - if [[ "$target" != *"/.dotfiles"* ]] && [[ "$target" != *"/.dotfiles-thoughtbot"* ]]; then - echo "$(basename "$file") (symlink to: $target)" - fi - else - # Regular file, not managed - echo "$(basename "$file")" - fi - done | sort + mise run unmanaged + +# List all available tasks +list: + @mise tasks diff --git a/README.md b/README.md index 771a2ef..816f3ec 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,114 @@ -# Dotfiles mk2: an exosuit +# Dotfiles -With a fresh, or even a janky, laptop: +Personal macOS development environment configuration. -## Quickstart +## Features +- **Simple setup**: Single command to symlink all dotfiles +- **Homebrew integration**: Brewfile for package management +- **Mise**: Runtime version management (Go, Node, Ruby, Python, Deno) and task automation +- **Custom tools**: MCP server for Bear notes integration +- **Shell customization**: Zsh with 🍔 prompt + +## Quick Start + +### Fresh Machine Setup + +1. **Clone this repository**: + ```bash + git clone https://github.com/therealadam/dotfiles ~/.dotfiles + ``` + +2. **Run setup**: + ```bash + cd ~/.dotfiles + mise run setup + ``` + +That's it! Your dotfiles are now symlinked to your home directory. + +### What Gets Installed + +The `mise run setup` command creates symlinks for: +- Shell configuration (`.zshrc`) +- Git configuration (`.gitconfig`, `.gitignore`) +- Vim configuration (`.vimrc.bundles`, `.ideavimrc`) +- Tmux configuration (`.tmux.conf`) +- Ruby/Rails tools (`.pryrc`, `.railsrc`, `.rspec`) +- Mise configuration (`~/.config/mise/`) +- Utility scripts (`~/.local/bin/`) +- Claude Code configuration (`~/.claude/`) + +Existing files are automatically backed up to `~/.dotfiles-backup-TIMESTAMP/`. + +## Bootstrap Script + +For a complete fresh machine setup using [thoughtbot/laptop](https://github.com/thoughtbot/laptop): + +```bash +# Install laptop script first +# Then run the laptop customization +./laptop ``` -cd; mkdir setup -curl .../mac > mac -git clone thoughtbot/dotfiles and therealadam/dotfiles -env RCRC=$HOME/Setup/dotfiles-thoughtbot/rcrc rcup -# rcup -``` -1. Clone [dotfiles](https://github.com/thoughtbot/dotfiles) and this repo -1a. Into ~/Setup ...may require an initial tweak of dotfiles-thoughtbot/rcrc to use ~/Setup or a one-off rcup invocation... -1b. e.g. `env RCRC=$HOME/Setup/dotfiles-thoughtbot/rcrc rcup` -2. Bootstrap via [laptop](https://github.com/thoughtbot/laptop) -3. Run `mac` again to pick up local customizations that are now symlinked - `script/setup` +The `laptop` script will: +- Install Homebrew packages from `Brewfile` +- Set up dotfiles via `mise run setup` +- Clean up after installation + +## Common Tasks -## Imploding an existing setup +All tasks are managed by Mise. You can also use the Justfile as a convenient wrapper. +### List available tasks +```bash +mise tasks +# or +just list ``` -# Uninstall Homebrew; download the script and run with --help if you like -ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)" -# ..extensively manually prune /usr/local +### Set up/update dotfiles +```bash +mise run setup +# or +just setup +``` -# Uninstall asdf -rm -rf ~/.asdf +### Find unmanaged dotfiles +```bash +mise run unmanaged +# or +just unmanaged +``` -# Uninstall mise... +### Update Homebrew packages +```bash +cd ~/.dotfiles +brew bundle install ``` -## RCM cheatsheet +### Update development runtimes +```bash +mise install +mise use go@latest node@latest ruby@3 python@latest +``` + +## Structure + +- `bin/` - Utility scripts +- `claude/` - Claude Code configuration (agents, commands, settings) +- `config/mise/config.toml` - Mise configuration (tools, tasks) +- `Brewfile` - Homebrew package list +- `Justfile` - Convenience wrapper for mise tasks +- Individual dotfiles (`zshrc`, `gitconfig`, `tmux.conf`, etc.) + +## Notes -- Re-link all dotfiles: `rcup` -- Add a new dotfile: `mkrc ` +- The setup expects `~/.dotfiles` as the repository location +- Host-specific secrets can be placed in `~/.secrets` (sourced by zshrc) +- Host-specific zsh config can be placed in `~/.zshrc.host` (sourced by zshrc) +- FZF integration available if `~/.fzf.zsh` exists -## Mise cheatsheet +## Mise Tasks -https://mise.jdx.dev/tasks/toml-tasks.html +This dotfiles setup uses Mise for both runtime version management and task automation. Tasks are defined in `config/mise/config.toml`. See the [Mise documentation](https://mise.jdx.dev/tasks/toml-tasks.html) for more information. diff --git a/config/mise/config.toml b/config/mise/config.toml index 4a27a7e..3c31e94 100644 --- a/config/mise/config.toml +++ b/config/mise/config.toml @@ -11,38 +11,101 @@ deno = "latest" [settings] experimental = true -# mise t -# mise r task:name -[tasks."justfile:init"] -description = 'Write Justfile boilerplate' +# mise tasks +# List tasks: mise tasks +# Run task: mise run + +[tasks.setup] +description = 'Set up dotfiles by creating symlinks' run = """ -#!/bin/sh +#!/usr/bin/env bash +set -euo pipefail + +DOTFILES="${DOTFILES_DIR:-$HOME/.dotfiles}" +HOME_DIR="$HOME" + +echo "🔗 Setting up dotfiles from $DOTFILES to $HOME_DIR" + +# Create backup directory if needed +BACKUP_DIR="$HOME_DIR/.dotfiles-backup-$(date +%Y%m%d-%H%M%S)" + +# Function to link a file +link_file() { + local src="$1" + local dest="$2" + + # Create parent directory if needed + mkdir -p "$(dirname "$dest")" -cat > ./Justfile < Date: Fri, 26 Dec 2025 23:14:27 +0000 Subject: [PATCH 2/5] Add backup task and TARGET_DIR support for testing Features: - Add standalone 'backup' task to backup dotfiles without symlinking - Support TARGET_DIR env var for all tasks (setup, backup, unmanaged) - Enable testing setup in isolated directories (e.g., /tmp/dotfiles-test) Examples: mise run backup # Backup current dotfiles TARGET_DIR=/tmp/test mise run setup # Test setup in /tmp/test TARGET_DIR=/custom mise run backup # Backup from custom location Updated documentation in README.md, CLAUDE.md, and Justfile to reflect new capabilities. --- CLAUDE.md | 13 ++++++ Justfile | 4 ++ README.md | 37 +++++++++++++++- config/mise/config.toml | 97 +++++++++++++++++++++++++++++++++-------- 4 files changed, 132 insertions(+), 19 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 2535351..c202a08 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -49,6 +49,9 @@ mise tasks # Re-link all dotfiles after changes mise run setup +# Backup existing dotfiles +mise run backup + # Find unmanaged dotfiles mise run unmanaged @@ -96,6 +99,16 @@ mise use go@latest node@latest ruby@3 python@latest Tasks are defined in `config/mise/config.toml`: - `setup` - Create symlinks for all dotfiles (with automatic backup) +- `backup` - Backup existing dotfiles to timestamped directory - `unmanaged` - Find dotfiles in home directory not managed by this repository +All tasks support the `TARGET_DIR` environment variable to specify a custom target directory: +```bash +# Test setup in isolated directory +TARGET_DIR=/tmp/dotfiles-test mise run setup + +# Backup from custom location +TARGET_DIR=/custom/path mise run backup +``` + Run `mise tasks` to see all available tasks. diff --git a/Justfile b/Justfile index 466e3d6..6c0aa2d 100644 --- a/Justfile +++ b/Justfile @@ -5,6 +5,10 @@ setup: mise run setup +# Backup existing dotfiles to timestamped directory +backup: + mise run backup + # Find dotfiles in ~ that aren't managed by this repository unmanaged: mise run unmanaged diff --git a/README.md b/README.md index 816f3ec..d2d2bd8 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,13 @@ mise run setup just setup ``` +### Backup existing dotfiles +```bash +mise run backup +# or +just backup +``` + ### Find unmanaged dotfiles ```bash mise run unmanaged @@ -81,6 +88,18 @@ mise run unmanaged just unmanaged ``` +### Test setup in a different directory +```bash +# Create test directory +mkdir -p /tmp/dotfiles-test + +# Run setup to that directory +TARGET_DIR=/tmp/dotfiles-test mise run setup + +# Verify the symlinks +ls -la /tmp/dotfiles-test +``` + ### Update Homebrew packages ```bash cd ~/.dotfiles @@ -111,4 +130,20 @@ mise use go@latest node@latest ruby@3 python@latest ## Mise Tasks -This dotfiles setup uses Mise for both runtime version management and task automation. Tasks are defined in `config/mise/config.toml`. See the [Mise documentation](https://mise.jdx.dev/tasks/toml-tasks.html) for more information. +This dotfiles setup uses Mise for both runtime version management and task automation. Tasks are defined in `config/mise/config.toml`. + +Available tasks: +- `setup` - Create symlinks for all dotfiles (with automatic backup) +- `backup` - Backup existing dotfiles without creating symlinks +- `unmanaged` - Find dotfiles in home directory not managed by this repository + +All tasks support the `TARGET_DIR` environment variable to specify a custom directory: +```bash +# Backup from a custom location +TARGET_DIR=/tmp/test mise run backup + +# Setup to a custom location (useful for testing) +TARGET_DIR=/tmp/test mise run setup +``` + +See the [Mise documentation](https://mise.jdx.dev/tasks/toml-tasks.html) for more information. diff --git a/config/mise/config.toml b/config/mise/config.toml index 3c31e94..8ae2ba3 100644 --- a/config/mise/config.toml +++ b/config/mise/config.toml @@ -14,20 +14,80 @@ experimental = true # mise tasks # List tasks: mise tasks # Run task: mise run +# With custom target: TARGET_DIR=/tmp/test mise run setup + +[tasks.backup] +description = 'Backup existing dotfiles to timestamped directory' +run = """ +#!/usr/bin/env bash +set -euo pipefail + +TARGET_DIR="${TARGET_DIR:-$HOME}" +BACKUP_DIR="$TARGET_DIR/.dotfiles-backup-$(date +%Y%m%d-%H%M%S)" + +echo "đŸ“Ļ Backing up dotfiles from $TARGET_DIR" + +# List of dotfiles to backup +DOTFILES=( + ".zshrc" + ".gitconfig" + ".gitignore" + ".tmux.conf" + ".vimrc.bundles" + ".ideavimrc" + ".pryrc" + ".railsrc" + ".rspec" +) + +BACKED_UP=0 + +for dotfile in "${DOTFILES[@]}"; do + if [ -e "$TARGET_DIR/$dotfile" ] || [ -L "$TARGET_DIR/$dotfile" ]; then + mkdir -p "$BACKUP_DIR" + echo " â†Ē Backing up $dotfile" + cp -P "$TARGET_DIR/$dotfile" "$BACKUP_DIR/" + BACKED_UP=$((BACKED_UP + 1)) + fi +done + +# Backup directories +if [ -d "$TARGET_DIR/.config/mise" ]; then + mkdir -p "$BACKUP_DIR/.config" + echo " â†Ē Backing up .config/mise" + cp -R "$TARGET_DIR/.config/mise" "$BACKUP_DIR/.config/" + BACKED_UP=$((BACKED_UP + 1)) +fi + +if [ -d "$TARGET_DIR/.claude" ]; then + mkdir -p "$BACKUP_DIR" + echo " â†Ē Backing up .claude" + cp -R "$TARGET_DIR/.claude" "$BACKUP_DIR/" + BACKED_UP=$((BACKED_UP + 1)) +fi + +if [ $BACKED_UP -gt 0 ]; then + echo "" + echo "✅ Backed up $BACKED_UP item(s) to: $BACKUP_DIR" +else + echo "" + echo "â„šī¸ No dotfiles found to backup" +fi +""" [tasks.setup] -description = 'Set up dotfiles by creating symlinks' +description = 'Set up dotfiles by creating symlinks (use TARGET_DIR=/path to specify destination)' run = """ #!/usr/bin/env bash set -euo pipefail DOTFILES="${DOTFILES_DIR:-$HOME/.dotfiles}" -HOME_DIR="$HOME" +TARGET_DIR="${TARGET_DIR:-$HOME}" -echo "🔗 Setting up dotfiles from $DOTFILES to $HOME_DIR" +echo "🔗 Setting up dotfiles from $DOTFILES to $TARGET_DIR" # Create backup directory if needed -BACKUP_DIR="$HOME_DIR/.dotfiles-backup-$(date +%Y%m%d-%H%M%S)" +BACKUP_DIR="$TARGET_DIR/.dotfiles-backup-$(date +%Y%m%d-%H%M%S)" # Function to link a file link_file() { @@ -56,31 +116,31 @@ link_file() { } # Link dotfiles in root -link_file "$DOTFILES/zshrc" "$HOME_DIR/.zshrc" -link_file "$DOTFILES/gitconfig" "$HOME_DIR/.gitconfig" -link_file "$DOTFILES/gitignore" "$HOME_DIR/.gitignore" -link_file "$DOTFILES/tmux.conf" "$HOME_DIR/.tmux.conf" -link_file "$DOTFILES/vimrc.bundles" "$HOME_DIR/.vimrc.bundles" -link_file "$DOTFILES/ideavimrc" "$HOME_DIR/.ideavimrc" -link_file "$DOTFILES/pryrc" "$HOME_DIR/.pryrc" -link_file "$DOTFILES/railsrc" "$HOME_DIR/.railsrc" -link_file "$DOTFILES/rspec" "$HOME_DIR/.rspec" +link_file "$DOTFILES/zshrc" "$TARGET_DIR/.zshrc" +link_file "$DOTFILES/gitconfig" "$TARGET_DIR/.gitconfig" +link_file "$DOTFILES/gitignore" "$TARGET_DIR/.gitignore" +link_file "$DOTFILES/tmux.conf" "$TARGET_DIR/.tmux.conf" +link_file "$DOTFILES/vimrc.bundles" "$TARGET_DIR/.vimrc.bundles" +link_file "$DOTFILES/ideavimrc" "$TARGET_DIR/.ideavimrc" +link_file "$DOTFILES/pryrc" "$TARGET_DIR/.pryrc" +link_file "$DOTFILES/railsrc" "$TARGET_DIR/.railsrc" +link_file "$DOTFILES/rspec" "$TARGET_DIR/.rspec" # Link config directory -link_file "$DOTFILES/config/mise" "$HOME_DIR/.config/mise" +link_file "$DOTFILES/config/mise" "$TARGET_DIR/.config/mise" # Link bin directory if [ -d "$DOTFILES/bin" ]; then for script in "$DOTFILES/bin/"*; do if [ -f "$script" ]; then - link_file "$script" "$HOME_DIR/.local/bin/$(basename "$script")" + link_file "$script" "$TARGET_DIR/.local/bin/$(basename "$script")" fi done fi # Link claude directory if [ -d "$DOTFILES/claude" ]; then - link_file "$DOTFILES/claude" "$HOME_DIR/.claude" + link_file "$DOTFILES/claude" "$TARGET_DIR/.claude" fi echo "" @@ -91,14 +151,15 @@ fi """ [tasks.unmanaged] -description = 'Find dotfiles in ~ that are not managed by this repository' +description = 'Find dotfiles that are not managed by this repository (use TARGET_DIR=/path to specify directory)' run = """ #!/usr/bin/env bash set -euo pipefail DOTFILES="${DOTFILES_DIR:-$HOME/.dotfiles}" +TARGET_DIR="${TARGET_DIR:-$HOME}" -find ~ -maxdepth 1 -name '.*' -type f | while read file; do +find "$TARGET_DIR" -maxdepth 1 -name '.*' -type f | while read file; do if [ -L "$file" ]; then target=$(readlink "$file") if [[ "$target" != "$DOTFILES"* ]]; then From 09e44d0b858a20dc448f2321f0ba3abfd3a17ded Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 26 Dec 2025 23:16:34 +0000 Subject: [PATCH 3/5] Remove Justfile in favor of direct mise commands Since all tasks are defined in Mise, the Justfile was just a thin wrapper that added no value. Users can run mise commands directly: - mise tasks (list tasks) - mise run setup (set up dotfiles) - mise run backup (backup dotfiles) - mise run unmanaged (find unmanaged dotfiles) Updated all documentation to remove Justfile references. --- CLAUDE.md | 1 - Justfile | 18 ------------------ README.md | 11 +---------- 3 files changed, 1 insertion(+), 29 deletions(-) delete mode 100644 Justfile diff --git a/CLAUDE.md b/CLAUDE.md index c202a08..6c830c6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -92,7 +92,6 @@ mise use go@latest node@latest ruby@3 python@latest - Brewfile changes need `brew bundle install` to apply - Mise configuration changes auto-apply via shell activation - The setup expects `~/.dotfiles` as the working directory for the cloned repository -- Justfile exists as a convenience wrapper around mise tasks ## Mise Tasks diff --git a/Justfile b/Justfile deleted file mode 100644 index 6c0aa2d..0000000 --- a/Justfile +++ /dev/null @@ -1,18 +0,0 @@ -# Dotfiles management - wrapper around mise tasks -# For full task list: mise tasks - -# Set up dotfiles by creating symlinks -setup: - mise run setup - -# Backup existing dotfiles to timestamped directory -backup: - mise run backup - -# Find dotfiles in ~ that aren't managed by this repository -unmanaged: - mise run unmanaged - -# List all available tasks -list: - @mise tasks diff --git a/README.md b/README.md index d2d2bd8..22f96c7 100644 --- a/README.md +++ b/README.md @@ -58,34 +58,26 @@ The `laptop` script will: ## Common Tasks -All tasks are managed by Mise. You can also use the Justfile as a convenient wrapper. +All tasks are managed by Mise. ### List available tasks ```bash mise tasks -# or -just list ``` ### Set up/update dotfiles ```bash mise run setup -# or -just setup ``` ### Backup existing dotfiles ```bash mise run backup -# or -just backup ``` ### Find unmanaged dotfiles ```bash mise run unmanaged -# or -just unmanaged ``` ### Test setup in a different directory @@ -118,7 +110,6 @@ mise use go@latest node@latest ruby@3 python@latest - `claude/` - Claude Code configuration (agents, commands, settings) - `config/mise/config.toml` - Mise configuration (tools, tasks) - `Brewfile` - Homebrew package list -- `Justfile` - Convenience wrapper for mise tasks - Individual dotfiles (`zshrc`, `gitconfig`, `tmux.conf`, etc.) ## Notes From 7e3ffca0de21f9d50f0ffe973bff494d355e0957 Mon Sep 17 00:00:00 2001 From: Adam Keys Date: Fri, 26 Dec 2025 15:19:43 -0800 Subject: [PATCH 4/5] Tidy mise config --- config/mise/config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/mise/config.toml b/config/mise/config.toml index 8ae2ba3..beb77dd 100644 --- a/config/mise/config.toml +++ b/config/mise/config.toml @@ -2,7 +2,7 @@ [tools] go = "latest" node = "latest" -ruby = "3" +ruby = "latest" python = "latest" deno = "latest" "gem:rails" = "latest" From ded4fb253836e3df2f133de792a7b1161244ce5a Mon Sep 17 00:00:00 2001 From: Adam Keys Date: Fri, 26 Dec 2025 15:20:08 -0800 Subject: [PATCH 5/5] tidy again --- config/mise/config.toml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/config/mise/config.toml b/config/mise/config.toml index beb77dd..f936574 100644 --- a/config/mise/config.toml +++ b/config/mise/config.toml @@ -1,4 +1,3 @@ -# mise u tool@version [tools] go = "latest" node = "latest" @@ -11,11 +10,6 @@ deno = "latest" [settings] experimental = true -# mise tasks -# List tasks: mise tasks -# Run task: mise run -# With custom target: TARGET_DIR=/tmp/test mise run setup - [tasks.backup] description = 'Backup existing dotfiles to timestamped directory' run = """