quickscaff 🚀
quickscaff is a modern, lightweight Python CLI tool designed to instantly scaffold project file trees, directory structures, and boilerplate templates.
✨ Features
- ⚡ Fast Scaffolding: Create production-ready folder structures in milliseconds.
- 📦 Built-in Templates: Choose from pre-configured layouts (
basic,package,cli). - 🎨 Template Engine: Dynamic variable substitution (
$name,$author,$version,$year). - 🛡️ Safe Filesystem Operations: Cross-platform path handling using Python's
pathlib. - 🧪 Tested & Reliable: 100% automated unit test coverage with
pytest.
💻 Installation
Install via pip:
pip install quickscaff
For local development:
git clone https://github.com/abdullacharoliya4-eng/quickscaff.git
cd quickscaff
pip install -e .
🚀 Quick Start
1. Scaffold a Basic Project
quickscaff new my_script --type basic
Output
[quickscaff] Scaffolding 'my_script' using 'basic' template...
[success] Created project at: /home/user/my_script
Next steps:
cd my_script
my_script/
├── .gitignore
├── README.md
└── main.py
2. Scaffold a Full Python Package
quickscaff new my_package --type package --author "Abdulla" --description "A custom Python library"
Output
[quickscaff] Scaffolding 'my_package' using 'package' template...
[success] Created project at: /home/user/my_package
Next steps:
cd my_package
my_package/
├── .gitignore
├── README.md
├── pyproject.toml
├── my_package/
│ ├── __init__.py
│ └── module.py
└── tests/
├── __init__.py
└── test_module.py
3. Scaffold a CLI Application
quickscaff new my_cli --type cli --author "Abdulla"
Output
[quickscaff] Scaffolding 'my_cli' using 'cli' template...
[success] Created project at: /home/user/my_cli
Next steps:
cd my_cli
my_cli/
├── .gitignore
├── README.md
├── pyproject.toml
├── my_cli/
│ ├── __init__.py
│ └── cli.py
└── tests/
├── __init__.py
└── test_cli.py
4. List All Supported Templates
quickscaff list
Output
Available quickscaff Templates:
- basic
- package
- cli
📂 Supported Templates
| Template | Description | Key Files Generated |
|---|---|---|
basic |
Minimal python script | README.md, main.py, .gitignore |
package |
Standard Python library | pyproject.toml, README.md, {name}/module.py, tests/ |
cli |
CLI Application template | pyproject.toml, {name}/cli.py, tests/test_cli.py |
🛠️ Development & Testing
Run unit tests with pytest:
pytest -v
Lint and format code with ruff:
ruff check .
ruff format .
📜 License
Distributed under the MIT License.
Metadata
Release files for quickscaff 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| quickscaff-0.1.3.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quickscaff-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.8 kB
Release files / quickscaff-0.1.3.tar.gz
| Download URL | quickscaff-0.1.3.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b48ce4f7ca4546d15a57defe6d84415b8e0781a1042a53c1d35b8d445a22d83b
|
|
BLAKE2b-256 checksum How to use checksums |
e38aa5260eb920d10f7c044dbd92c030a3f45e40fb440bfd091f8fbe392808a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / quickscaff-0.1.3-py3-none-any.whl
| Download URL | quickscaff-0.1.3-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a22321857653cbe1bf3ea2f2be91e0f0fffb8f5413a44a48e89fb44bf2db200e
|
|
BLAKE2b-256 checksum How to use checksums |
218e5e8791c9ad2894786faa331df44e8f3936db5fe5d572fc978af691d64226
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|