A powerful Django command library inspired by modern CLIs like NestJS, AdonisJS, and Laravel. Django SmartCLI automates the creation of Django microservices with a complete and consistent structure.
- create_module: Creates a new Django app with complete folder structure
- create_model: Generates Django models with custom managers and UUID primary keys
- create_serializer: Creates DRF serializers with proper field configuration
- create_service: Generates business logic services with transaction support
- create_factory: Creates factory_boy factories for testing
- create_views: Generates DRF ViewSets with full CRUD operations
- Consistent folder structure across all modules
- Automatic __init__.py file management
- Organized test structure by category (models, serializers, services, views)
- Automatic integration with Django settings
- UUID primary keys for all models
- Automatic timestamps (created_at, deleted_at)
- Soft delete support
- Custom model managers with useful methods
- Atomic transactions in services
- Comprehensive test templates
- Direct CLI Commands: Use django-smartcli for all operations (recommended)
- Django Compatibility: You can also use python manage.py if you prefer
- Smart Naming: The CLI automatically adds suffixes (e.g., Product becomes ProductService)
If you prefer, all commands are also available via Django:
Creates a complete Django app structure.
Creates a Django model with best practices.
Creates a DRF serializer. The CLI automatically adds "Serializer" suffix.
Creates a business logic service. The CLI automatically adds "Service" suffix.
Creates a factory_boy factory. The CLI automatically adds "Factory" suffix.
Creates a DRF ViewSet. The CLI automatically adds "ViewSet" suffix.
Runs Django tests with custom filters for organized test execution:
Available Test Filters:
- --models: Tests in tests/models/ directories
- --services: Tests in tests/services/ directories
- --serializers: Tests in tests/serializers/ directories
- --views: Tests in tests/views/ directories
💡 Note: You can only use one filter at a time. The command will automatically detect and run tests from the appropriate directories in your Django apps.
💡 Tip: All these commands are also available with python manage.py ... if you prefer the classic Django syntax.
- Modern Interface: Uses kebab-case commands (e.g., create-module instead of create_module)
- Smart Naming: Automatically adds appropriate suffixes to class names
- Error Handling: Clear error messages and validation
- Django Project Detection: Automatically detects if you're in a Django project
- Help System: Built-in help and version information
- Cross-Platform: Works on Windows, macOS, and Linux
- Format: PascalCase (e.g., UserProfile)
- File: snake_case (e.g., user_profile.py)
- Manager: <ModelName>Manager
- Format: PascalCase + "Serializer" (e.g., UserProfileSerializer)
- File: snake_case + "_serializer" (e.g., user_profile_serializer.py)
- CLI Input: Just the base name (e.g., UserProfile → UserProfileSerializer)
- Format: PascalCase + "Service" (e.g., UserProfileService)
- File: snake_case + "_service" (e.g., user_profile_service.py)
- CLI Input: Just the base name (e.g., UserProfile → UserProfileService)
- Format: PascalCase + "Factory" (e.g., UserProfileFactory)
- File: snake_case + "_factory" (e.g., user_profile_factory.py)
- CLI Input: Just the base name (e.g., UserProfile → UserProfileFactory)
The library includes comprehensive test templates for all generated components:
- Python 3.8+
- Django 4.2+
- Django REST Framework 3.14+
- factory_boy 3.3+
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by modern CLIs like NestJS, AdonisJS, and Laravel
- Built with Django and Django REST Framework
- Uses factory_boy for test factories
- Issues: GitHub Issues
- Documentation: GitHub Wiki
- Discussions: GitHub Discussions
.png)

![How to easily change panel on button click in Unity 2025 with just 1 Script [video]](https://www.youtube.com/img/desktop/supported_browsers/opera.png)