My Development Environment 2025
Introduction
Your development environment directly impacts productivity. In this article, I'll introduce the tools and configurations I use in my daily development.
Editor
Cursor
I use Cursor as my main editor. It's VS Code-based with integrated AI assistant features.
Frequently used features:
- Cmd + K: Code generation/editing
- Cmd + L: Chat panel
- Tab: Apply inline suggestions
Recommended extensions:
- Tailwind CSS IntelliSense
- Pretty TypeScript Errors
- Error Lens
- GitLens
Font
I use JetBrains Mono for programming.
{
"editor.fontFamily": "JetBrains Mono",
"editor.fontSize": 14,
"editor.fontLigatures": true,
"editor.lineHeight": 1.6
}Terminal
Warp
I use Warp as my terminal emulator.
What I like:
- Modern UI
- Block display of command history
- AI command search
- Fast completions
Shell
I use zsh with sheldon as the plugin manager.
# ~/.config/sheldon/plugins.toml
[plugins.zsh-autosuggestions]
github = "zsh-users/zsh-autosuggestions"
[plugins.zsh-syntax-highlighting]
github = "zsh-users/zsh-syntax-highlighting"
[plugins.zsh-completions]
github = "zsh-users/zsh-completions"Starship
I customize my prompt with Starship.
# ~/.config/starship.toml
[character]
success_symbol = "[❯](green)"
error_symbol = "[❯](red)"
[directory]
truncation_length = 3
truncate_to_repo = true
[git_branch]
symbol = " "CLI Tools
Essential Tools
| Tool | Purpose | Replaces |
|---|---|---|
| eza | ls replacement | ls |
| bat | cat replacement | cat |
| fd | find replacement | find |
| ripgrep | grep replacement | grep |
| zoxide | cd replacement | cd |
| fzf | Fuzzy finder | - |
Alias Configuration
# ~/.zshrc
alias ls="eza --icons"
alias ll="eza -la --icons"
alias cat="bat"
alias find="fd"
alias grep="rg"
alias cd="z"Git Related
# Git aliases
alias g="git"
alias gs="git status"
alias ga="git add"
alias gc="git commit"
alias gp="git push"
alias gl="git log --oneline -10"
alias gd="git diff"
alias gco="git checkout"
alias gb="git branch"lazygit is also handy:
alias lg="lazygit"Package Managers
Homebrew
I use Homebrew for macOS package management.
# Common commands
brew install <package>
brew upgrade
brew cleanup
brew listBun
I use Bun for JavaScript/TypeScript projects.
bun install # Install packages
bun run dev # Run scripts
bun add <pkg> # Add package
bun remove <pkg> # Remove packageOther Tools
Docker Desktop
I use Docker Desktop for container management.
Raycast
I use Raycast as my launcher. A great Spotlight replacement.
Frequently used features:
- Application launcher
- Clipboard history
- Snippets
- Window management
Arc Browser
I use Arc as my browser.
What I like:
- Spaces for tab organization
- Sidebar pinning
- Minimal UI
Dotfiles Management
I manage my configuration files on GitHub. Makes it easy to set up new machines.
# Dotfiles setup
git clone https://github.com/username/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./install.shConclusion
I'm constantly evolving my development environment. It's important to try new tools and build an environment that works for you.
If you have any tool recommendations, please let me know!