Skip to content

Conversation

@a6iyyu
Copy link

@a6iyyu a6iyyu commented Dec 7, 2025

Description

This PR introduces an Interactive CLI Wizard to significantly improve the onboarding experience for new users.

Unlike standard scaffolding tools that enforce a single structure, this wizard adopts a Design Engineering approach, allowing developers to choose their stack based on project needs. It reduces "analysis paralysis" for beginners while offering robust tools for advanced users.

Key Features 🚀

  • Interactive Wizard: Built with Typer and Rich for a guided, user-friendly experience.
  • Flexible Architecture:
    • Simple: Flat layout for microservices/prototypes.
    • Advanced: Laravel-style MVC (app/controllers, app/models, views) for scalable apps.
  • Stack Selection:
    • ORM: SQLModel, SQLAlchemy, or None.
    • Linter: Ruff (configured via .ruff.toml), Classic, or None.
    • Frontend: Optional Views support (HTML/CSS/JS + Jinja2).
  • Auto-Configuration:
    • Generates .env with secure defaults.
    • Updates .gitignore automatically.
    • Generates clean requirements.txt (via uv export).

Screenshots 📸

image

Why this approach?

Instead of forcing a heavy structure (like MSSR) by default, this wizard respects the developer's choice. It keeps fastapi-new lightweight for simple tasks but powerful enough for full-stack applications.

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update (README updated automatically)

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant