Tag: Monorepo
12 posts

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.

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.

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.

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.

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.

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.

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.

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.

Phantom Dependencies: What pnpm Strict Mode Reveals
Migrating from Yarn Classic to pnpm exposes dependencies that worked by accident, not by declaration.

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.

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.

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.