cd /news/developer-tools/goose-lang-and-flisk-sh-101-two-bina… · home › topics › developer-tools › article
[ARTICLE · art-155634] src=dev.to ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Goose Lang and Flisk.sh 101: Two Binaries, Not One Flag

A developer published the first part of a tutorial series distinguishing three tools that share the name "goose": Wouter van Oortmerssen's Goose compiler, which emits C with no heap or garbage collector; the AAIF AI agent; and pressly/goose, a database migrator. The guide also covers flisk.sh, which generates Docker and Tilt files from a service.json and starts a local stack, and notes that its --language flag supports Bun/Hono, Python/FastAPI, Go net/http, Rust axum and Node, but should fail for a "goose" backend.

by read2 min views2 publishedOct 22, 2026

Part 1 of Goose lang and Flisk.sh 101.

This series is a laptop tutorial. Part 2 and 3 are the Goose programming language. Part 4 is flisk.sh. Part 5 puts both in one folder and stops before the lie.

You typed What it is In this series
goose hello.goose Wouter van Oortmerssen's compiler. It emits C. No heap, no GC. Parts 2 and 3
goose configure The AAIF AI agent. Desktop, CLI, recipes. Not this series
goose up pressly/goose, the database migrator. Not this series

If goose --version talks about providers, you installed the agent. The language compiler's first useful command is goose hello.goose or goose build hello.goose. Check which goose before part 2 and do not put the agent and the compiler on the same PATH entry.

Flisk starts services on your machine. You describe one in service.json. flisk up writes Docker and Tilt files and starts that stack. It is not a deploy tool. Production stays on Helm, Argo CD, or Kustomize.

Backend languages you can pass today:

--language What you get
omitted Bun and Hono
python FastAPI
go net/http
rust axum
node node:http
goose the CLI should fail before it writes files

A generated backend answers GET /health, reads PORT, and binds every interface. A Goose program from the language tutorial prints a line and exits. Those are not the same process. Part 5 is where that matters. Do not skip there and invent a flag.

flisk up. flisk doctor --no-ping does not need them.goose build. Linux also needs libc headers ( libc6-dev or glibc-devel). macOS needs the Xcode command line tools. In-process goose file.goose needs those headers too, but not a separate compile of your program. After part 4's install, this is the negative test:

flisk resource orders-api --type backend --language goose --stack shop

Expect a failure and an empty directory. If a future Flisk version accepts goose, stop this series and read that version's provider guide. Do not keep a tutorial that contradicts --help.

shop/
  hello.goose          # part 2, host only
  total.goose          # part 3, host only
  services/shop/orders-api/   # part 4, Flisk owns this tree

You own hello.goose and service.json. Flisk owns .autogenerated/. An editor, human or agent, does not "fix" a generated Dockerfile to make Goose look like a backend.

Next: install the compiler and print one line.

── more in #developer-tools 4 stories · sorted by recency
── more on @goose 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/goose-lang-and-flisk…] indexed:0 read:2min 2026-10-22 · —