Compact 8-tool developer stack for 2026: editor+AI, fast shell, Git workflows, single-source docs, focus blocks, then automation.
Most senior engineers can cover the full workday with about 8 connected tools - not 20. The point of this stack is simple: cut context switching, protect 2–3 hour focus blocks, and make coding, review, docs, and automation feed into each other.
Here’s the short version:
- I’d keep daily.dev for a 10–15 minute morning scan
- I’d use Cursor or VS Code + GitHub Copilot as the main coding setup
- I’d pair the editor with a shell stack built around zsh, Starship, fzf, and ripgrep
- I’d use GitHub for code hosting and CI, with Lazygit and Delta for local Git work
- I’d split notes across Obsidian for personal use and in-repo Markdown for specs and API docs
- I’d protect focus with calendar blocks, then add task flow with Linear
- I’d automate only after the base workflow feels stable, using GitHub Actions, Docker, direnv, and pre-commit
The core idea is not “more tools.” It’s fewer handoffs. If one tool does not make the next step easier, it probably does not belong in the stack.
Quick Comparison
| Layer | Main job | Common pick | Main watchout |
|---|---|---|---|
| Staying current | Dev news and learning | daily.dev | Feed can get noisy |
| Editor and AI | Writing and changing code | Cursor or VS Code + Copilot | AI output needs close review |
| Terminal | Local commands and navigation | zsh + Starship + fzf + rg | Takes time to build muscle memory |
| Version control | Hosting, CI, PR flow | GitHub | Setup can grow complex |
| Local Git review | Staging and diffs | Lazygit + Delta | Extra tools to learn |
| Notes and docs | Personal and team context | Obsidian + repo docs | Sync and upkeep need effort |
| Time and focus | Deep work protection | Calendar blocks + Linear | Only works if you stick to it |
| Automation | Checks, setup, releases | GitHub Actions + Docker | YAML and setup overhead |
A few numbers stand out. ripgrep can search code 10–100x faster than standard grep, Cursor costs $20/month, Windsurf costs $15/month, GitHub Copilot costs $10/month, and Notion team plans run about $8–$10 per user/month. Those details matter because the best stack is the one you will keep using every day.
So if I were starting from zero, I’d build in this order: editor, AI, terminal, Git, docs, focus, then automation. That gets the highest-use parts in place first and keeps tool churn under control.

Core workflow layers: information, coding, and command line
Staying current with daily.dev

daily.dev gives you a personalized feed of articles, tutorials, and discussions based on your stack. Instead of bouncing between sites and newsletters, you get the signal in one spot.
The new-tab browser integration makes this stick. Every new tab opens your feed, so keeping up with the ecosystem becomes part of your day instead of another task on your list. Senior engineers often spend about 10 minutes each morning there to get a quick read on what’s changing, then shift into deep work . The free core also includes Squads, Search, and DevCards.
That morning scan sets the stage for the editor, where most of the day’s work happens.
Editor and AI tools: the main coding surface
Once you have that context, the editor becomes the main work area. VS Code is still a strong default because its extension ecosystem fills a lot of day-to-day gaps. GitLens, Error Lens, and Tailwind IntelliSense are common picks for that reason .
The big change in 2026 is the move from plain autocomplete to agent-driven workflows. Cursor ($20/month) stands out for agentic editing with Composer and Agent modes. Windsurf ($15/month) offers a similar setup through Cascade at a lower price. GitHub Copilot ($10/month) fits teams that want broad IDE support and tight pull request integration .
As AI starts writing more production code, careful review matters even more .
Terminal tools for fast local work
The terminal is still where small time savings stack up. Warp adds AI command help, while iTerm2 and WezTerm fit keyboard-first setups that lean on scripts and customization .
A lot of the payoff comes from replacing slower defaults with faster shell tools:
rgfrom ripgrep searches code 10–100x faster than standard grep and automatically respects.gitignorefzfplugs into shell history withCtrl+Rand file picking withCtrl+T, which cuts down on retyping long pathsfdis a cleaner swap forfindbatgives you a syntax-highlighted version ofcatezaworks as a git-aware replacement forls
These tools start paying you back once they’re in muscle memory. Pair them with zsh and a fast prompt like Starship, and you get a setup that feels quick on day one and is easy to recreate on a new machine .
From there, the stack shifts into version control basics and review, where local work turns into shared work.
Collaboration layers: version control, review, notes, and docs
Version control and code review tools
Once local work is ready to share, the stack shifts into Git, code review, and docs.
GitHub brings source control, Actions, Copilot, and Projects into one place. GitLab is often a better fit for teams that need self-hosted governance or strict compliance .
For local Git work, many senior engineers use Lazygit with Delta. Lazygit helps with fast staging and history navigation. Delta makes diffs much easier to read with syntax highlighting . Add a few Git aliases on top of that and the daily commit loop gets a lot less annoying. For example:
undoresets the last commit while keeping changes stagedwipandunwipmake it easy to stash and restore work in progress
As AI coding assistants produce more production code, review needs to stay focused on the places where things can go sideways. Pay close attention to security boundaries, data mutations, error handling, type safety, and business logic. A common setup is to use one agent, such as Claude Code, to build the feature, then use another, such as Greptile, to inspect the diff with full-repo context . Type checks and builds should run on every push, and each pull request should get a preview deploy .
Notes and docs tools that keep context from leaking
Docs keep decisions from drifting out of the codebase.
Code review gets much easier when project context is simple to find. A clean way to handle this is with three doc layers. Obsidian works well for private, local-first Markdown notes for individual engineers, and it is free for personal use . Notion fits shared team knowledge bases, wiki pages, meeting notes, and cross-functional planning, with team pricing around $8–$10/user/month . For specs and API docs, keep them in the repo with Markdown, Docusaurus, and Swagger/OpenAPI .
Each repository should also have a CLAUDE.md file at the root. It gives AI agents the repo conventions, architecture notes, and stack context they need before they start making changes .
"The bottleneck is moving from 'how fast can a developer write code' to 'how well can the team decide what to build.'" - Catio Editorial
Running your day: focus, automation, and setup order
Time and focus tools that protect deep work
Once your coding stack is set up, the next job is simple: protect enough time to use it well.
That means blocking 2–3 hour windows on your calendar for deep work and cutting down the places where interruptions can sneak in.
Linear works well as the daily task hub. Its keyboard-first workflow matches how many developers like to work . On macOS, Raycast is handy for quick capture and snippets . Keito and RescueTime help track work time, and Keito also logs human and AI sessions .
Automation tools that connect the stack
After you’ve protected time, the next step is connecting the repetitive parts of the day.
Automation should remove decisions, not just keystrokes. Put your energy into environment setup, tests, formatting, dependency checks, and releases .
GitHub Actions handles CI/CD pipeline orchestration natively and should run type checks, linting, and security gates on every push . For local consistency, Docker helps keep environments from drifting between machines. direnv loads the right environment variables as soon as you enter a project directory. pre-commit hooks catch formatting and lint errors before they make it into a pull request . For workflows with several steps, Make gives the team shared commands without relying on custom scripts .
Build each layer only after the one before it feels steady.
How to build your stack from scratch in the right order
Tool churn eats time. The fix is a deliberate setup sequence where each layer supports the next one, plus a simple rule: stick with a tool for 30–90 days before you switch .
Build the stack in this order:
- Signal first: Set up daily.dev and spend 10–15 minutes each morning scanning for relevant updates before checking Linear or opening your IDE .
- Editor and AI: Pick one editor - Cursor for AI-native editing or VS Code with GitHub Copilot .
- Terminal baseline: Configure Warp or zsh with Starship and fzf for fast command discovery and directory navigation .
- Git and review: Connect GitHub for effective source control management and Linear for issue tracking .
- Notes and docs: Start with Obsidian for personal notes, then add a
CLAUDE.mdat the root of each repo for AI context . - Focus tools: Add Raycast once the manual workflow feels steady .
- Automation last: Only then wire up GitHub Actions, Docker, and direnv .
Conclusion: the 2026 stack working engineers actually keep
In 2026, AI takes care of most routine work. So the stack that wins isn’t bigger. It’s smaller, tighter, and easier to trust. What matters now is the workflow, not a pile of apps.
That idea shows up in the stack map below.
| Layer | Primary Job | Best Fit | Main Tradeoff |
|---|---|---|---|
| Staying current | High-signal dev news | daily.dev | Requires curation to avoid noise |
| Editor & AI | Code generation & multi-file editing | Cursor | VS Code fork; rare extension bugs |
| Terminal AI | Autonomous CLI tasks & refactoring | Claude Code | Usage-based cost; can be over-eager |
| Version control | Code hosting & CI/CD | GitHub | Can get complex at scale |
| Review & PM | Issue tracking | Linear | Not built for non-tech stakeholders |
| Notes & docs | Knowledge management | Obsidian | Local-only; sync requires extra setup |
| Time & focus | Protecting deep work | Calendar blocks | Requires personal discipline |
| Automation | Connecting the stack | GitHub Actions | YAML-heavy; limited for non-code tasks |
This stack works best when each layer hands off cleanly to the next: signal to editor, editor to terminal, terminal to Git, and automation closes the loop.
If you’re starting from zero, follow a developer environment setup checklist and begin with the layers that carry the most daily weight:
- Editor first
- Then AI
- Terminal
- Git and review
- Notes and docs
- Time and focus
- Automation
That order makes sense for a simple reason: it starts with the tools you touch all day, then adds the systems that keep work moving.
FAQs
How do I choose between Cursor and VS Code with Copilot?
It mostly comes down to workflow.
Cursor is built on VS Code, but it puts AI at the center of the editing experience. That means you still get extension support, while making tasks like editing across multiple files and handling bigger refactors feel more natural.
VS Code with GitHub Copilot tends to fit teams that care about broad use, enterprise compliance, and GitHub-first workflows. A lot of developers use both: Cursor for coding and refactors, and Copilot for PR summaries, issue tracking, and inline completions.
What should I set up first if I’m building a productivity stack from scratch?
Start by finding the parts of your day that slow you down instead of jumping straight into a pile of tools. For a lot of people, the first fix is shell friction. If your terminal feels clunky, even small tasks can turn into a drag.
Next, make your editor the main place where work happens. It should be the hub for coding, Git review, and terminal access, so you’re not bouncing between apps all day.
After that, add more specialized tools only when there’s a clear need. That might mean an AI coding assistant, an API debugging tool, or a database GUI. The key is simple: let the project decide what gets added, not the other way around.
When is a workflow stable enough to automate?
A workflow is ready for automation when it’s repeatable and you understand it well. In most cases, that happens after you’ve run it by hand enough times to spot the core requirements.
It also makes sense to automate when tasks like linting, testing, or deployments keep showing up as friction. Those repeat tasks chip away at time you could spend on deeper work. Leave them manual, and they often lead to needless context switching and lost time.