Metadata-Version: 2.4
Name: quickscaff
Version: 0.1.3
Summary: A Python CLI Scaffolding Tool for directory structures and template generation.
Author: Abdulla
License-Expression: MIT
Project-URL: Homepage, https://github.com/abdullacharoliya4-eng/quickscaff
Project-URL: Documentation, https://github.com/abdullacharoliya4-eng/quickscaff#readme
Project-URL: Repository, https://github.com/abdullacharoliya4-eng/quickscaff
Project-URL: Issues, https://github.com/abdullacharoliya4-eng/quickscaff/issues
Keywords: cli,scaffold,generator,boilerplate,template
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: build>=1.0.0; extra == "dev"
Requires-Dist: twine>=4.0.0; extra == "dev"
Dynamic: license-file

# quickscaff 🚀

[![Tests](https://github.com/abdullacharoliya4-eng/quickscaff/actions/workflows/tests.yml/badge.svg)](https://github.com/abdullacharoliya4-eng/quickscaff/actions/workflows/tests.yml)
[![PyPI version](https://img.shields.io/pypi/v/quickscaff.svg)](https://pypi.org/project/quickscaff/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python Version](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/downloads/)

**quickscaff** is a modern, lightweight Python CLI tool designed to instantly scaffold project file trees, directory structures, and boilerplate templates.

![quickscaff demo](https://raw.githubusercontent.com/abdullacharoliya4-eng/quickscaff/main/assets/demo.gif)

---

## ✨ 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:

```bash
pip install quickscaff
```

For local development:

```bash
git clone https://github.com/abdullacharoliya4-eng/quickscaff.git
cd quickscaff
pip install -e .
```

---

## 🚀 Quick Start

### 1. Scaffold a Basic Project
```bash
quickscaff new my_script --type basic
```
<details>
<summary>Output</summary>

```
[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
```
</details>

### 2. Scaffold a Full Python Package
```bash
quickscaff new my_package --type package --author "Abdulla" --description "A custom Python library"
```
<details>
<summary>Output</summary>

```
[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
```
</details>

### 3. Scaffold a CLI Application
```bash
quickscaff new my_cli --type cli --author "Abdulla"
```
<details>
<summary>Output</summary>

```
[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
```
</details>

### 4. List All Supported Templates
```bash
quickscaff list
```
<details>
<summary>Output</summary>

```
Available quickscaff Templates:
  - basic
  - package
  - cli
```
</details>

---

## 📂 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:
```bash
pytest -v
```

Lint and format code with ruff:
```bash
ruff check .
ruff format .
```

---

## 📜 License

Distributed under the [MIT License](LICENSE).
