Bloom Open source · MIT

Where applications are
generated, not written

Bloom is a TypeScript full-stack framework built for agentic coding. UIKit (React) + AppKit (Node) + Bloom CLI — cover web, desktop (Electron) and mobile (Capacitor) from one codebase. Every package ships llms.txt + AGENTS.md so an AI coding agent has the real API in front of it rather than a guess.

Start building → Read the manifesto Why Bloom?

Three packages. One framework.

AppKit handles your backend. UIKit handles your frontend. Bloom CLI wires them together and scaffolds any platform in one command. They compose, but work standalone.

npm install -g @bloomneo/bloom

bloom create my-app                    # web app
bloom create my-app userapp            # auth + user management
bloom create my-app adminapp           # admin console (audit, settings, dashboard)
bloom create my-app desktop-basicapp   # Electron desktop
bloom create my-app mobile-basicapp    # iOS + Android via Capacitor

Drop a folder. Get a route.

No routing config. No manual registration. File-based auto-discovery on both frontend and backend.

src/api/features/invoice/
├── invoice.route.ts     # auto-mounts at /api/invoice
└── invoice.service.ts

src/web/features/invoice/pages/
├── index.tsx            # → /invoice
└── [id].tsx             # → /invoice/:id

Pick a template and go.

basicapp Web app React + Express, FBCA routing, ready to deploy
bloom create my-app
userapp Auth + users Full auth, roles, admin panel, Prisma + PostgreSQL
bloom create my-app userapp
adminapp Admin console userapp + audit log, settings editor, dashboard, 3-tier roles, mobile bottom-nav
bloom create my-app adminapp
desktop-basicapp Desktop Electron, FBCA, SQLite, packages to Windows / macOS / Linux
bloom create my-app desktop-basicapp
mobile-basicapp Mobile Capacitor 6 — native iOS + Android from one codebase
bloom create my-app mobile-basicapp

Where Bloom stands vs established frameworks

Closest in scope to T3 Stack or RedwoodJS — not Laravel or NestJS directly. Bloom's differentiator is agentic-first design and cross-platform coverage in one stack. Honest comparison:

CapabilityBloomLaravelNestJST3 StackNext.js
Backend toolkit✓ AppKit✓ (PHP)✓ coreNext APIPartial
Frontend component library✓ UIKitBlade—✓ Next✓
Desktop (Electron) template✓————
Mobile native (Capacitor)✓————
Ships llms.txt✓————
Ships AGENTS.md✓————
Agent skills bundled✓————
Drift-checked docs (CI)✓————
Auto-hydrated docs/ in scaffold✓————

Best fit today: solo developers and small teams (≤10) shipping with heavy Claude Code / Cursor / Copilot usage, and anyone building cross-platform products without stitching three stacks. Not yet the right fit: large enterprise teams where ecosystem age and hiring pool matter more than agentic ergonomics — use Laravel or NestJS for those.

Four jobs. Everything else follows.

Readable

Where a file lives is what it does. A call under src/api/ runs on the server — there is no second reading, and no directive to trace.

Decoupled

The frontend calls the backend over HTTP, like any other client. Either side ships, scales and gets rewritten without the other.

Every surface

Browser, desktop and phone from one source tree, against one API — not four projects that drift apart.

Guardrails for agents

Conventions remove the choices. A wrong path is a compile error, an ungated route warns at boot.

Read the full founding manifesto →

Built for AI agents

Every package ships machine-readable docs.

LLMs hallucinate APIs for undocumented packages. Every Bloom package ships llms.txt and AGENTS.md inside the npm tarball — copied into your project's docs/ folder automatically on every npm install.

llms.txt

Complete API reference regenerated on every build. Every method, every signature — never drifts from source.

AGENTS.md

Rules for AI agents: always-do, never-do, canonical patterns. A wrong method name fails at the compiler, not at runtime.

Auto-synced docs/

Postinstall copies the latest docs from node_modules/ into your project on every install.

FAQ

Frequently asked questions

What is Bloom?
Bloom is a TypeScript full-stack framework built for the era where developers and AI coding agents ship software together. Three packages — AppKit (Node backend toolkit), UIKit (React component library), Bloom CLI (scaffolder) — compose into web, desktop (Electron), mobile (Capacitor), and browser-extension apps from one codebase. Every package ships llms.txt + AGENTS.md machine-readable specs so an AI agent has the real API in front of it rather than a guess.
How is Bloom different from Laravel, NestJS, T3 Stack, or Next.js?
Bloom is designed from day one assuming AI coding agents write a significant portion of application code. Every package ships llms.txt, AGENTS.md, agent skills and per-component @llm-rule JSDoc, docs are drift-checked in CI, and scaffolded projects get them in docs/ automatically. In scope Bloom is closest to T3 Stack or RedwoodJS — but extends to cross-platform (web + desktop + mobile) from one stack.
Can I use one Bloom package standalone?
Yes. AppKit works in any Express or Fastify app. UIKit works in any React project. Bloom CLI is optional — use it when you want the full scaffold and FBCA conventions. The three packages are designed to compose but don't require each other.
How do I use Bloom with Claude Code, Cursor, or GitHub Copilot?
Scaffold a project with bloom create, then run npm install. The postinstall hook copies appkit + uikit llms.txt + AGENTS.md into docs/, and every Claude Code skill into .claude/skills/. Point your agent at the project root — it reads AGENTS.md first, then the package-specific docs. Agents generate correct code without guessing API shapes.
What platforms does Bloom cover?
Web (Vite + React), desktop (Electron with embedded Express), and mobile (Capacitor 6 for iOS + Android). Same UIKit components, same FBCA conventions and the same API across all three surfaces.
Is Bloom production-ready?
Yes. AppKit 4.0, UIKit 2.0, and Bloom 4.0 are stable and semver-tracked. A CI drift-check across the monorepo enforces that docs, types, and template pins stay in sync with package.json — so agents never read stale guidance.
What license is Bloom under?
MIT across all three packages. Use it commercially, fork it, vendor it — no attribution required. The source lives on GitHub at github.com/bloomneo.