Guide/guides
Glossary
Short definitions for common terms in the Guren docs.
Glossary
Short definitions for common terms in the Guren docs.
Stack
- Bun: JavaScript/TypeScript runtime used to run and build the app.
- Hono: Lightweight HTTP server; Guren builds its routing and controllers on top.
- Inertia.js: Bridges server responses and SPA navigation by sending page props.
- React: UI library used for pages.
- Vite: Frontend dev server and build tool.
- Drizzle ORM: Type-safe ORM; Guren models connect to Drizzle schemas.
App structure
- MVC: Model, View, Controller separation.
- Route: A path + HTTP method mapping to a controller or handler.
- Controller: Class that handles requests and returns responses.
- Model: Class tied to a database table via
static table. - View: React page in
resources/js/pages/. - Middleware: Code that runs before or after a request.
- Provider: Boot-time registration for services and configuration.
- Context: Hono
Contextwith request and response helpers.
Database
- ORM: Maps tables to classes.
- Schema: Table definitions in
db/schema.ts. - Migration: SQL files that apply schema changes.
- Seeder: Script to insert sample data.
- Database URL: Connection string in
.envasDATABASE_URL. - RQB (Relational Query Builder): Drizzle query builder for joins and aggregates.
- Eager load: Fetch related records in one go (e.g.
with()).
Frontend
- SPA: Single page app navigation without full reloads.
- SSR: Server-side rendering for the first HTML response.
- Props: Data passed to React components.
- HMR: Hot reload of frontend changes during development, handled by Vite. Backend changes (controllers, routes, models) reload too, since the dev server runs under
bun --hot. - Inertia page: A React component referenced by
this.inertia(...).
CLI
- create-guren-app: CLI to scaffold a new app.
- guren CLI:
bunx guren make:*commands for generators and tooling.
Agent harness
- Agent harness: the files
create-guren-appinstalls for coding agents: what an agent reads first, what runs after it edits, and what runs before it ends a turn. - CLAUDE.md: the project guide Claude Code reads at the start of a session. Claude Code docs
- Rules: instructions in
.claude/rules/, loaded only when the agent edits a file theirpathsmatch. Claude Code docs - Skills: procedures the agent follows for a kind of task, in
.claude/skills/<name>/SKILL.md. Claude Code docs - Subagents: agents with their own instructions and context that the main agent invokes, in
.claude/agents/. Claude Code docs - Hooks: commands Claude Code runs at points such as session start, a file edit, or the end of a turn, configured in
.claude/settings.json. Claude Code docs - Gate (
guren gate): runs codegen, typecheck, lint,check,auditand the tests in one command. CI and theStophook run the same one.
Plan states
plan:status, plan:verify and plan:next print these values for steps and elements. See Implementation Plans for the details.
verified: every verify command passed, and the record still holds.failed: a verify command failed; there is something to fix.blocked: the environment kept a command from running (a missing script, an unreachable database, a timeout). Not a failed implementation.drifted: a file the record fingerprinted changed after it verified. Re-check it withplan:verify --step.stalled: theStophook sent the agent back and the step still did not verify, so it recorded why and let the stop through. The nextplan:nextreports it.held: something the step depends on changed in the app after approval, soplan:nextholds the step.waived: accepted incomplete withplan:waive.- advisory: a result that is shown but never fails
--ciorguren gate.