refactor: add .copier-answers.yml at root + feature flags + .env.example
.copier-answers.yml (new, at repo root): - Points to local template path (was GitLab remote) - _commit: v0.19.0 (enables copier update) - Reflects actual feature set: enable_cms, enable_daas, not directory/i18n/leads web/src/beanflows/core.py: - Added ENABLE_CMS/ENABLE_DAAS/ENABLE_DIRECTORY/ENABLE_LEADS/BUSINESS_MODEL to Config class (mirrors copier.yml questions for runtime feature gating) .env.example (new, at repo root): - Moved from web/.env.example; updated DUCKDB_PATH/SERVING_DUCKDB_PATH to root-relative paths (local.duckdb, analytics.duckdb) .gitignore: - Added web/src/beanflows/static/css/output.css (previously only in web/.gitignore) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
16
.copier-answers.yml
Normal file
16
.copier-answers.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
|
||||
_commit: v0.19.0
|
||||
_src_path: /home/Deeman/Projects/quart_saas_boilerplate
|
||||
author_email: hendrik@beanflows.coffee
|
||||
author_name: Hendrik Deeman
|
||||
base_url: https://beanflows.coffee
|
||||
business_model: saas
|
||||
description: Commodity analytics for coffee traders
|
||||
enable_cms: true
|
||||
enable_daas: true
|
||||
enable_directory: false
|
||||
enable_i18n: false
|
||||
enable_leads: false
|
||||
payment_provider: paddle
|
||||
project_name: BeanFlows
|
||||
project_slug: beanflows
|
||||
38
.env.example
Normal file
38
.env.example
Normal file
@@ -0,0 +1,38 @@
|
||||
# App
|
||||
APP_NAME=BeanFlows
|
||||
SECRET_KEY=change-me-generate-a-real-secret
|
||||
BASE_URL=http://localhost:5001
|
||||
DEBUG=true
|
||||
ADMIN_EMAILS=admin@beanflows.coffee
|
||||
|
||||
# Database
|
||||
DATABASE_PATH=data/app.db
|
||||
# DUCKDB_PATH points to the full pipeline DB (lakehouse.duckdb) — used by SQLMesh and export_serving.
|
||||
# SERVING_DUCKDB_PATH points to the serving-only export (analytics.duckdb) — used by the web app.
|
||||
# Run `uv run materia pipeline run export_serving` after each SQLMesh transform to populate it.
|
||||
DUCKDB_PATH=local.duckdb
|
||||
SERVING_DUCKDB_PATH=analytics.duckdb
|
||||
|
||||
# Auth
|
||||
MAGIC_LINK_EXPIRY_MINUTES=15
|
||||
SESSION_LIFETIME_DAYS=30
|
||||
|
||||
# Email (Resend)
|
||||
RESEND_API_KEY=
|
||||
EMAIL_FROM=hello@example.com
|
||||
|
||||
|
||||
# Paddle
|
||||
PADDLE_API_KEY=
|
||||
PADDLE_WEBHOOK_SECRET=
|
||||
PADDLE_PRICE_STARTER=
|
||||
PADDLE_PRICE_PRO=
|
||||
|
||||
|
||||
# Rate limiting
|
||||
RATE_LIMIT_REQUESTS=100
|
||||
RATE_LIMIT_WINDOW=60
|
||||
|
||||
# Waitlist (set to true to enable waitlist gate on /auth/signup)
|
||||
WAITLIST_MODE=false
|
||||
RESEND_AUDIENCE_WAITLIST=
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -189,3 +189,6 @@ age-key.txt
|
||||
.bedrock-state
|
||||
.bedrockapikey
|
||||
toggle-bedrock.sh
|
||||
|
||||
# Tailwind CSS (generated at build time)
|
||||
web/src/beanflows/static/css/output.css
|
||||
|
||||
@@ -31,6 +31,13 @@ load_dotenv(_repo_root / "web" / ".env", override=False)
|
||||
class Config:
|
||||
APP_NAME: str = os.getenv("APP_NAME", "BeanFlows")
|
||||
SECRET_KEY: str = os.getenv("SECRET_KEY", "change-me-in-production")
|
||||
|
||||
# Feature flags (set at template time via copier; mirror copier.yml questions)
|
||||
ENABLE_CMS: bool = True
|
||||
ENABLE_DAAS: bool = True
|
||||
ENABLE_DIRECTORY: bool = False
|
||||
ENABLE_LEADS: bool = False
|
||||
BUSINESS_MODEL: str = "saas"
|
||||
BASE_URL: str = os.getenv("BASE_URL", "http://localhost:5001")
|
||||
DEBUG: bool = os.getenv("DEBUG", "false").lower() == "true"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user