The dot command is a comprehensive management tool for your dotfiles. It handles everything from initial setup to ongoing maintenance and provides AI-powered insights.
Installation Commands
#### dot init - Initial Setup
Complete environment setup with all tools and configurations.
```bash
# Full installation
dot init
# Skip SSH key generation
dot init --skip-ssh
# Skip font installation
dot init --skip-font
# Skip both SSH and font setup
dot init --skip-ssh --skip-font
```
What it does:
- Installs Homebrew (if not present)
- Installs packages from Brewfiles
- Creates symlinks with GNU Stow
- Installs Bun runtime
- Installs OpenCode CLI via Homebrew (with native installer/bun/npm fallback)
- Generates SSH key for GitHub (optional)
- Installs MonoLisa font (optional)
- Sets up Fish shell with plugins
Maintenance Commands
#### dot update - Update Everything
```bash
dot update
```
- Pulls latest dotfiles changes (auto-detects jj vs git)
- Updates Homebrew packages
- Re-stows configuration files
#### dot doctor - Health Check
```bash
dot doctor
```
Comprehensive diagnostics including:
- β
Homebrew installation
- β
Essential tools (git, nvim, tmux, node, etc.)
- β
OpenCode installation method and functionality
- β
Fish shell configuration
- β
PATH configuration
- β οΈ Broken symlinks detection
- β οΈ Missing dependencies
#### dot check-packages - Package Status
```bash
dot check-packages
```
Shows which packages are installed vs. missing from your Brewfiles.
#### dot retry-failed - Retry Failed Installations
```bash
dot retry-failed
```
Attempts to reinstall packages that failed during initial setup.
AI-Powered Features
#### dot summary - Commit Analysis
Uses OpenCode to generate intelligent summaries of recent git commits.
```bash
# Summarize last 3 commits (default)
dot summary
# Summarize specific number of commits
dot summary -n 5
# Include file diffs for detailed analysis
dot summary -d
# Verbose mode with commit details
dot summary -v
# Combine options
dot summary -n 10 -d -v
```
Example Output:
```
=> Summary of Recent Changes
Development Focus: Recent work centers on improving the diagnostic navigation
system in Neovim, updating deprecated API calls to use modern vim.diagnostic.jump()
functions. This includes better error handling and user experience improvements.
Technical Patterns: The commits show incremental configuration refinements
with a focus on tooling updates and environment optimization...
```
Performance & Development Tools
#### dot benchmark-shell - Fish Shell Performance Benchmarking
```bash
# Run 10 benchmarks (default)
dot benchmark-shell
# Run specific number of benchmarks
dot benchmark-shell -r 20
# Show verbose output with individual timings
dot benchmark-shell -v
# Combine options
dot benchmark-shell -r 15 -v
```
Measures Fish shell startup performance with detailed analysis:
- High-precision timing via Python3 or Perl
- Performance assessment with color-coded results (excellent β€50ms, good β€100ms, fair β€200ms)
- Optimization tips for slow performance
- Statistical analysis including average, min, max, and range
- Profiling guidance for detailed bottleneck identification
Example Output:
```
=> Fish Shell Startup Benchmark Results
Configuration:
Shell: fish, version 4.0.2
Runs: 10
Test: Empty script execution
Performance Results:
Average time: 0.061 seconds
Fastest time: 0.048 seconds
Slowest time: 0.078 seconds
Time range: 0.030 seconds
Performance Assessment:
β Good startup performance (β€100ms)
```
Utility Commands
#### dot completions - Generate Fish Shell Completions
```bash
dot completions
```
Generates comprehensive Fish shell completions for the dot command, including:
- All commands and subcommands
- Dynamic completions for installed packages
- Option completions with descriptions
#### dot edit - Open in Editor
```bash
dot edit
```
Opens the dotfiles directory in your default editor (defined by $EDITOR).
#### dot stow - Update Dotfiles Symlinks
```bash
# Create/update symlinks for configuration files
dot stow
```
Re-creates symlinks from home/ directory to your home directory (~). Use this after editing configuration files.
#### dot link / dot unlink - Global dot Command Installation
```bash
# Install dot command globally (add to PATH)
dot link
# Remove global installation
dot unlink
```
Makes the dot command available from any directory by creating a symlink in /usr/local/bin or ~/.local/bin.