Skip to content

Commit a397763

Browse files
authored
Merge pull request #10 from bnbong/dev
[RELEASE] version 1.1.0
2 parents fd66b18 + 4e60a8f commit a397763

40 files changed

+4567
-687
lines changed

.github/workflows/test.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
name: Test and Coverage
22

33
on:
4-
push:
5-
branches:
6-
- main
74
pull_request:
85
types:
96
- opened

CHANGELOG.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,52 @@
11
# Changelog
22

3+
## v1.1.0 (2025-01-15)
4+
5+
### Features
6+
7+
- **Package Manager Support**: Add comprehensive support for multiple Python package managers
8+
- Support for UV (default), PDM, Poetry, and PIP package managers
9+
- Interactive package manager selection in `fastkit init` and `fastkit startdemo` commands
10+
- `--package-manager` CLI option for non-interactive usage
11+
- Automatic generation of appropriate dependency files (`pyproject.toml` for UV/PDM/Poetry, `requirements.txt` for PIP)
12+
- PEP 621 compliant project metadata for modern package managers
13+
14+
- **Automated Template Testing System**: Revolutionary zero-configuration template testing
15+
- Dynamic template discovery - new templates are automatically tested
16+
- Comprehensive end-to-end testing with actual project creation
17+
- Multi-package manager compatibility testing
18+
- Virtual environment creation and dependency installation validation
19+
- Project structure and FastAPI integration verification
20+
- Parameterized testing with pytest for scalable test execution
21+
22+
### Improvements
23+
24+
- **Enhanced CLI Experience**: Package manager selection with interactive prompts and helpful descriptions
25+
- **Better Template Quality Assurance**: Multi-layer quality assurance with static inspection and dynamic testing
26+
- **Improved Developer Experience**: Zero boilerplate test configuration for template contributors
27+
- **Cross-Platform Compatibility**: Enhanced support for different package manager workflows
28+
29+
### Documentation
30+
31+
- Updated all user guides with package manager selection examples
32+
- Enhanced CLI reference with comprehensive package manager documentation
33+
- Updated contributing guidelines with new automated testing system
34+
- Improved template creation guide with zero-configuration testing instructions
35+
- Enhanced template quality assurance documentation
36+
37+
### Technical
38+
39+
- Implemented BasePackageManager abstract class with concrete implementations
40+
- Added PackageManagerFactory for dynamic package manager instantiation
41+
- Enhanced project metadata injection for all package managers
42+
- Improved test infrastructure with dynamic template discovery
43+
- Updated CI/CD pipelines for multi-package manager testing
44+
45+
### Breaking Changes
46+
47+
- **Default Package Manager**: Changed from PIP to UV for better performance
48+
- **CLI Prompts**: Added package manager selection step in interactive commands
49+
350
## v1.0.2 (2025-07-02)
451

552
### Features

CONTRIBUTING.md

Lines changed: 54 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -273,17 +273,61 @@ template-name/
273273

274274
### Testing
275275

276-
1. Required Tests:
277-
- Basic CRUD operations
278-
- Authentication/Authorization
276+
FastAPI-fastkit includes **automated template testing** that provides comprehensive validation:
277+
278+
#### ✅ Automatic Template Testing
279+
280+
**Zero Configuration Required:**
281+
- 🚀 New templates are **automatically discovered** and tested
282+
- ⚡ No manual test file creation needed
283+
- 🛡️ Consistent quality standards applied
284+
285+
**Comprehensive Test Coverage:**
286+
-**Project Creation**: Template copying and metadata injection
287+
-**Package Manager Support**: UV, PDM, Poetry, and PIP compatibility
288+
-**Virtual Environment**: Creation and dependency installation
289+
-**Project Structure**: File and directory validation
290+
-**FastAPI Integration**: Project identification and functionality
291+
292+
**Test Execution:**
293+
```bash
294+
# Test all templates automatically
295+
$ pytest tests/test_templates/test_all_templates.py -v
296+
297+
# Test your specific template
298+
$ pytest tests/test_templates/test_all_templates.py::TestAllTemplates::test_template_creation[your-template-name] -v
299+
300+
# Test with PDM environment
301+
$ pdm run pytest tests/test_templates/test_all_templates.py -v
302+
```
303+
304+
#### ✅ Template-Specific Testing
305+
306+
While basic functionality is automatically tested, you should include template-specific tests:
307+
308+
1. **Required Template Tests:**
309+
- Basic CRUD operations (if applicable)
310+
- Authentication/Authorization (if implemented)
279311
- Error handling
280312
- API endpoints
281313
- Configuration validation
282314

283-
2. Test Coverage:
284-
- Minimum 80% code coverage
285-
- Include integration tests
286-
- API testing examples
315+
2. **Test Coverage Goals:**
316+
- Minimum 80% code coverage for template-specific logic
317+
- Include integration tests for external services
318+
- API testing examples in template documentation
319+
320+
#### ✅ Package Manager Testing
321+
322+
Test your template with all supported package managers:
323+
324+
```bash
325+
# Test with different package managers
326+
$ fastkit startdemo your-template-name --package-manager uv
327+
$ fastkit startdemo your-template-name --package-manager pdm
328+
$ fastkit startdemo your-template-name --package-manager poetry
329+
$ fastkit startdemo your-template-name --package-manager pip
330+
```
287331

288332
### Submission Process
289333

@@ -313,10 +357,12 @@ template-name/
313357
- [ ] All files use .py-tpl extension
314358
- [ ] FastAPI-fastkit dependency included
315359
- [ ] Security requirements met
316-
- [ ] Tests implemented and passing
317360
- [ ] Documentation complete
318361
- [ ] inspector.py validation passes
319362
- [ ] All make dev-check tests pass
363+
- [ ] **Automatic template tests pass** (new templates tested automatically)
364+
- [ ] **Package manager compatibility verified** (tested with UV, PDM, Poetry, PIP)
365+
- [ ] **Template-specific functionality tested** (if applicable)
320366

321367
4. **Pull Request:**
322368
- Provide detailed description

0 commit comments

Comments
 (0)