Skip to main content

Yalla Nkardaz’s personal CLI toolkit

Project description

YAL

YAL is a command-line utility for project initialization and updates based on templates.

Commands

  • yal create <kind>[:<name>][@<ref>] — uses a template to create a new project (currently supports only book kind)
  • yal update <kind>[:<name>] — updates an existing project (currently supports only book kind)

Install utility

pip install yal

Create a project

Downloads the template (if not cached locally) and initiates the configuration process.

# Basic usage
yal create book

# Using a specific template
yal create book:template-name

# Using a specific version (tag or commit hash)
yal create book@version

# Combined usage
yal create book:template-name@version

yal.toml

A configuration file used as a prompt when creating a project from a template. The yal.toml file is located in the root of the template and may have a structure like the following:

[meta]
yal-min-version = "0.1.0"

[[fields]]
id             = "book-name"
type           = "text"
required       = true
default        = "{placeholder}"
is-folder-name = true

[[fields]]
id       = "book-author"
type     = "text"
required = false
default  = ""

[[fields]]
id       = "book-lang"
type     = "select"
options  = ["ru", "en", "de"]
default  = "ru"

[messages.ru]
book-name.prompt      = "Введите название книги"
book-name.placeholder = "Книга без названия"
book-author.prompt    = "Введите имя автора"
book-author.placeholder = "Аноним"
book-lang.prompt      = "Выберите язык книги в формате ISO-639"

[messages.en]
book-name.prompt      = "Enter book title"
book-name.placeholder = "Untitled book"
book-author.prompt    = "Enter author name"
book-author.placeholder = "Anonymous"
book-lang.prompt      = "Select book language in ISO-639 format"

[[targets]]
file   = "/meta/book.yml"
format = "yaml"

[[targets.fields]]
field = "book-name"
key   = "book.title"

[[targets.fields]]
field = "book-author"
key   = "author[0].name"

[[targets.fields]]
field = "book-lang"
key   = "property.language[ISO-639]"

Built-in templates

<Book> Typst Book Template

A template for creating a book using Typst, including a prebuilt structure, plugins, styles, settings, and a build system that combines Typst and Python tools.

Requires installation of the Typst compiler and the Python packages pyyaml, pikepdf, and pillow.

pip install pyyaml pikepdf pillow

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

yal_cmd-0.1.0.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

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

yal_cmd-0.1.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file yal_cmd-0.1.0.tar.gz.

File metadata

  • Download URL: yal_cmd-0.1.0.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for yal_cmd-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c3241cb19c571c00ad455a8a16c33b9e4dba459e7ba527afeb1ec6361dd4ad9b
MD5 2d86f94f7d1e04f58a3bc8bd52c9a02f
BLAKE2b-256 91ac9d4c679ce916350178e4907cc3803b2db325708a82fe1f119ec614b6a0d8

See more details on using hashes here.

File details

Details for the file yal_cmd-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: yal_cmd-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for yal_cmd-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 787e5fcdff9731572d710edd7aba64cf504a5a45a0a223444582edd52fa5ae5d
MD5 6b7dda10d3e0546272d41c3d3ed243eb
BLAKE2b-256 bc890fc394712c86e0a438e309c695bf588a3b36767faeca4235959f5d6c0a9f

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