Skip to content

Production-ready FastAPI scaffolding — flexible databases (MongoDB, PostgreSQL, MySQL, SQLite), HTMX frontend, OAuth auth. Generate full-stack apps in seconds.

License

Notifications You must be signed in to change notification settings

alltuner/vibetuner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vibetuner

Production-ready FastAPI web application scaffolding in seconds

Vibetuner generates full-stack web applications with authentication, database, frontend, Docker deployment, and CLI tools pre-configured.

Built by All Tuner Labs for rapid iteration and modern development.

✨ What You Get

uvx vibetuner scaffold new my-project
cd my-project && just dev
# → Full application running at http://localhost:8000

In 30 seconds you have:

  • ✅ FastAPI backend with async support
  • Flexible database: MongoDB (Beanie) or SQL (SQLModel/SQLAlchemy)
  • ✅ OAuth + magic link authentication
  • ✅ HTMX reactive frontend
  • ✅ Tailwind CSS + DaisyUI styling
  • ✅ Docker dev/prod environments
  • ✅ Background jobs with Redis (optional)
  • ✅ i18n support
  • ✅ Hot reload for everything

🚀 Quick Start

Installation

No installation needed - use uvx:

uvx vibetuner scaffold new my-app

Or install globally:

uv tool install vibetuner
vibetuner scaffold new my-app

Your First Project

# Create project (interactive)
uvx vibetuner scaffold new my-app

# Or skip questions with defaults
uvx vibetuner scaffold new my-app --defaults

# Start developing
cd my-app
just dev              # Docker mode with hot reload

Visit http://localhost:8000 - your app is running!

🎯 Core Principles

Born from real needs at All Tuner Labs when spawning new projects:

  • Simplicity: Minimal boilerplate, clear conventions, obvious patterns
  • Speed: Sub-second hot reload, one command to start, fast iteration
  • Modern Stack: Latest stable versions, async-first, production-tested
  • Assistant-Friendly: Works great with Claude, Cursor, and other coding AI

📦 Tech Stack

Backend

  • FastAPI - Modern async web framework
  • Granian - High-performance ASGI server

Database (choose your stack)

Frontend

  • HTMX - Dynamic HTML without complex JavaScript
  • Tailwind CSS - Utility-first CSS framework
  • DaisyUI - Beautiful Tailwind components
  • Jinja2 - Template engine with i18n

DevOps

  • Docker - Multi-stage builds for dev/prod
  • uv - Fast Python package management
  • bun - Fast JavaScript tooling
  • just - Command runner

Why These Choices?

FastAPI: Async-first, automatic API docs, Pydantic validation, type hints everywhere.

Flexible databases: Start with MongoDB for rapid prototyping, or use PostgreSQL/MySQL/SQLite with SQLModel for relational data. Both are optional - use what fits your project.

HTMX over React/Vue: Simplicity wins. Server-rendered HTML with sprinkles of interactivity. Less complexity, faster development, easier to reason about.

Tailwind + DaisyUI: Utility-first CSS is fast once you learn it. DaisyUI provides components without JavaScript bloat.

Docker-first: Consistent environments, easy deployment, no "works on my machine" problems.

uv + bun: Speed matters. Both are order-of-magnitude faster than pip/npm. Fast lockfiles, fast installs, fast everything.

💻 Development

Local Development

# Terminal 1: Frontend assets (auto-rebuild on changes)
bun dev

# Terminal 2: Backend server (auto-reload on changes)
just local-dev

Docker Development

just dev              # All-in-one with hot reload
just worker-dev       # Background worker (if enabled)

Common Commands

just sync             # Sync all dependencies
just format           # Format code
just build-prod       # Test production build

🏗️ Project Structure

Generated projects separate framework code from your code:

my-app/
├── src/vibetuner/          # Core framework (immutable)
│   ├── frontend/           # FastAPI app, auth, middleware
│   ├── models/             # User, OAuth models
│   ├── services/           # Email, storage services
│   └── cli/                # CLI framework
├── src/app/                # Your code (edit freely)
│   ├── frontend/routes/    # Your HTTP routes
│   ├── models/             # Your database models
│   ├── services/           # Your business logic
│   └── tasks/              # Your background jobs
├── templates/              # Jinja2 templates
├── assets/                 # Static files
└── Dockerfile              # Production deployment

Core framework handles authentication, database, email, etc. Your code focuses on business logic.

🔐 Authentication

Built-in authentication with zero config:

  • OAuth: Google, GitHub, and more via Authlib
  • Magic Links: Passwordless email authentication
  • Sessions: Secure cookie-based sessions
  • Extensible: Add providers or custom auth easily

🌍 Internationalization

Full i18n support:

just extract-translations    # Extract strings
just compile-locales         # Compile translations
{% trans %}Welcome to {{ app_name }}{% endtrans %}

🐳 Deployment

Docker Production

just test-build-prod    # Test locally
just release            # Build and push

Configuration

Environment variables via .env:

# MongoDB (optional)
MONGODB_URL=mongodb://localhost:27017/mydb

# SQL database (optional) - PostgreSQL, MySQL, or SQLite
DATABASE_URL=postgresql+asyncpg://user:pass@localhost/mydb
# DATABASE_URL=sqlite+aiosqlite:///./data.db

# Redis for background jobs (optional)
REDIS_URL=redis://localhost:6379

SECRET_KEY=your-secret-key

📚 Documentation

📦 Packages

Vibetuner consists of three packages:

Package Description Published
vibetuner Python framework PyPI
@alltuner/vibetuner Frontend dependencies npm
Scaffolding template Copier template GitHub

All version-locked and tested together.

🔄 Updating Projects

Update existing projects to the latest template:

cd my-app
vibetuner scaffold update

🤝 Contributing

We welcome contributions that align with our core principles! See CONTRIBUTING.md.

Built for All Tuner Labs' internal needs, shared publicly because it might help you too.

📄 License

MIT License - Copyright (c) 2025 All Tuner Labs, S.L.

See LICENSE for details.

🔗 Links

👨‍💻 Credits

Created and maintained by All Tuner Labs, S.L. and David Poblador i Garcia (@davidpoblador | davidpoblador.com)


Made with ❤️ for rapid prototyping and production deployments

All Tuner Labs