Flow
Flow is an AI harness for AdonisJS applications. In this guide, you will learn:
- What Flow is and what it is not
- The three building blocks Flow installs into your project
- The current state of the project
Overview
Flow is a command-line tool that installs an AI harness into an AdonisJS application. A harness is the structured scaffolding that sits around an AI coding agent: the project-specific knowledge it reads, the workflow it follows, and the guardrails that keep it on track.
Flow does not replace the coding agent you already use. You keep working in Claude Code, Cursor, OpenAI Codex CLI, or GitHub Copilot. Flow gives that agent what it needs to write AdonisJS code reliably, because an agent left to its own training data produces code that looks right far more often than it is right. The Why a harness guide explains that problem in depth.
Everything Flow installs is plain files inside your repository. There is no service to sign in to and no model to call. You run one command, review what it writes, and your agent is now grounded in your project.
What Flow installs
Flow installs three building blocks. Each one targets a different way an unharnessed agent goes wrong.
Harness docs
The harness docs are curated, version-matched AdonisJS reference documentation copied into a .flow/docs/ directory. They cover the framework and the packages your application actually depends on, from routing and controllers to Lucid models, Vine validators, authentication, and mail.
An agent working without these docs answers from training data that blends many framework versions and many years. The harness docs give it a single, current source to read instead of guessing. The Knowledge base guide describes what they contain and how they are written.
The spec-driven workflow
The spec-driven workflow is a sequence of skills that turn a vague feature request into a reviewed plan, and then into a disciplined implementation. You move through distinct steps (a product brief, a technical blueprint, a test plan, the build, and a sync into long-lived state), and each step is gated on your approval before the next begins.
This is what stops an agent from sprinting ahead and writing five files for a feature you described in one sentence. The Spec-driven development guide walks through the full workflow from zero knowledge.
Engineering skills
Engineering skills encode a specific AdonisJS design discipline that an agent will not apply consistently on its own. The first is CRUDDY controllers, which keeps controllers and routes resourceful instead of letting them sprawl into custom verb methods. This catalog is small today and will grow.
What Flow is not
Flow is deliberately narrow. It is worth being clear about what it does not do.
- It is not an AI model or agent. Flow has no intelligence of its own. It rides on the coding agent you already use and improves that agent's output.
- It is not a hosted service. The installer runs locally and writes files into your repository. Nothing is sent to Flow at runtime.
- It is not a code generator that works behind your back. The workflow is planning-first. Plans are written to disk and wait for your review before any code is written.
- It is not a substitute for knowing AdonisJS. Flow makes an agent's work reviewable. Reviewing it well still requires you to understand the framework.
Project status
Flow is new and under active development. It is pre-1.0 software, and skill behavior and command flags will continue to evolve before a stable release.
The harness docs cover the core AdonisJS packages most applications use. The spec-driven workflow is complete end to end, from brief through archive. The engineering-skills catalog is intentionally small and growing one skill at a time. Flow targets AdonisJS v7 applications and supports the React, Vue, JSON API, and Edge-template (hypermedia) rendering stacks.
Because the installed harness is a regenerated artifact, updates arrive cleanly: when a new version of Flow ships, you re-run the installer and the harness is rewritten in place.
Next steps
- Why a harness explains the problem Flow solves and the reasoning behind its design.
- Installation walks through adding Flow to an AdonisJS project.