Pick the language and framework of a new Flisk service - backends in Bun (Hono default, or Express, Elysia, Fastify, NestJS, Koa, h3), Python (FastAPI), Go, Rust or Node via `--language`, and frontends in React (default), Vue, Svelte, Preact, Lit, Solid, Qwik, Vanilla, TanStack Router or Next.js via `--framework`. Use when the user names a language or framework, or asks which ones Flisk supports. For a language Flisk has no provider for, use flisk-byo.
Installs into .claude/skills of the current project.
Are you the author of Flisk Build Runtimes?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/flisk-sh-flisk-build-runtimes)
---
name: flisk-build-runtimes
description: Pick the language and framework of a new Flisk service - backends in Bun (Hono default, or Express, Elysia, Fastify, NestJS, Koa, h3), Python (FastAPI), Go, Rust or Node via `--language`, and frontends in React (default), Vue, Svelte, Preact, Lit, Solid, Qwik, Vanilla, TanStack Router or Next.js via `--framework`. Use when the user names a language or framework, or asks which ones Flisk supports. For a language Flisk has no provider for, use flisk-byo.
license: MIT
compatibility: Requires the flisk CLI. Does not deploy.
metadata:
author: flisk-sh
version: "1.0"
---
# Languages and frameworks
Scaffold with the right flags and let Flisk generate the Dockerfile and runtime for it. Without flags you get Bun + Hono for a backend and React for a frontend.
## Workflow
1. List what this CLI version supports:
```bash
flisk resource --type backend --frameworks
flisk resource --type frontend --frameworks
```
2. Backends:
```bash
flisk resource api --type backend --stack shop --yes # Bun + Hono
flisk resource api --type backend --framework fastify --stack shop --yes # another Bun framework
flisk resource api --type backend --language python --stack shop --yes # Python + FastAPI
flisk resource api --type backend --language go --stack shop --yes # Go net/http
```
`--language` accepts `bun`, `python`, `go`, `rust` and `node`. A language that owns its runtime (`python`, `go`, `rust`, `node`) cannot be combined with `--framework`.
3. Frontends:
```bash
flisk resource web --type frontend --framework vue --stack shop --yes
```
4. Run `flisk doctor`, then `flisk up <stack>`.
## Python backends
- The scaffold is FastAPI on Python 3.12: `pyproject.toml`, `src/main.py` with `GET /health`, and `tests/`. `service.json` gets `"language": "python"` and a `dev.command` that runs `uvicorn` on `$PORT`.
- Add dependencies to `pyproject.toml`; changing it rebuilds the image. No local Python is needed.
- The generated image has a `test` stage that runs pytest. After one `flisk up`, run it with `docker build --target test -f services/<stack>/<name>/.autogenerated/Dockerfile.app.autogenerated .`
- Reference: [examples/one-backend-python](https://github.com/flisk-sh/flisk/tree/main/examples/one-backend-python).
## Guardrails
- Do not hand-write Dockerfiles for these runtimes; Flisk generates them from `service.json`.
- Keep the health route and the `PORT` / `0.0.0.0` binding the scaffold gives you.
- Provider details: [backend languages](https://github.com/flisk-sh/flisk/blob/main/docs/backend-language-providers.md) and [frontend frameworks](https://github.com/flisk-sh/flisk/blob/main/docs/frontend-framework-providers.md).