Skip to main content

Tag: Monorepo

12 posts

Posts
Three stacked wooden blocks on a light surface

Three tiers of Claude Code in CI

Read-only review, constrained auto-fix, and interactive @claude. Each tier has its own trigger, scope, and loop guard.

3 min read
Industrial pipes and valves in a mechanical room

Pooling Playwright browsers across FastAPI scans

A persistent Chromium instance with idle-timeout shutdown eliminates per-scan browser launch while isolating cookies via fresh contexts.

2 min read
A row of stamped-red boarding passes lined up on a counter

Eight Failed Deploys to Ship FastAPI + Playwright on Railway

Eight red deploys in a row shipping a Python audit service to Railway: uv grabbing Python 3.14, /root perms, Playwright browser paths, and a glob that broke.

4 min read
Two pairs of almost-identical shoes resting side by side on a bench

The Parity Harness That Caught a Silently Broken Service

I wrote a parity harness to de-risk a Node to Python scan service port. It caught the existing Node service silently returning perf=0 on every URL.

3 min read
Stage curtains half-drawn over an empty rehearsal space

asyncio.gather Is Not Enough for a Sync Client

A job poller stuck at 48 seconds. asyncio.gather did nothing. Batching plus asyncio.to_thread cut it to 8 seconds without a new library.

3 min read
Two different tools resting on the same workbench

Running a uv Python Workspace Inside an Nx Monorepo

Adding a FastAPI service to a pnpm-based Nx monorepo without teaching Nx to understand Python: uv workspace, Docker from root, dedicated CI job.

3 min read
Organized tools hanging on a workshop pegboard

Three Tools I Add to Every Monorepo Now

Knip finds dead code, Renovate updates dependencies with cooldowns, and size-limit tracks bundle cost. Each took under an hour to configure for Nx.

3 min read
A ruler and measuring tools on a wooden surface

Turning a Prose Style Guide into Zod Build Checks

Character limits, canonical tags, and em dash rules encoded as a Zod discriminated union. The script caught a duplicate cover image on its first run.

3 min read
Tangled wires and messy cables

Phantom Dependencies: What pnpm Strict Mode Reveals

Migrating from Yarn Classic to pnpm exposes dependencies that worked by accident, not by declaration.

2 min read
Neatly organized files in a filing cabinet

ESLint Import Ordering for Monorepos: Taming 77 Violations

Setting up import/order with custom path groups for monorepo aliases, fixing ESLint 10 compatibility, and auto-fixing 77 violations across the codebase.

2 min read
Wooden letterpress type blocks arranged in rows

Building a Typography System for a Next.js Design System

Auditing three competing heading systems and consolidating them into a variant-based Heading/Text API that serves as a single typography source of truth.

1 min read
Neatly organized colorful building blocks arranged in a grid pattern

From Wrapper Hell to One Source of Truth

Promoting kit wrappers into a shared-ui library with typography variants and layout primitives eliminates 2,000 lines of duplication.

3 min read