tags: flisk, bun, node, backend
flisk resource --type backend scaffolds Bun and Hono. That is the default on purpose. Omit --language and the output stays byte-identical to the historical scaffold. Interactive create does not ask you to pick a language.
Python, Go, Rust, and Node are opt-in. You name them, or you do not get them.
flisk resource api --type backend --stack shop --yes
flisk resource api --type backend --language go --stack shop
flisk resource --type backend --frameworks
The first command is the default. The second is an explicit provider. The third lists registered backend frameworks: id, display name, the language they scaffold with, and the command that creates them. An unknown id fails before any file is written. Python and python match. A legacy service.json with no language field stays valid and is not rewritten.
What Go actually writes
--language go writes go.mod, main.go, and main_test.go. The server is the standard library, GET /health, reads PORT, and listens on every interface. The image is a golang:1.23 build stage plus a production stage, because Tilt builds --target production. A test stage is there so CI can run the language's tests in the image.
The id is stored as framework in service.json. Omitting the flag writes no framework field.
Live reload is also opt-in. Add it, then run flisk up again:
{ "dev": { "liveReload": true } }
What not to do in a pull request
One language per pull request. Copy the Python provider and its tests. Register it. Add the Dockerfile template. Do not edit engine/schemas/service-schema.json to add the id. language there is an open string. The CLI registry is what rejects an unknown id.
Do not add that language's dependencies to the CLI package. Do not "improve" the default by making interactive create prompt for a language. Bun stays the default so old output does not move under you.
flisk config regenerate rebuilds project-level config. It does not recreate resource source. If you wanted a Go service and you already generated Bun, make a new resource with --language go. Do not hand-convert main.go into the Bun directory and expect verify to bless it.
Comments
Join the discussionNo comments yet. Be the first to comment.