# My Complete Agentic Coding Setup Tech Stack Feb 21 2026 – Updated Jun 29 2026

> Source: <https://hboon.com/my-complete-agentic-coding-setup-and-tech-stack/>
> Published: 2026-09-14 08:59:53+00:00

# My Complete Agentic Coding Setup and Tech Stack

I get asked what a complete agentic coding setup looks like. After 30 years of programming and over a year of using coding agents daily, here’s what I use — the full stack, the agents, the deployment, and the glue that holds it together.

## Tech Stack

**TypeScript** is my language of choice. I picked it before I started with agentic coding — it’s a great general-purpose language with strong tooling and a large community, and hard to avoid completely if your project involves web frontends. Coding agents know many languages, but they know TypeScript very well.

On top of that, I use **Vue + Tailwind** on the frontend, **Fastify** on the backend, and **PostgreSQL** with **Drizzle** as the ORM. This stack is fast to build with, well-supported by coding agents, and straightforward to deploy. One note on Drizzle — I still run migration generation manually rather than letting the agent do it. Schema changes are one area where I want to see exactly what’s happening before it runs.

I built [Stacknaut](https://stacknaut.com/articles/how-to-build-a-saas-with-ai) as a starter kit that bundles this exact stack with [AI agent configuration](https://stacknaut.com/docs/ai-agent-config) and Hetzner/Kamal deployment baked in. It’s what I use to spin up new projects — auth, billing, admin, background jobs, and deployment are already wired up, so I skip straight to the product.

## Coding Agents

I use three agents: [Droid](https://www.factory.ai/droid), [Claude Code](https://docs.anthropic.com/en/docs/claude-code), and [Codex](https://github.com/openai/codex). In [my shared configuration setup](/my-coding-agent-setup/), all three share the same `AGENTS.md`, skills, and commands via softlinks to a single directory in Dropbox.

The agents have different strengths, but the shared config means I can switch freely — depending on the task or whichever frontier model is currently better.

I use [Codex to review Droid/Claude Code’s work](/using-a-second-llm-to-review-your-coding-agent-s-work/). Having a second model catch what the first one missed is one of the most reliable quality improvements I’ve found.

For frontend work, I use [DevSnoop](https://devsnoop.com) so the agent can inspect the live browser, click through the UI, and read console errors through a small HTTP API. That fits my workflow better than handing the agent a pile of generated code and asking it to guess whether the page works.

For simple TODOs, I run agents in YOLO mode inside Docker. For complex work, I stay in interactive mode — nudge it, then say [“take over”](/let-your-coding-agent-finish-for-you/) to hand off the mechanical part (review, commit, deploy).

## Editor + Terminal

I do close to zero code writing now — the agents handle that. But I still read a lot of code, especially diffs. That’s a big part of working with agents. I use **WebStorm** for its refactoring and code navigation, and **Neovim** for quick edits. Neovim runs in a dedicated **Alacritty** instance — the only Alacritty window I have — so it’s essentially a standalone editor I keep open all the time.

I run everything in **tmux**. Each agent session gets its own window. I often run [multiple agent sessions against the same repo](/using-tmux-with-claude-code/) — the trick is keeping their blast radius from intersecting. Each session works on a different part of the codebase, and I review the diffs before they step on each other.

I have [tmux auto-rename](/auto-renaming-tmux-windows-for-ai-coding-agents/) set up so windows show the project and task — makes it easy to jump between sessions.

## AGENTS.md as Project Memory

Every project has an `AGENTS.md`. The agent reads it automatically on startup. It contains the project’s architecture, development commands, coding conventions, and hints for common tasks. `CLAUDE.md` is just a single line — `@AGENTS.md` — so I only maintain one file.

This is the single most effective thing I do for agent quality. Without it, the agent guesses. With it, the agent knows how to run tests, what patterns to follow, and what to avoid.

It needs maintenance though — I add and edit instructions as I work with the agent. I also have a skill that asks the agent to reflect on our session and update `AGENTS.md` with anything it learned. Over time the file gets better without me having to remember every detail. I wrote about [how I write and maintain AGENTS.md](/how-i-write-and-maintain-agents-md-for-my-coding-agents/) in more detail.

## Skills

[Skills are the key productivity multiplier](/skills-are-the-missing-piece-in-my-ai-coding-workflow/). They’re small markdown files that all three agents understand — reusable prompts I’ve refined over time.

My most-used skills:

- **commit** — stages, writes a concise message, commits
- **review+fix** —[loops review and fix](/a-lighter-way-to-review-and-fix-your-coding-agent-s-work/) until clean
- **spec** —[interviews me to build a detailed spec](/build-a-spec-skill-for-your-coding-agent/) before coding
- **take-over** —[finishes the task](/let-your-coding-agent-finish-for-you/) end-to-end (review, commit, deploy)
- **reflect-agents.md-file** — reflects on the session and updates`AGENTS.md` with what it learned
- **deploy** — runs the deployment pipeline

Skills compose. “Take over” calls review+fix, then commit, then deploy. I say two words and walk away.

## Deployment

I deploy to **Hetzner** using **Kamal 2** — zero-downtime Docker deploys with rolling restarts. For indie builders, self-hosting on Hetzner is hard to beat on cost — and the savings become especially significant when you run multiple projects on the same box. That’s the real win if you have several products.

Kamal handles the Docker orchestration, SSL via Let’s Encrypt, and zero-downtime deploys. The config is a single YAML file. A few projects are still exceptions, but Hetzner + Kamal is my default now.

## Infrastructure

The rest of my setup:

- **Cloudflare** — DNS and CDN. I use Cloudflare Tunnel for[exposing local dev servers](/configuring-cloudflare-tunnel-to-expose-servers-for-local-development-webhooks-etc/) to webhooks during development.
- **PostHog** — product analytics. I wrote about[setting it up](/building-production-analytics-with-posthog-a-complete-implementation-guide/) previously. Self-hosted on Hetzner.
- **Clicky** — simple web analytics for traffic.
- **Namecheap** — domain registrar.

## The Full Picture

The setup has evolved over the past year. The common thread is that everything is optimized for working with coding agents — shared config, composable skills, AGENTS.md as project memory, multiple tmux sessions, and a deployment pipeline the agent can trigger directly.

If you’re starting from scratch, the most important keyword is “agentic” — and the parts that matter most are `AGENTS.md` and skills. If you want the packaged version instead of assembling it piece by piece, Stacknaut has the [SaaS build guide](https://stacknaut.com/articles/how-to-build-a-saas-with-ai) and [pricing](https://stacknaut.com/pricing). I wrote about my [solopreneur journey](/things-i-am-learn-as-a-solopreneur-starting-up-again/) and how this setup fits into building products solo.

[Feedback](mailto:hboon@motionobj.com?subject=Feedback%2Fquestions+about+https%3A%2F%2Fhboon.com%2Fmy-complete-agentic-coding-setup-and-tech-stack%2F)
