A template-based project generator that helps you quickly scaffold new projects based on predefined templates.
- Create and manage project templates
- Generate new projects from templates
- Define and customize template variables
- Validate template configurations
- Support for post-creation hooks
pip install booster
-- for uvx user
uvx apg-booster For development:
# Clone the repository
git clone https://github.com/yourusername/booster.git
cd booster
# Create a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev]"booster new my-templateWith variables:
booster new my-template --variable name=string --variable version=stringbooster create my-template my-projectWith variable overrides:
booster create my-template my-project --variable name=awesome-app --variable version=1.0.0booster show my-templateTemplates are stored in the templates/ directory. Each template consists of:
- A
booster.jsonconfiguration file - Template files and directories to be copied to the new project
Example booster.json:
{
"name": "my-template",
"description": "A template for awesome projects",
"version": "1.0.0",
"variables": {
"name": {
"type": "string",
"description": "Project name",
"default": "my-project"
},
"version": {
"type": "string",
"description": "Project version",
"default": "0.1.0"
}
},
"template_paths": {
"src": "src/{{ name }}",
"tests": "tests/{{ name }}"
},
"hooks": {
"post_create": "echo 'Project created successfully!'"
}
}Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Run tests using pytest:
pytestThis project is licensed under the MIT License - see the LICENSE file for details.
- Click for the command-line interface