Skip to content

aitchwhy/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

macOS Dotfiles (2025 Edition)

A comprehensive, modular collection of dotfiles and configuration files for modern macOS development environments, optimized for Apple Silicon with Tokyo Night theme and AI-powered workflows.

πŸ“š Table of Contents

✨ Features

  • πŸš€ One-command installation for fresh macOS systems
  • πŸ”„ Easy updates for existing installations
  • πŸ› οΈ Comprehensive development tooling with optimized configurations
  • ⌨️ Modern terminal setup with Ghostty, ZSH, Starship, and more
  • πŸ–₯️ Efficient window management with Aerospace and Hammerspoon
  • 🎨 Consistent Tokyo Night theme across all tools
  • 🧠 AI-powered workflows with Claude, GPT, and Gemini integration
  • πŸ“‘ API development utilities with OpenAPI tools and client generation
  • πŸ”’ Secure and maintainable setup with XDG compliance
  • πŸ“Š TypeScript SDK for programmatic access to all functionality

πŸ” Prerequisites

  • macOS (Apple Silicon)
  • Git
  • Curl
  • Zsh

πŸš€ Installation

Fresh Installation

For a fresh macOS installation:

# Clone the repository
git clone https://github.com/yourusername/dotfiles.git ~/dotfiles

# Run the setup script
cd ~/dotfiles
./scripts/setup.sh

This will:

  1. Check system requirements
  2. Create XDG base directories
  3. Symlink configuration files
  4. Install Homebrew and packages (optional)
  5. Configure macOS preferences (optional)
  6. Set up the Git conventional commits workflow
  7. Initialize AI integrations and tools

Existing Installation

For updating an existing installation:

# Navigate to dotfiles directory
cd ~/dotfiles

# Pull latest changes
git pull

# Run the setup script to update symlinks
./scripts/setup.sh --update

Installation Options

./scripts/setup.sh [options]

Options:
  --no-brew     Skip Homebrew installation and updates
  --no-macos    Skip macOS preferences configuration
  --minimal     Install only essential configurations
  --update      Update existing installation
  --ai-only     Only update AI-related configurations
  --help        Show this help message

πŸ“ Directory Structure

dotfiles/
β”œβ”€β”€ config/              # Configuration files (XDG_CONFIG_HOME)
β”‚   β”œβ”€β”€ aerospace/       # Aerospace window manager
β”‚   β”œβ”€β”€ ai/              # AI tools and integrations
β”‚   β”‚   β”œβ”€β”€ core/        # Core AI configuration
β”‚   β”‚   β”œβ”€β”€ prompts/     # Reusable prompt templates
β”‚   β”‚   β”œβ”€β”€ providers/   # Provider-specific configs
β”‚   β”‚   β”œβ”€β”€ tools/       # Tool integrations (Git, API, etc.)
β”‚   β”‚   └── utils/       # TypeScript and Bash utilities
β”‚   β”œβ”€β”€ atuin/           # Shell history
β”‚   β”œβ”€β”€ bat/             # Cat alternative
β”‚   β”œβ”€β”€ ghostty/         # Terminal emulator
β”‚   β”œβ”€β”€ git/             # Git configuration
β”‚   β”œβ”€β”€ hammerspoon/     # macOS automation
β”‚   β”œβ”€β”€ nvim/            # Neovim editor
β”‚   β”œβ”€β”€ starship/        # Shell prompt
β”‚   β”œβ”€β”€ vscode/          # VS Code editor
β”‚   β”œβ”€β”€ yazi/            # Terminal file manager
β”‚   β”œβ”€β”€ zellij/          # Terminal multiplexer
β”‚   └── zsh/             # ZSH configuration
β”œβ”€β”€ docs/                # Documentation
β”œβ”€β”€ home/                # Nix-related
β”œβ”€β”€ modules/             # Nix-related
β”œβ”€β”€ scripts/             # Utility scripts
β”‚   └── setup.sh         # Installation script
β”œβ”€β”€ api/                 # API specifications and clients
β”‚   β”œβ”€β”€ specs/           # OpenAPI specifications
β”‚   β”œβ”€β”€ clients/         # Generated API clients
β”‚   └── server/          # API server implementations
β”œβ”€β”€ sdk/                 # TypeScript SDK for dotfiles
β”œβ”€β”€ CLAUDE.md            # Claude Code instructions
β”œβ”€β”€ SPECIFICATIONS.md    # Detailed specifications
└── README.md            # This file

πŸ”§ Tool Configurations

Tool README Description
Aerospace README Window manager with Tokyo Night theme
AI Tools README AI-powered workflows with Claude, GPT, etc.
API Tools README REST API utilities and OpenAPI tools
Atuin README Shell history with sync and search
Bat README Cat clone with syntax highlighting
Git README Version control with safe defaults
Ghostty README Modern GPU-accelerated terminal
Hammerspoon README macOS automation framework
Neovim README Text editor with LazyVim config
Starship README Cross-shell prompt with Tokyo Night theme
VS Code README Editor with optimized settings
Yazi README Terminal file manager with Neovim integration
Zellij README Terminal multiplexer with layouts
ZSH README Shell with aliases and functions

πŸ€– AI Integration

This dotfiles repository includes comprehensive AI integration for development workflows, organized in a modular, composable architecture:

                          +-------------------------------------+
                          |        AI Configuration System      |
                          +-------------------------------------+
                                           |
                   +--------------------------------------------+
                   |                       |                    |
        +----------v---------+   +---------v--------+   +------v------+
        |  Core Components   |   | Provider Integrations |  |  Interfaces   |
        +--------------------+   +--------------------+   +--------------+
        |                    |   |                    |   |              |
        | +----------------+ |   | +----------------+ |   | +----------+ |
        | |    Config      | |   | |     Claude     | |   | |   CLI    | |
        | +-------+--------+ |   | +-------+--------+ |   | +----+-----+ |
        |         |          |   |         |          |   |      |       |
        | +-------v--------+ |   | +-------v--------+ |   | +----v-----+ |
        | |     Types      | |   | |     OpenAI     | |   | | TypeScript| |
        | +-------+--------+ |   | +-------+--------+ |   | |  Library  | |
        |         |          |   |         |          |   | +----------+ |
        | +-------v--------+ |   | +-------v--------+ |   |              |
        | |     Utils      | |   | |     Anthropic  | |   |              |
        | +----------------+ |   | +----------------+ |   |              |
        +--------------------+   +--------------------+   +--------------+

Key AI Components

Using AI Commands

# Generate code with AI
just ai:code typescript "Create a function that sorts an array"

# Review code with AI
just ai:review path/to/file.js

# Generate commit messages
just ai:commit-msg

# Create API client from OpenAPI spec
just api:generate-client path/to/spec.yaml output-dir

Git Integration

Conventional Commits Workflow

The repository is configured with a comprehensive Conventional Commits workflow for creating structured, standardized commit messages:

Conventional Commits Workflow

# Stage files with fuzzy selection
gfa

# Create conventional commit with interactive wizard
gcz

# Bypass validation for work-in-progress
gczf

Commit Message Format

Commit Message Format

All commits follow the conventional format:

  • Type: The change category (feat, fix, docs, etc.)
  • Scope: Optional component affected (auth, api, etc.)
  • Description: A concise description of the change
  • Body: Optional longer explanation
  • Footer: Optional references to issues, breaking changes

AI-Assisted Commit Messages

The configuration also includes AI-assisted git commit message generation:

# Generate a conventional commit message with AI
git ai-commit

# Use AI to analyze code and create a detailed message
just ai commit-msg

For detailed information, see:

πŸ“‘ API Utilities

The api namespace provides comprehensive tools for API development:

OpenAPI Tooling

# Validate OpenAPI specification
just api:optic:validate spec.yaml

# Start an API proxy for testing
just api:optic:proxy spec.yaml 8080

# Lint OpenAPI specification with Spectral
just api:spectral:lint spec.yaml

# Generate a TypeScript client
just api:generate-client spec.yaml ./clients/typescript

# Generate a Python client
just api:generate-python-client spec.yaml ./clients/python

# Start a mock server based on specification
just api:mock spec.yaml 8080

HTTP Testing

# Make GET/POST/PUT/DELETE requests
just api:httpie:get https://api.example.com/users
just api:httpie:post https://api.example.com/users name=John age=30

# Save request to Bruno file for API collections
just api:httpie:save-to-bruno https://api.example.com/users GET example ./bruno/

For detailed information, see the API Tools README.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •