Blint makes AI-coding
predictable and scalable.
Define your best design ideas as patterns, document the purpose behind your code, and enforce both consistently — across every file, every commit, every contributor.
What's included
The core idea
AI-coded projects get messy fast.
Good guardrails keep them on track.
The bigger the project, the worse it gets. AI doesn't remember what it decided last time. It doesn't know your team already settled on an approach. Left unchecked, you end up with working code that's inconsistent, hard to maintain, and poorly designed.
Blint introduces controlled code — guardrails that enforce your design opinions automatically. Patterns define how code should be written. Documentation defines why it exists. Using Blint, you can ensure both are always followed, even as your codebase and team grow.
Keeping Control: Patterns and documentation
Controlled code answers two questions: why was it written, and how should it be designed?
The why
Documentation
Business purpose and domain concepts. What does this service do? Why does this workflow exist? Project-specific context so your AI understands the system it's building, not just the file it's editing.
How it works: markdown docs, versioned with git, visible in the app, feeding into your coverage map.
The how
Patterns
Design decisions and coding conventions. How should data be validated? How should errors be handled? Reusable ideas that keep code consistent as it scales.
How it works: markdown files with glob matchers, living in your repo. You can publish your favourites to the registry or download others.
Blint is not focused on thorough technical specification. Instead, it emphasizes higher-level design principles and domain concepts.
Patterns
Share your best ideas between projects and with others
Sometimes it's good to be opinionated. A pattern is your take on how something should be done — a design principle with teeth. Each targets specific files via globs and gets enforced automatically.
Demo Driven Development
Build components in isolation with Storybook. Comprehensive demos as living documentation.
Environment Configuration
Fail fast with explicit values. No defaults, no fallbacks — validate all required variables at startup.
Async Loading Component
Centralise loading, error, and retry UI for React Query. One component handles the state machine.
Data Model Handling
Shared Zod schemas as the single source of truth. Validate at boundaries, infer types from schemas.
E2E Testing with Storybook
Page objects and component tests with Playwright. Composable, isolated test strategy.
Managing LocalStack
Treat LocalStack as disposable. Destroy-first deploys for AWS local development.
Tailwind Culling Fix
Use @source directive to prevent class purging in shared monorepo components.
Organising .env Files
Separate .env files per app and environment. No shared configs across stages.
Null vs Undefined
Treat them as semantically distinct. Null means explicitly empty; undefined means not set.
Service Events
Lightweight DynamoDB-backed event logging for business visibility without a third-party platform.
Lambda Tips
Health checks, debugging flags (verbose, dry), and version reporting on every Lambda.
API Mocking Pattern
Clean swap between real and mock APIs using React Context. No conditionals in component code.
AI-Managed Documentation
Embed markdown docs in your codebase. Let Claude maintain the content with real diagrams.
Strict Schemas
Typed schemas for all data structures. No loose JSON or untyped dictionaries.
Colocation
Keep related code together. Tests, styles, and utilities next to the code they serve.
Fail Fast
Validate preconditions early. Throw on invalid state rather than continuing silently.
Blint provides development workflows
Plan work, implement in isolation, enforce patterns throughout
Blint lets you plan new features and fixes using specification documents. When you start a spec, Blint sets up an isolated environment so parallel work doesn't collide. Before merging, Blint checks that the code follows your patterns and meets your standards.
Draft
Write the spec
Environment
Set up isolation
Implement
Build the feature
Check
Enforce patterns
Merge
Ship with confidence
Original folder
Work directly in your project. No isolation — best for quick fixes.
Git worktree
Clean checkout on a new branch. Main project stays untouched.
Full copy
Complete project copy with dependencies. Self-contained — no rebuild.
CLAUDE.md management
Keep your AI's context current without manual editing
Blint manages its own sections inside your CLAUDE.md — the file Claude Code reads for project guidance. Your existing content stays untouched. One click to sync the managed sections.
Patterns — routes Claude to the right pattern files based on glob matchers
Documentation — key points from your colocated docs, kept in sync automatically
Conventions — industry principles like DRY, KISS, Fail Fast, toggled on per project
Pointers — project-specific notes like "use AWS profile personal" or "run tests with --watch"
CLAUDE.md
Managed by Blint
Patterns
Documentation
Conventions
Pointers
Get started with Blint
Free for public patterns. Download the desktop app for macOS or Windows.