feat: add tilde dotfiles manager#1
Open
aronstrandberg wants to merge 22 commits into
Open
Conversation
No longer using jump for directory navigation. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Using vim directly instead of redirecting to neovim. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add editor function wrapper and update config function to use it. This makes it easy to change editor in one place. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use difftastic for structural/semantic diffs instead of diff-so-fancy pager for prettier output. Difft understands code syntax and provides more meaningful diffs. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add support for machine-specific config files that are gitignored: - fish/config.local.fish: for env vars like CLAUDE_CODE_USE_VERTEX - git/.gitconfig.local: for overrides like work email Both are sourced/included if they exist, with .example templates provided for reference. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add git push-commit (or git-push-commit in fish) to cherry-pick a commit onto master and push to a new remote branch without touching the local working directory. Uses a temporary git worktree, making it safe to run while other processes are operating on local git state. Usage: git push-commit <sha> [branch-name] Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Rebase uses 3-way merge which can resolve conflicts that cherry-pick can't handle. Also adds fetch step to ensure we rebase onto latest origin/master. Changes: - Create worktree at commit instead of origin/master - Use rebase --onto to replay single commit - Abort rebase on failure before cleanup - Update default branch prefix from cherry-pick- to rebase- Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Enables fish to provide git completions when using the g alias. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Captures design patterns for future development: local config overrides for secrets, stateless git operations via worktrees, fish function conventions, and component-based structure. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Design for a Fish-native dotfiles tool that uses symlinks instead of copies, making edits to live configs automatically tracked in the repo. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
11 tasks covering component registration, all commands, bootstrap script, docs update, and cleanup of old scripts. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tildecommand for symlink-based dotfiles management (install, status, uninstall, list, diff)bootstrap.zshfor fresh Mac setup (installs Homebrew, Fish, then runs tilde)Test Plan
tilde listshows all 7 registered componentstilde statusshows correct installation state with colored outputtilde installcreates symlinks and handles edge cases (existing files, already installed)tilde uninstallremoves symlinks safelytilde diffshows differences for copied filesbootstrap.zshsyntax validated withzsh -nfish -n🤖 Generated with Claude Code