Bluefox Stack

App manifests
parsed and validated

Define your app's compute, data, and in-memory primitives in a single YAML file. Typed validation, clear error messages, and platform helpers out of the box.

Your app manifest
bluefox.yml
version: 1
name: my-saas

compute:
  app:
    port: 8000
  worker: {}

data:
  engine: postgres
  version: 17
  migrate: "uv run alembic upgrade head"

What you get

Schema validation

Catches invalid manifests early with clear, human-readable error messages. No Pydantic internals leak to the user.

DNS-safe names

Enforces lowercase alphanumeric names with hyphens, 3-63 characters. Reserved bluefox- prefix is guarded.

Engine constraints

Only allows supported engines in each version. V1 supports postgres for data and redis for in-memory.

Platform helpers

Service names, image tags, environment variables, routable process detection — everything the platform needs to deploy your app.

Load and use

Parse your manifest with a single function call. Get a typed object with helper methods for every platform operation.

deploy.py
from bluefox_yml import load_manifest

manifest = load_manifest("bluefox.yml")

# Typed access to every field
manifest.name                       # "my-saas"
manifest.compute["app"].port        # 8000
manifest.data.engine                # "postgres"

# Platform helpers
manifest.service_name("app")        # "my-saas_app"
manifest.image_tag(3)               # "localhost:5000/my-saas:v3"
manifest.db_image()                 # "postgres:17-alpine"
manifest.env_vars("app")            # {"APP_NAME": "my-saas", ...}
deploy.py
from bluefox_yml import load_manifest, ManifestError, format_error

try:
    manifest = load_manifest()
except ManifestError as e:
    print(format_error(e))
    # "bluefox.yml error: bluefox.yml validation error:
    #   name: name must be DNS-safe: ..."