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.
The three Gooses
| 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.
What Flisk will generate
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.
What you need before part 2
- macOS or Linux for the full loop. Native Windows can inspect a Flisk project. Starting the stack there needs Ubuntu on WSL2.
- Node.js 22.12 or newer, only for the Flisk install in part 4.
- Docker and Tilt, only when you run
flisk up.flisk doctor --no-pingdoes not need them. - A C toolchain if you will
goose build. Linux also needs libc headers (libc6-devorglibc-devel). macOS needs the Xcode command line tools. In-processgoose file.gooseneeds those headers too, but not a separate compile of your program. - Goose prebuilt compilers exist for Windows x64, Linux x64, and macOS Apple silicon and Intel. Linux wants glibc 2.35 or newer. macOS wants 13.3 or newer.
The command to try, then forget
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.
Repo shape we are walking toward
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.
Top comments (0)