-
(Breaking Change) Add
fastkit init --interactivefeature: Revolutionary feature-by-feature project builderfastkit init --interactivenow provides guided project setup with intelligent feature selection- Always uses Empty project (fastapi-empty template) as base template to prevent conflicts with DynamicConfigGenerator
- Interactive project configuration with validation and compatibility warnings
- Real-time dependency collection based on selected features
- Confirmation summary before project creation
-
Dynamic Code Generation: Intelligent code generation based on feature selections
- Integrated DynamicConfigGenerator for automatic code scaffolding
- Generates
main.pywith selected features (auth, database, monitoring, etc.) - Creates database configuration files for PostgreSQL, MySQL, MongoDB, SQLite
- Generates authentication setup for JWT, OAuth2, FastAPI-Users
- Auto-generates test configuration (pytest with optional coverage)
- Docker deployment files (Dockerfile, docker-compose.yml) generation
-
Enhanced Dependency Management: Multi-format dependency file generation
- Automatically generates both package-manager-specific files AND requirements.txt
- Ensures pip compatibility regardless of selected package manager
- Dependencies correctly reflect all selected stack features
- Smart dependency deduplication and version management
- Interactive CLI Experience:
- Step-by-step feature selection with descriptions. Each selection step proceeds in the following order below:
- Database selection (PostgreSQL, MySQL, MongoDB, Redis, SQLite)
- Authentication options (JWT, OAuth2, FastAPI-Users, Session-based)
- Background tasks (Celery, Dramatiq)
- Caching layer (Redis, fastapi-cache2)
- Monitoring integration (Loguru, OpenTelemetry, Prometheus)
- Testing framework (Basic, Coverage, Advanced)
- Utilities (CORS, Rate-Limiting, Pagination, WebSocket)
- Deployment configuration (Docker, docker-compose)
- Package manager selection (pip, uv, pdm, poetry)
- Custom package addition support
- Step-by-step feature selection with descriptions. Each selection step proceeds in the following order below:
- Interactive Backend Architecture:
InteractiveConfigBuilder: Orchestrates full interactive flowDynamicConfigGenerator: Generates feature-specific codeDependencyCollector: Intelligently collects stack dependencies- Input validators with comprehensive error handling
- Multi-select prompts for utilities and deployment options
- Feature compatibility validation system
- Add AI translation support of user guides(docs/ folder sources that mkdocs renders)
- Adaptive Console Sizing: Enhanced terminal output display
- Console width is 80% of terminal width, capped at 120 characters
- Console height is terminal height minus buffer (5 lines)
- Automatic terminal size detection with fallback to default sizes (80x24)
- Dynamic sizing based on actual terminal dimensions
- Text Truncation Prevention: Completely eliminated text truncation in CLI output
- Template names and descriptions are now fully displayed without "..." truncation
- Table columns automatically adjust to content length to prevent text cutting
- Added
overflow="fold"andno_wrap=Falsesettings to Rich tables - Template listing now shows complete template names (e.g.,
fastapi-custom-responseinstead offastapi-custom-respo...)
- Fixing the object
consolenot found error- this critical error was occurred every version before this version.
- this error was occurred because of the mismatched logic between distribute github actions workflow and the top
__init__.pyfile of fastkit project package. - This issue was discovered during the development of version 1.1.2, and I spent a lot of time troubleshooting it. I believe this was due to my lack of development experience. I sincerely apologize.
this version was hotfix build, but it is deprecated.
The issues that were being addressed during the development of this version remained unresolved and were fixed in version v1.1.5.
For more details, please refer to the CHANGELOG.md file for v1.1.5.
- add
fastapi-single-moduletemplate - update
fastapi-psql-ormtemplate : fix dockerfile & docker-compose.yml scripts errors
- add a feature of
fastkit init,fastkit startdemocommand to define to make a new project folder at current working directory - add
setuptoolspackage atfastapi-emptytemplate's dependency list. - add a feature of
fastkit addroutecommand to recognize current working project (with cmd option.).
- fix template inspection workflow & script
- fixing uv supportation compatibility
- for now, template inspection is running with
uvpackage manager
-
Package Manager Support: Add comprehensive support for multiple Python package managers
- Support for UV (default), PDM, Poetry, and PIP package managers
- Interactive package manager selection in
fastkit initandfastkit startdemocommands --package-managerCLI option for non-interactive usage- Automatic generation of appropriate dependency files (
pyproject.tomlfor UV/PDM/Poetry,requirements.txtfor PIP) - PEP 621 compliant project metadata for modern package managers
-
Automated Template Testing System: Revolutionary zero-configuration template testing
- Dynamic template discovery - new templates are automatically tested
- Comprehensive end-to-end testing with actual project creation
- Multi-package manager compatibility testing
- Virtual environment creation and dependency installation validation
- Project structure and FastAPI integration verification
- Parameterized testing with pytest for scalable test execution
- Enhanced CLI Experience: Package manager selection with interactive prompts and helpful descriptions
- Better Template Quality Assurance: Multi-layer quality assurance with static inspection and dynamic testing
- Improved Developer Experience: Zero boilerplate test configuration for template contributors
- Cross-Platform Compatibility: Enhanced support for different package manager workflows
- Updated all user guides with package manager selection examples
- Enhanced CLI reference with comprehensive package manager documentation
- Updated contributing guidelines with new automated testing system
- Improved template creation guide with zero-configuration testing instructions
- Enhanced template quality assurance documentation
- Implemented BasePackageManager abstract class with concrete implementations
- Added PackageManagerFactory for dynamic package manager instantiation
- Enhanced project metadata injection for all package managers
- Improved test infrastructure with dynamic template discovery
- Updated CI/CD pipelines for multi-package manager testing
- Default Package Manager: Changed from PIP to UV for better performance
- CLI Prompts: Added package manager selection step in interactive commands
- add logging feature at
--debugmode option : debugging log will be stored at package directory
- add coverage test report and apply it at pre-commit hook
- bump
h11version from 0.14.0 to 0.16.0
- add github.io site for FastAPI-fastkit (with termynal & mkdocs-material)
- add a test case : test_cli_extended.py
official release version
- rename some
fastkitcommands:fastkit startup->fastkit startdemofastkit startproject->fastkit init
- add
fastkit addroutecommand : for adding a route to project - add
fastkit runservercommand : for running FastAPI server
- complete contribution guides
pre-release version
- modified template metadata injection modules
initial release : pre-release version
- add
fastapi-defaulttemplate - add
fastapi-asnyc-crudtemplate - add
fastapi-customized-responsetemplate - add
fastapi-dockerizedtemplate - add
fastapi-psql-ormtemplate
- add
fastkitcommand line base structure :fastkit <command>- add
fastkit --helpcommand : for more information about fastkit command - add
fastkit --versioncommand : for version information - add
fastkit --debugcommand : for debugging information - add
fastkit echocommand : for echo test - add
fastkit list-templatescommand : for listing available templates - add
fastkit startupcommand : for starting project with template - add
fastkit startprojectcommand : for starting empty FastAPI project - add
fastkit deleteprojectcommand : for deleting project
- add
- add test cases including template test cases
- add version tag system
- add pr-branching methods