Scaffold a complete FastAPI project with Postgres, Alembic migrations, Docker, and tests. Run make dev and start building.
Install the CLI
$ uv tool install bluefox-cli # provides: bluefox (or bfx for short)
Create a project
$ bluefox init myapp
Start developing
$ cd myapp $ make dev # Postgres starts, migrations run, app reloads on changes
A complete project structure with everything wired together. Every file is ready to use — no boilerplate to fill in.
make dev starts Postgres via Docker Compose, runs Alembic migrations, and launches the app with --reload. Nothing to install manually.
Multi-stage Dockerfile with uv. Production compose uses dokploy-network, dev overrides with a local bridge. Same pattern, two environments.
Alembic configured with configure_alembic() from bluefox-core. Run make migrate-make name=add_users to generate, make migrate to apply.
conftest.py wired with bluefox-test fixtures. Real Postgres via testcontainers, async client, SAVEPOINT isolation. Run make test.
Templates are plain Python strings. No Jinja, no cookiecutter. Easy to read, easy to maintain, zero extra dependencies.
One command: bluefox init myapp. No interactive prompts, no plugin system, no config files. Opinionated and complete.
The app factory and models are minimal — just enough to start. Add your routes, models, and business logic on top.
from bluefox_core import BluefoxSettings, create_bluefox_app def create_app() -> object: settings = BluefoxSettings(MODELS_MODULE="models") return create_bluefox_app(settings) app = create_app()
from bluefox_test import bluefox_test_setup from models import Example # noqa: F401 — register models from bluefox_core import BluefoxBase globals().update(bluefox_test_setup(base=BluefoxBase, app_factory="main:create_app"))
from alembic import context from bluefox_core.migrations import configure_alembic configure_alembic(context)