Skip to main content

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, or license to your templates.
  • Platform Idiomatic: Stores templates in standard config directories (AppData on Windows, .config on 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:

  1. template.toml: (Optional) Manifest file for metadata.
  2. files/: A directory containing the boilerplate files.

✍️ Creating Your Own Template

  1. Create a folder in your templates directory (e.g., my-template).
  2. Create a files/ directory inside it and add your boilerplate. Use {{variable_name}} for placeholders.
  3. (Optional) Create a template.toml to 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

authskaf-0.1.0.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

authskaf-0.1.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

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

Hashes for authskaf-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a5193f0692eab8912403fd74b4a20664e8af53a0cc26e1425f642cf244535093
MD5 91f639976636860fe90f27ad4127cd15
BLAKE2b-256 3b9c52444695f8d513f499b834b78681061df139402d9e197ffeeee6938eb37c

See more details on using hashes here.

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

Hashes for authskaf-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 880adcff04974922b0fd863176006324f9400d02699172c545702fbe7aa00946
MD5 7d0feaf041a9b2404adef7b690932a8c
BLAKE2b-256 f058cd6b10589f99c2bb2252389bbef04b5edc8b0a1a90784872f6813c114b5f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page