Why we built Indigo

The foundation should be a solved problem

Every SaaS rebuilds the same plumbing before it writes a line of product. Indigo exists to make that foundation something you adopt — not something you assemble.

The problem

Boilerplate is a tax you pay before you start

Auth. Billing. A CMS. Email. Background jobs. Real-time updates. File storage. An admin panel. Internationalization. Every product needs them, and none of them are the product.

The conventional answer is to assemble these from a dozen libraries. The result is fragile glue code that nobody owns, that breaks on upgrades, and that no new engineer — or AI agent — can reason about quickly.

Weeks lost up front

Wiring auth to billing to organizations is a month of work that produces nothing a customer can see.

Glue code rots

Hand-wired integrations drift apart on every dependency bump. The seams are where bugs live.

Illegible to agents

A pile of unrelated libraries has no shared model — AI coding agents cannot navigate or extend it safely.

The approach

One cohesive framework, not a pile of libraries

Every layer already knows about the others

Indigo is a single, type-safe system. Auth knows about organizations. Billing knows about auth. The CMS, jobs, real-time layer and admin panel share one data model and one set of conventions.

You extend Indigo the way it was designed to be extended — by registering content types, modules and features through config. You never fork shared code, so upgrades stay clean.

Open-closed by design

New capabilities register themselves. A content type is a config entry. A feature is a module. A background job is a registration call. Because nothing edits the core, the framework can be upgraded under you — and an AI agent can add features without understanding the entire codebase first.

Built for AI agents

A codebase agents can read, navigate and extend

Documented everywhere

Nested CLAUDE.md files at the root, core, every module and config explain intent, not just code.

Predictable structure

Strict module boundaries and config-driven extension points mean an agent always knows where new code belongs.

Self-describing

indigo visualize and indigo doctor turn the live codebase into diagrams and health reports an agent can consume.

Open by default

Open source, with a path to production

The core framework and essential modules are free and open source under AGPL-3.0. A commercial license is available for proprietary use. Premium modules — e-commerce, AI chat, support — fund continued development.

You own your install from the first commit: degit ships no history, bun run init creates a fresh repository, and the code is yours.

See it for yourself

The fastest way to understand Indigo is to use it. The live demo is a full install with every module enabled.