Kkiln — agent build modeExperimental

Talk an app into being.

Kiln is experimental — a separate binary that mounts a chat panel on your running GoFastr app. The agent calls a typed tool surface; the in-memory IR mutates; the schema migrates; the app re-renders — all in-process. Freeze the journal when done to emit the canonical entity files you commit.

Read the docs
$go install github.com/DonaldMurillo/gofastr/cmd/kiln@latest
localhost:8765

Your app — being authored live

Illustration — your real app renders here as the agent edits it.

kilnsession #a1b3
you
add a posts entity with title, body, status enum
claude-code
Reading your existing schema. Three new tools required, no destructive changes.
tool: add_entity
you
looks good, ship it
claude-code
Proposing a plan. Approve below to apply.
tool: propose_plan
Plan #4 · 3 ops
+ add_entity("posts")+ add_field("posts", title)+ migrate_up()
Anatomy of a session

Seven events from prompt to commit

0s
Agent connects

kiln subscribes to its own SSE bus and spawns the configured CLI.

3s
Agent calls world_get

Reads the in-memory IR — current entities, fields, hooks, routes.

8s
Agent calls add_entity

Mutates the IR: posts(title, body, status). No DB write yet.

12s
Agent calls propose_plan

Lists destructive targets (none) and the three add_* operations.

18s
You click Approve

Plan id is stamped onto the agent's retry call.

19s
Migration runs

Up-migration generated and applied; the posts table is live.

25s
Journal freezable

kiln freeze --dir build/ snapshots the world; graduate to Go via a gofastr.yml blueprint.

Plan-gated destructive ops

The agent acts within explicit limits

What the agent can do

  • Add entities, fields, hooks, routes
  • Migrate up + seed data
  • Edit pages and screens (non-destructively)
  • Inspect logs, run queries, browse docs

Without an approved plan

  • Drop entities, fields, hooks, routes
  • Migrate down
  • Touch credentials, secrets, .env
  • Spawn external processes you didn't allow

Two binaries. Three lines of setup.

Install the kiln binary alongside the gofastr CLI. Pick the agent CLI you already use; kiln spawns it as a subprocess with KILN_URL injected.

install
$ go install github.com/DonaldMurillo/gofastr/cmd/kiln@latest → installed kiln v0.10.0
serve
$ kiln serve --agent claude-code → panel floats on http://localhost:8765 → MCP server live at /mcp → ready · waiting for the agent.