You describe it. AI builds it. You ship.
Go backend + React/TypeScript frontend in a modular monolith — with built-in AI agents, self-registering modules, SSR, and in-memory database.
git clone --recurse-submodules <repo-url> && cd flow
make init && make run
open http://localhost:3000Prerequisites: Go 1.24+, Node.js 22+, Make. Already cloned? Run
git submodule update --init --recursive.
make scaffold name=blog ssr=--ssrGenerates colocated modules/blog/ — backend (Go), frontend (React/TS), tests, templates. Register in modules/register.go, then make run. Live at /blog.
HTTP Request → Handler → Service → Repository → In-Memory Store
Modules self-register via init(). AI agents handle the dev pipeline:
User Request → @orchestrator → @analyst → @implementer → @reviewer → Done
| Agent | Role |
|---|---|
@orchestrator |
Task queue, dispatch |
@analyst |
Requirements → spec |
@implementer |
Go backend / React frontend |
@reviewer |
Architecture review |
.copilot/ submodule (gatralaya/copilot) — single source of truth for agents, skills, prompts. See .copilot/README.md.
| Location | Purpose |
|---|---|
.copilot/ |
Shared config (agents, skills, instructions) |
.github/ |
Repo-specific (workflows, tasks, specs) |
| Command | Description |
|---|---|
make init |
Initialize core from templates |
make scaffold name=<name> |
Create new module |
make run |
Build + start server |
make test |
Go tests + Vitest |
make lint |
golangci-lint + ESLint |
make clean |
Remove generated files |
make sync |
Push .copilot/ to upstream |
make sync-pull |
Pull latest .copilot/ |
| Variable | Default | Description |
|---|---|---|
PORT |
3000 |
Server port |
HOST |
0.0.0.0 |
Server host |
Access: AccessPublic, AccessPrivate (Bearer), AccessSameOrigin. Rate limiting per-route.
Go 1.24 · React 18 · TypeScript 5 · Tailwind CSS v4 · ESBuild · Vitest · ULID
| Problem | Solution |
|---|---|
| Scattered files | One folder per feature — colocated |
| Manual routes | Self-registration via init() |
| Inconsistent style | Skills enforce conventions |
| Generic AI | Tool-locked agents with roles |
| External DB | In-memory store with TTL |
| SSR issues | Skeleton HTML fallback |
| Document | Description |
|---|---|
| Architecture | Structure & conventions |
| Guardrails | Security rules |
| Contributing | How to contribute |
| Changelog | Version history |
MIT License — see LICENSE
Built with ❤️ by ynwd