feat: add FastAPI template generation with all utilities#88
Merged
pythonhubdev merged 15 commits intomainfrom Sep 28, 2025
Merged
feat: add FastAPI template generation with all utilities#88pythonhubdev merged 15 commits intomainfrom
pythonhubdev merged 15 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR enhances the scaffoldr CLI tool by adding comprehensive Azure cloud support and completing the project generation functionality. The tool now generates production-ready FastAPI applications with multi-cloud provider support (AWS S3, GCP Cloud Storage, Azure Blob Storage) and includes complete development environment setup with VS Code dev containers.
- Core CLI Generation: Implements complete project generation with interactive prompts and configuration validation
- Azure Cloud Integration: Adds full Azure Blob Storage service implementation with SAS URL generation
- Enhanced Template System: Improves template structure with better conditional logic and comprehensive test coverage
Reviewed Changes
Copilot reviewed 65 out of 78 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| src/scaffoldr/cli/generate.py | New complete project generation command with framework validation |
| src/scaffoldr/core/utils/helper.py | Post-generation hooks and cloud type prompting functionality |
| templates/fastapi_template/ | Comprehensive FastAPI project template with cloud services and tests |
| test_cli.sh | CLI testing script for validating all configuration combinations |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
.../{{ project_name }}/src/{{ project_slug }}/services/repositories/storage_repository.py.jinja
Show resolved
Hide resolved
templates/fastapi_template/{{ project_name }}/src/{{ project_slug }}/services/__init__.py.jinja
Outdated
Show resolved
Hide resolved
templates/fastapi_template/{{ project_name }}/.pre-commit-config.yaml
Outdated
Show resolved
Hide resolved
templates/fastapi_template/{{ project_name }}/.pre-commit-config.yaml
Outdated
Show resolved
Hide resolved
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR significantly enhances the scaffoldr CLI tool by adding comprehensive Azure cloud support, improving VS Code development experience with dev containers, and ensuring robust testing across all configuration combinations. The tool now generates production-ready FastAPI applications with full cloud provider support (AWS S3, GCP Cloud Storage, Azure Blob Storage) and complete development environment setup.
Type of Change
Scope / Affected Areas
Breaking Changes
Public API Impact (Python SDK)
AzureStorageServiceclass inservices/azure_service.pydevcontainer.jsonconfiguration for VS CodeTesting & Verification
Screenshots / Logs (optional)
Documentation
Environment / Config Changes
TEST_PROJECT_CLOUD_ACCOUNT_NAME(Azure)TEST_PROJECT_CLOUD_ACCOUNT_KEY(Azure)TEST_PROJECT_CLOUD_CONTAINER_NAME(Azure)Checklist
Detailed Changes
🚀 New Features
Azure Blob Storage Support
Enhanced Cloud Type Prompting
use_cloud=true🔧 Technical Improvements
Template System Enhancements
Testing Infrastructure
Developer Experience
📦 Dependencies Added
azure-storage-blob>=12.23.1- Azure Blob Storage clientazure-identity>=1.19.0- Azure authentication🧪 Test Coverage
8 Configuration Combinations Tested:
100% Test Pass Rate across all generated applications
Edge Cases Covered: directory conflicts, invalid inputs, custom destinations
🎯 Impact
This PR transforms scaffoldr from a basic project generator into a production-ready, enterprise-grade scaffolding tool that supports:
The foundation is now solid for extending support to other frameworks (Litestar, Flask, etc.) and additional cloud providers in future PRs.