New

Agent workflows course →

01

Build with

agents.

02

Ship like an

expert.

Courses, consulting and ready-made workflows for developers building with Claude Code, Codex and AI agents.

Works with

Claude Code

Codex

GitHub

Sunrise over mountains, drawn in text characters
~/acme-appready to merge
Add rate limiting to POST /api/login and cover it with tests
  • Readsrc/routes/login.ts0.3s
  • Search"rateLimit" in 14 files0.6s
  • Editsrc/middleware/rateLimit.ts +382.1s
  • Editsrc/routes/login.ts +4 −20.8s
  • Runnpm test ✓ 42 passed6.4s
●ready to merge · 3 files · +52 −7 · 42 tests passing
src/routes/login.ts+4 −2
1import { Router } from "express";
2import { verify } from "../auth";
3+import { rateLimit } from "../middleware/rateLimit";
4
5const router = Router();
6+const loginLimit = rateLimit({ max: 5, window: "1m" });
7
8−router.post("/login", async (req, res) => {
8+router.post("/login", loginLimit, async (req, res) => {
9 const { email, password } = req.body;
10 const user = await verify(email, password);
11− if (!user) return res.status(401).end();
11+ if (!user) return res.status(401).json({ error: "invalid" });
12 res.json({ token: user.token });
3 files · +52 −7 · 42 tests passingworking…✓ Merged into main
~/acme-appready to merge
Add rate limiting to POST /api/login and cover it with tests
  • Readsrc/routes/login.ts0.3s
  • Search"rateLimit" in 14 files0.6s
  • Editsrc/middleware/rateLimit.ts +382.1s
  • Editsrc/routes/login.ts +4 −20.8s
  • Runnpm test ✓ 42 passed6.4s
●ready to merge · 3 files · +52 −7 · 42 tests passing
src/routes/login.ts+4 −2
1import { Router } from "express";
2import { verify } from "../auth";
3+import { rateLimit } from "../middleware/rateLimit";
4
5const router = Router();
6+const loginLimit = rateLimit({ max: 5, window: "1m" });
7
8−router.post("/login", async (req, res) => {
8+router.post("/login", loginLimit, async (req, res) => {
9 const { email, password } = req.body;
10 const user = await verify(email, password);
11− if (!user) return res.status(401).end();
11+ if (!user) return res.status(401).json({ error: "invalid" });
12 res.json({ token: user.token });
3 files · +52 −7 · 42 tests passingworking…✓ Merged into main
~/acme-appready to merge
Add rate limiting to POST /api/login and cover it with tests
  • Readsrc/routes/login.ts0.3s
  • Search"rateLimit" in 14 files0.6s
  • Editsrc/middleware/rateLimit.ts +382.1s
  • Editsrc/routes/login.ts +4 −20.8s
  • Runnpm test ✓ 42 passed6.4s
●ready to merge · 3 files · +52 −7 · 42 tests passing
src/routes/login.ts+4 −2
1import { Router } from "express";
2import { verify } from "../auth";
3+import { rateLimit } from "../middleware/rateLimit";
4
5const router = Router();
6+const loginLimit = rateLimit({ max: 5, window: "1m" });
7
8−router.post("/login", async (req, res) => {
8+router.post("/login", loginLimit, async (req, res) => {
9 const { email, password } = req.body;
10 const user = await verify(email, password);
11− if (!user) return res.status(401).end();
11+ if (!user) return res.status(401).json({ error: "invalid" });
12 res.json({ token: user.token });
3 files · +52 −7 · 42 tests passingworking…✓ Merged into main

// 02 Live activity

Every task, from queued to merged.

A week of agent sessions on one repo. Each square is a task.

A week of agent sessions on one repo. Each square is a task.

~/acme-web · last 7 days

Queued

Running

In review

Merged

Mon

Tue

Wed

Thu

Fri

Sat

Sun

196 tasks · 17 running · 28 in review · 126 merged

196 tasks · 17 running · 28 in review · 126 merged

Updated just now

// 05 How it works

One loop for every task.

The same four-step loop in every course and every project.

The same four-step loop in every course and every project.

01 / plan

Plan

Write a small task with a clear finish line.

$ plan.md

01 / plan

Plan

Write a small task with a clear finish line.

$ plan.md

02 / run

Run

Let the agent read, edit and test in a branch.

$ agent run

02 / run

Run

Let the agent read, edit and test in a branch.

$ agent run

03 / review

Review

Read the diff, run the checks, ask why.

$ git diff

03 / review

Review

Read the diff, run the checks, ask why.

$ git diff

04 / merge

Merge

Ship it when the tests and you agree.

$ git merge

04 / merge

Merge

Ship it when the tests and you agree.

$ git merge

// 06 Principle

Agents write the code.

You decide what ships.

Every course teaches you to review, test and own what your agents produce.

Moon over dark mountains, drawn in text characters

// 07 Pricing

Simple pricing.

Buy one course, get everything, or bring your whole team.

Buy one course, get everything, or bring your whole team.

Course

$149

one-time

One course of your choice, yours to keep.

+

Lifetime access and updates

+

Exercises on sample repos

+

Community Q&A

All access

Most popular

$390

per year

Every course, workshop recording and template.

+

Every course and update

+

Monthly live Q&A

+

Starter repo included

Team

$4,800

from, per team

Consulting for teams adopting coding agents.

+

Repo audit and rules files

+

Two live training sessions

+

CI and review setup

// 09 FAQ

Questions, answered.

Still unsure? Write to us and a real person will reply within a day.

Dusk over purple mountains, drawn in text characters

// 10 Newsletter

›

subscribe --weekly

One useful email a week.

Workflows, prompts and tools we actually use. No spam, unsubscribe any time.

Create a free website with Framer, the website builder loved by startups, designers and agencies.