Live Demo · Stop configuring. Start shipping.
Webpack Vite node_modules npm install — Just Python.
git clone [email protected]:level09/enferno.git && cd enferno
./setup.sh # Installs deps + generates secure .env
uv run flask create-db # Setup database
uv run flask install # Create admin user
uv run flask run # → http://localhost:5000enferno-demo.mp4
- Zero build step - Vue 3 + Vuetify 3 run directly in browser. Delete your
node_modules - Auth that works - 2FA, WebAuthn, OAuth (Google/GitHub) — not a tutorial, actual production code
- SQLite by default - Deploy anywhere.
Managed databasenot required - AI-native - Ships with Claude Code & Cursor rules. Your AI already knows the codebase
- Complexity is opt-in - Redis, Celery, PostgreSQL when you decide, not when the framework demands
Want payments? → ReadyKit adds Stripe, multi-tenancy, teams on top of Enferno
- Frontend: Vue 3, Vuetify 3, Axios - no build tools needed
- Auth: Login, registration, password recovery, session management
- 2FA: TOTP authenticator apps (Google Authenticator, Authy, 1Password)
- WebAuthn: Passkeys and hardware security keys (YubiKey, Touch ID)
- Recovery codes: Backup codes for account recovery
- OAuth: Google and GitHub login
- Database: SQLAlchemy ORM, migrations ready
- Patterns: Data tables, dialogs, notifications - ready to use
- Collapsible sidebar - Nested navigation groups with smooth expand/collapse animations
- Dark mode - Theme toggle with localStorage persistence, auto-detects system preference
- Tabler Icons - 5000+ icons via CDN, no build step
- Ember color palette - Fire-inspired theme matching the Enferno brand
- Polish included - Card hover effects, smooth scrollbars, styled data tables
Requirements: Python 3.11+ and uv
When you need Celery for async jobs:
uv sync --extra full # Adds Redis + Celery
# Set REDIS_URL, CELERY_BROKER_URL in .envNo pytest ceremony - just real code paths:
uv run python checks.py # Run before deployingFull production stack with one command:
docker compose up --build # Redis, PostgreSQL, Nginx, CeleryEnvironment variables (.env):
SECRET_KEY=your_secret_key
FLASK_APP=run.py
FLASK_DEBUG=1 # 0 in production
# PostgreSQL (optional - SQLite works by default)
# SQLALCHEMY_DATABASE_URI=postgresql://user:pass@localhost/dbname
# Background tasks (optional)
# REDIS_URL=redis://localhost:6379/1
# CELERY_BROKER_URL=redis://localhost:6379/2Documentation: docs.enferno.io
MIT