A CLI tool to create and manage projects with a template
Project description
Booster
A template-based project generator that helps you quickly scaffold new projects based on predefined templates.
Features
- Create and manage project templates
- Generate new projects from templates
- Define and customize template variables
- Validate template configurations
- Support for post-creation hooks
Installation
pip install 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]"
Usage
Creating a New Template
booster new my-template
With variables:
booster new my-template --variable name=string --variable version=string
Creating a Project from a Template
booster create my-template my-project
With variable overrides:
booster create my-template my-project --variable name=awesome-app --variable version=1.0.0
Viewing Template Details
booster show my-template
Template Structure
Templates 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!'"
}
}
Contributing
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
Testing
Run tests using pytest:
pytest
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Click for the command-line interface
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apg_booster-0.1.0.tar.gz.
File metadata
- Download URL: apg_booster-0.1.0.tar.gz
- Upload date:
- Size: 17.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50ecbe99db623b529e7f1d4ddbc147bb586d5d2f49de5b93efb00821d7bc29ab
|
|
| MD5 |
62f69faf4cb11ba5d0dd654232042ca6
|
|
| BLAKE2b-256 |
8584ff28b79f681a5ff175601db71d700c24e2b04e4f8bfbe18e13ed72536915
|
File details
Details for the file apg_booster-0.1.0-py3-none-any.whl.
File metadata
- Download URL: apg_booster-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9851cce8cda93893caa36bde0bde9378129bdd86414960e786fcaade8405925
|
|
| MD5 |
e6ca3fbc1db345561d4168c9c6ef6c12
|
|
| BLAKE2b-256 |
6714f1e915244bf959360147424536aba7b02aa62980a18094ccd992f1a40fa4
|