A comprehensive dotfiles repository for macOS development environment setup. Manages configurations for terminal applications, editors, system utilities, and development tools through symlinked dotfiles and automated setup scripts.
To set up Juliet, run:
$ git clone --recursive [email protected]:avegancafe/Juliet ~/.config/Juliet
$ ~/.config/Juliet/bin/juliet-bootstrapCore Binaries:
juliet-bootstrap- Main setup and update script- Installs Homebrew and dependencies
- Updates Juliet repository from git
- Runs
brew bundleto install packages - Sets up symlinks using GNU Stow
- Usage:
~/.config/Juliet/bin/juliet-bootstrap
System Utilities:
reindex-spotlight- macOS Spotlight reindexingupdate-kitty- Kitty terminal updaterenvsource- Environment variable sourcingsudo- Enhanced sudo wrapper
Git Binaries:
-
better-branch- Enhanced git branch viewer- Shows colorized branch list with commit counts
- Displays ahead/behind status relative to main branch
- Shows last commit info for each branch
-
delete-current-branch- Safe branch deletion- Switches to main branch and deletes current branch
- Logs deleted commit SHA to
~/.delogfor recovery
-
git-recreate- Branch recreation utility- Deletes current branch and recreates it from latest main
- Useful for starting fresh while keeping branch name
-
git-hoard/- Git repository organization tool (Node.js project)
Git Functions:
g- Short alias for gitcurrent-branch- Get current git branch namecb- Copy current branch name to clipboardcurrent-sha- Get current commit SHAdefault-branch- Get repository's default branchgdiff- Git diff wrappergut- Git status shortcutclone- Enhanced git clone
Git Aliases:
git a- Add files to staginggit ape- Amend previous commit and force push with leasegit b/git bbranch- Show enhanced branch list (uses better-branch)git clean-branches- Delete all branches except master/maingit clean-merged/git cm- Delete branches that have been mergedgit co- Checkout branch/commitgit com- Commit changesgit cp- Cherry-pick commitsgit del- Delete current branch safely (uses delete-current-branch)git diff-branch- Show diff from fork point with mastergit fixup- Create fixup commit for interactive rebasegit fo- Fetch from origingit judge- Enhanced blame with whitespace/move detectiongit main- Switch to main/master branch automaticallygit o/git open- Open repository in GitHubgit pdiff- Pretty diff using bat with syntax highlightinggit pf- Push with force-with-lease (safer force push)git pu- Pull changesgit rb- Rebase commitsgit re- Restore filesgit s- Switch branchesgit squash- Interactive rebase to squash commits against maingit staash- Stash all changes including untracked filesgit staged- Show staged changesgit su- Update submodules recursivelygit t- Ticket (custom command)git up- Push changes
Editor Tools:
nv- Launch Neovide GUI editor, auto-installs if missingvim- Alias for nvimcursor- Launch Cursor editor
Neovim Management:
nvim-refresh-plugins- Neovim plugin manager- Clears lazy.nvim plugin cache
- Restores plugins from lock file
Enhanced File Tools:
cat- Enhanced cat usingbatwith syntax highlightingls- Enhanced ls usingezawith better formatting
Workspace Management:
work- Interactive workspace/directory switcher- Reads from
~/.workspacesand~/.workspaces__local - Supports
@workspace(directories with subdirs) and@dir(specific dirs) - Uses gum for interactive selection
- Setup example:
@workspace ~/workspace @dir ~/.config/nvim
- Reads from
GitHub Integration:
-
run- GitHub Actions workflow runner- Runs workflows with optional current branch
- Watches workflow execution
- Usage:
run <workflow-name> [-c/--current] [-a/--args="args"]
-
gist-to-pdf- GitHub Gist converter- Clones gists and converts to PDF format
- Usage:
gist-to-pdf <gist-id>
Container & Cloud Tools:
dc- Docker Compose shortcutkc- kubectl shortcut
Language-Specific Tools:
node- Node.js wrapperhas-pipfile- Check for Python Pipfile
System Monitoring:
logs- System log viewerwatch- File watching utilitypv- Process viewerst- Status checker
General Utilities:
note- Note-taking utility
symlinked/- Contains all dotfiles organized by target locationsymlinked/config/- Files that go in ~/.config/symlinked/home/- Files that go in ~/
bin/- Custom utility scripts and toolsetc/- Assets (fonts, themes, wallpapers, keyboard layouts)Brewfile- Homebrew package definitions
All Fish shell functions are auto-loaded alphabetically from symlinked/config/fish/functions/aliases/ and integrate with the broader Juliet ecosystem for a cohesive development environment.