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. Part 1 of Goose lang and Flisk.sh 101. This series is a laptop tutorial. Part 2 and 3 are the Goose programming language https://github.com/aardappel/goose . Part 4 is flisk.sh https://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.