Every developer has their stack. Not just the languages and frameworks — I mean the actual tools you open every single morning before you write a line of code. The terminal, the editor, the browser, the little utilities that shave seconds off repetitive tasks until those seconds become hours.
This is my list. Fifteen tools I use daily in 2026, organized by category. Some are popular, some are niche, all are non-negotiable for me. If you’re looking for a broader roundup of AI-specific tools, check out my best AI coding tools for 2026 post — this one is more personal.
Let’s get into it.
Terminal
1. Warp
Warp replaced my old terminal and I never looked back. It’s a GPU-accelerated terminal that treats your command history, output, and input as structured blocks instead of an endless scroll of text. That alone changes how you interact with the shell.
Why I use it: Speed and UX. Warp feels like a modern app, not a 1980s emulator wearing a skin. Autocomplete is genuinely useful, and sharing terminal output with teammates is trivial.
Killer feature: Block-based output. Every command and its output is a discrete, selectable, copyable block. No more squinting at where one command ends and another begins.
2. Zsh (with minimal config)
I run zsh as my shell, but I’ve stripped my config down to the essentials over the years. No oh-my-zsh, no massive plugin frameworks. Just a handful of aliases, a clean prompt, and fast startup. If you want to sharpen your shell skills, my Linux terminal cheat sheet and Bash cheat sheet cover the fundamentals.
Why I use it: It’s the default on macOS, the completion system is excellent, and it’s compatible with virtually everything.
Killer feature: Programmable completion. Zsh’s tab completion is miles ahead of bash out of the box — it completes flags, paths, git branches, and more without extra plugins.
3. fzf
fzf is a fuzzy finder for the terminal. Pipe anything into it — file lists, git branches, command history, environment variables — and get instant, interactive fuzzy search.
Why I use it: It turns every list into a searchable menu. I use it dozens of times a day: Ctrl+R for history search, Ctrl+T for file picking, and custom scripts for everything else.
Killer feature: The ** tab completion trigger. Type vim **<tab> and you get a fuzzy file finder inline. It sounds small. It changes everything.
4. ripgrep (rg)
ripgrep is grep, but fast. Absurdly fast. It respects .gitignore by default, searches recursively, and outputs results in a format that’s actually readable.
Why I use it: I search codebases constantly. ripgrep finds what I need in milliseconds across massive repos. I aliased grep to rg years ago and forgot regular grep exists.
Killer feature: Automatic .gitignore respect. No more wading through node_modules or dist folders in your search results.
Editor
5. Cursor
Cursor is my primary editor in 2026. It’s a fork of VS Code with deep AI integration — not bolted-on copilot features, but AI woven into the editing experience itself. Tab completion, inline chat, codebase-aware context — it all just works.
Why I use it: The AI features save me real time on real tasks. Refactoring, writing boilerplate, understanding unfamiliar code. It’s the first AI editor that doesn’t feel like a gimmick. For more on AI-assisted coding workflows, see my AI coding tools roundup.
Killer feature: Codebase-aware chat. You can ask questions about your entire project and it actually understands the relationships between files. Not just pattern matching — genuine context.
6. VS Code
I still keep VS Code around. Some projects, some extensions, some debugging workflows just work better in vanilla VS Code. It’s also what I recommend to anyone who asks “what editor should I use?” because the ecosystem is unmatched.
Why I use it: Stability, extensions, and universal support. Every language, every framework, every tool has a VS Code extension. The Vim keybindings extension keeps my muscle memory intact.
Killer feature: Remote development. SSH into a server, open a container, connect to a codespace — and get the full editor experience. Nothing else does this as seamlessly.
AI
7. Claude Code
Claude Code is my go-to AI coding assistant for terminal-based workflows. It lives in the command line, understands project context, and can read, write, and refactor files directly. I wrote a full guide on it: How to Use Claude Code.
Why I use it: It handles complex, multi-file tasks that inline copilots struggle with. Need to refactor an API layer across six files? Claude Code gets it done without me copy-pasting context into a chat window.
Killer feature: Agentic file editing. It doesn’t just suggest code — it reads your project, makes changes, and explains what it did. You review and approve. It’s pair programming with an AI that actually understands the codebase.
8. Ollama
Ollama lets you run open-source LLMs locally. Llama, Mistral, CodeGemma, whatever — download a model and run it on your machine with one command. No API keys, no cloud dependency, no data leaving your laptop. I covered it in depth in my complete Ollama guide.
Why I use it: Privacy and speed for quick tasks. I use local models for commit message generation, quick code explanations, and throwaway scripts. No latency, no cost, no sending proprietary code to an API.
Killer feature: ollama run simplicity. One command, one model, instant chat. No Docker, no Python environments, no config files. It just works.
Browser
9. Arc
Arc is the browser I didn’t know I needed. It replaces tabs with a sidebar, organizes spaces by project, and auto-archives tabs you haven’t touched. The result is a browser that stays clean without effort.
Why I use it: Tab management is a real productivity problem and Arc actually solves it. I have spaces for work, personal, and each major project. Switching context is instant.
Killer feature: Auto-archiving. Tabs you haven’t visited in 12 hours disappear from your sidebar. If you need them, they’re in history. If you don’t, they’re gone. It sounds aggressive — it’s liberating.
10. Browser DevTools
This isn’t a single tool, but Chrome/Arc DevTools deserve a spot. I live in the Network tab, the Console, and the Performance profiler. If you’re a web developer and you’re not fluent in DevTools, you’re leaving performance and debugging insights on the table.
Why I use it: Debugging frontend issues without DevTools is like debugging backend issues without logs. It’s the most powerful tool most developers underuse.
Killer feature: The Performance tab’s flame charts. Record a page load, see exactly where every millisecond goes. It’s turned vague “the page feels slow” complaints into specific, fixable bottlenecks for me more times than I can count.
Notes
11. Obsidian
Obsidian is a Markdown-based note-taking app with local-first storage and bidirectional linking. I use it for everything: meeting notes, project docs, learning journals, blog drafts (including this one).
Why I use it: My notes are plain Markdown files on my filesystem. No vendor lock-in, no proprietary format, no subscription required for core features. I can grep my notes. I can version them with git. That matters.
Killer feature: Graph view and backlinks. Every note links to related notes, and you can visualize the connections. Over time, your knowledge base becomes a web of interconnected ideas instead of a graveyard of forgotten documents.
Git
12. lazygit
lazygit is a terminal UI for git. Staging, committing, branching, rebasing, resolving conflicts — all through a keyboard-driven interface that’s faster than typing git commands and more intuitive than most GUI clients.
Why I use it: Interactive rebasing in lazygit is a joy. Staging individual hunks is effortless. Cherry-picking, stashing, managing remotes — everything is two keystrokes away. It made me better at git because it made git less painful.
Killer feature: Interactive rebase UI. Squash, reorder, edit, drop commits — all visually, all reversible. It takes the fear out of rewriting history.
13. GitHub CLI (gh)
The gh CLI brings GitHub into the terminal. Create PRs, review diffs, manage issues, trigger workflows, browse repos — without opening a browser.
Why I use it: Context switching kills focus. Opening GitHub in a browser to create a PR means tabs, notifications, distractions. gh pr create keeps me in the terminal and in the zone.
Killer feature: gh pr create --fill. It auto-fills the PR title and body from your commit messages. For well-structured commits, this means zero-effort PR creation.
Misc
14. Raycast
Raycast is a launcher for macOS that replaced Spotlight for me. It launches apps, runs scripts, manages clipboard history, converts units, controls windows, integrates with dozens of services, and does it all in under 200ms.
Why I use it: It’s the glue between all my other tools. Switch to a project in Cursor, open a GitHub repo, search my notes, paste from clipboard history — all from one keyboard shortcut.
Killer feature: Script commands. Write a bash or Python script, drop it in a folder, and it becomes a Raycast command with a UI. I have custom scripts for creating blog posts, generating UUIDs, and formatting JSON.
15. 1Password
1Password manages my passwords, SSH keys, API tokens, environment variables, and 2FA codes. It’s not just a password manager — it’s a secrets manager for my entire development workflow.
Why I use it: The CLI integration is what sets it apart for developers. op run injects secrets into commands as environment variables. No more .env files with real credentials sitting on disk. No more pasting API keys into terminals.
Killer feature: SSH agent integration. 1Password acts as your SSH agent — keys are stored in the vault, and authentication happens through biometrics. No ~/.ssh folder full of unencrypted private keys.
The Philosophy
Looking at this list, a pattern emerges: I gravitate toward tools that are fast, keyboard-driven, and composable. Tools that do one thing well and get out of the way. Tools that respect my filesystem and don’t lock me into proprietary formats.
The best tool is the one you actually use every day. Not the one with the most features, not the one that won the Product Hunt launch, not the one your favorite YouTuber sponsored. The one that fits your workflow so naturally you forget it’s there.
These fifteen do that for me. Your list will look different — and it should. But if you haven’t revisited your toolchain in a while, take an afternoon and experiment. Swap one tool. Try a new terminal, a different launcher, a local LLM. The compound effect of small efficiency gains across tools you use hundreds of times a day is enormous.
What’s on your list? I’d genuinely like to know.