Spend less time wrestling with dotfiles and more time building. awesome-dev-setup provides a meticulously curated, reproducible, and blazing-fast cross-platform (macOS & Linux) environment out of the box.
- ✨ Features
- 🚀 Quick Start
- 🛠️ The Stack
- 📂 Directory Structure
- 🤖 AI-First Development
- 🔒 Security by Design
- 🎨 Customization
- 🤝 Contributing
- 📄 License
- Idempotent & Safe: Run the bootstrap script as many times as you want. It safely symlinks configurations and never overwrites your existing local
.zshrc. - AI-Native: Built-in rules and tools for AI coding assistants (Claude Code, Codex) ensuring they write clean code without compromising security.
- Blazing Fast: Powered by modern Rust-based CLI tools (
ripgrep,fd,bat,eza,starship). - Secure by Default: Zero secrets in version control. Integrated
gitleaksprevents you from accidentally pushing API keys. - Minimalist: No bloated Oh-My-Zsh plugins. Only what you need, configured exactly how you want it.
Requirements: macOS (Apple Silicon or Intel) or Linux, with Homebrew installed.
# 1. Clone the repository
git clone https://github.com/thecodekaizen/awesome-dev-setup.git ~/.awesome-dev-setup
# 2. Navigate to the directory
cd ~/.awesome-dev-setup
# 3. Run the bootstrap script
zsh bootstrap.shflowchart TD
A[zsh bootstrap.sh] --> B{macOS / Linux + Homebrew?}
B -- no --> Z[Exit with error]
B -- yes --> C[brew bundle --file=Brewfile]
C --> D[Create ~/.config dirs]
D --> E["Symlink ghostty/config,\nstarship.toml, tmux.conf,\ngitignore_global"]
E --> F[Set git core.excludesfile]
F --> G[Install scripts/init-agent-rules\nto ~/.local/bin]
G --> H{~/.zshrc exists?}
H -- "no" --> I[Symlink zsh/.zshrc]
H -- "yes, already ours" --> J[Leave as-is]
H -- "yes, foreign file" --> K["Back up to\n~/.zshrc.backup.TIMESTAMP"]
I --> L[Done]
J --> L
K --> L
We carefully selected best-in-class tools for performance and ergonomics.
| Category | Tools | Description |
|---|---|---|
| 🖥️ Terminal | Ghostty | Hardware-accelerated, cross-platform native terminal. |
| ✏️ Editor | Zed | High-performance, multiplayer code editor. |
| 🐚 Shell | Zsh + Starship | Extremely fast, customizable prompt. |
| 🪟 Multiplexer | tmux | Terminal workspace management. |
| 🤖 AI Agents | Claude Code, Codex | Command-line AI coding assistants. |
| 🧬 Runtimes | mise | Replaces nvm, pyenv, etc. Fast polyglot tool manager. |
| ☁️ Cloud Ops | kubectl, helm, gcloud |
Essential orchestration tools. |
Say goodbye to legacy UNIX tools. We use their modern, wildly faster counterparts:
ls➡️eza(with Git integration)cat➡️bat(with syntax highlighting)find➡️fd(intuitive and fast)grep➡️ripgrep(rg)cd➡️zoxide(z)
Check the Brewfile for the authoritative list of installed tools.
.
├── bootstrap.sh # Entry point: installs packages, symlinks config
├── Brewfile # Homebrew formulae + casks
├── AGENTS.md # Guardrails for autonomous AI coding agents
├── starship.toml # Shell prompt configuration
├── .zshrc.local.example # Template for uncommitted, machine-specific config
├── ghostty/ # Hardware-accelerated terminal config
├── git/ # Global gitignore and git settings
├── scripts/ # Utility scripts (agent init, setup validation)
├── tmux/ # Multiplexer configuration
└── zsh/ # Core shell configuration
AI is treated as a highly capable peer, not a replacement. We enforce strict guardrails for any AI agent interacting with this setup.
flowchart LR
subgraph This Repository
AG[AGENTS.md<br/>Rules for Agents]
SC[scripts/init-agent-rules]
end
SC -- "cp + chmod +x" --> LB["~/.local/bin/init-agent-rules"]
LB -- "Run inside project" --> NP["Your New Project"]
AG -. "Inherited Rule Set" .-> NP
Run init-agent-rules in any new project to automatically inject AGENTS.md. This ensures that whether you are using Claude Code, Codex, or Cursor, the AI:
- Keeps changes small and focused.
- Never exposes secrets or touches production credentials.
- Leaves Git history intact (no
--forcepushes). - Always runs tests/linters before finishing work.
Security isn't an afterthought—it's baked in.
- Zero Secrets in Git: This repository contains absolutely no private keys,
.envfiles, or API tokens. - Local Overrides: Anything sensitive belongs in
~/.zshrc.local. We provide a template (.zshrc.local.example), and.gitignoreguarantees your local secrets never get pushed. - Automated Scanning:
gitleaksis installed by default, giving you a powerful CLI to scan for accidentally committed secrets in any project you work on.
This repository is designed to be a foundation, not a strict religion. You are highly encouraged to fork it and make it your own!
- Fork the repository.
- Update the
Brewfilewith your preferred tools. - Modify
zsh/.zshrcorstarship.tomlto fit your workflow. - Keep your machine-specific configurations (like work vs. personal Git emails) in
~/.zshrc.local.
We welcome contributions! If you have a tool or workflow improvement that aligns with our philosophy, we'd love to see it.
- Fork the repo and create your branch (
git checkout -b feat/amazing-tool). - Keep the scope minimal and focused.
- Ensure you test
bootstrap.shlocally before submitting. - Open a Pull Request!
This project is licensed under the MIT License - see the LICENSE file for details.