A simple project scaffolding tool
Project description
authskaf 🚀
A simple, lightweight project scaffolding tool built with Python, Typer, and Rich. authskaf helps you jumpstart your projects by generating boilerplate from customizable templates.
✨ Features
- Template-based: Create new projects from predefined or custom templates.
- Variable Replacement: Supports
{{variable}}placeholders in any file within your template. - Interactive CLI: Automatically detects variables and prompts you for values.
- Flexible Metadata: Add custom fields like
author,version, orlicenseto your templates. - Platform Idiomatic: Stores templates in standard config directories (
AppDataon Windows,.configon Linux/macOS). - Batteries Included: Automatically installs default templates on the first run.
- UV Integration: Built-in support for initializing Python projects with
uv.
🚀 Installation
The easiest way to install authskaf is using uv:
uv tool install authskaf
Alternatively, you can install it via pip:
pip install authskaf
🛠️ Usage
1. List Available Templates
See all templates currently installed on your system.
authskaf list
2. Get Template Details
View a template's description, required variables, and custom metadata.
authskaf info <template_name>
3. Initialize a New Project
Create a new project from a template. authskaf will guide you through the configuration.
authskaf init <template_name> <output_directory>
Example:
authskaf init python-web ./my-api --python 3.12
📂 Template Locations
authskaf looks for templates in the following platform-specific directories:
- Windows:
%APPDATA%\authskaf\templates\ - Linux/macOS:
~/.config/authskaf/templates/
Each template should be a folder containing:
template.toml: (Optional) Manifest file for metadata.files/: A directory containing the boilerplate files.
✍️ Creating Your Own Template
- Create a folder in your templates directory (e.g.,
my-template). - Create a
files/directory inside it and add your boilerplate. Use{{variable_name}}for placeholders. - (Optional) Create a
template.tomlto add metadata:
name = "My Awesome Template"
description = "A starter for high-performance APIs"
author = "Your Name"
version = "1.0.0"
# You can also pre-define variables (optional, authskaf auto-detects them too)
variables = ["project_name", "db_type"]
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
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 authskaf-0.1.0.tar.gz.
File metadata
- Download URL: authskaf-0.1.0.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5193f0692eab8912403fd74b4a20664e8af53a0cc26e1425f642cf244535093
|
|
| MD5 |
91f639976636860fe90f27ad4127cd15
|
|
| BLAKE2b-256 |
3b9c52444695f8d513f499b834b78681061df139402d9e197ffeeee6938eb37c
|
File details
Details for the file authskaf-0.1.0-py3-none-any.whl.
File metadata
- Download URL: authskaf-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
880adcff04974922b0fd863176006324f9400d02699172c545702fbe7aa00946
|
|
| MD5 |
7d0feaf041a9b2404adef7b690932a8c
|
|
| BLAKE2b-256 |
f058cd6b10589f99c2bb2252389bbef04b5edc8b0a1a90784872f6813c114b5f
|