Skip to main content

QuickBot CLI

Project description

quickbot_cli

QuickBot CLI for scaffolding new projects from templates.

Features

  • Generate a ready-to-run QuickBot app structure from templates
  • Optional modules (e.g., Alembic migrations, i18n) included/excluded via flags

Installation

You can install the CLI into your environment:

uv pip install quickbot-cli

Alternatively, for local development in this repo:

uv pip install -e .[dev]

Usage

Show help:

uv run quickbot --help
uv run quickbot init --help

Generate a project into a target directory (default template: "basic"):

uv run quickbot init ./my_bot \
  --template basic \
  --project-name my_bot \
  --description "My awesome bot" \
  --author "Jane Doe" \
  --license-name MIT \
  --include-alembic \
  --include-i18n \
  --overwrite

Key options:

  • --template, -t: template name (default: basic)
  • --project-name: project name used during rendering
  • --description: short description
  • --author: author name
  • --license-name: license identifier (e.g., MIT)
  • --include-alembic/--no-include-alembic: include Alembic files (default: on)
  • --include-i18n/--no-include-i18n: include i18n files (default: on)
  • --overwrite: overwrite existing files when rendering

Templates

Built-in templates live under src/quickbot_cli/templates/. The default is basic and includes a minimal app layout plus optional Alembic/i18n modules.

Each template can include a __template__.yaml file describing variables and post-generation tasks. Example:

variables:
  project_name:
    prompt: Project name
    default: my_project
  include_alembic:
    prompt: Include Alembic?
    choices: ["yes", "no"]
    default: "yes"
post_tasks:
  - when: "{{ include_alembic }}"
    run: ["echo", "alembic_initialized"]

Template files use the .j2 suffix and are rendered to the output path with variables made available to Jinja2. Non-.j2 files are copied as-is.

Development

Clone the repo and install dev deps:

uv pip install -e .[dev]

Run tests:

uv run python run_tests.py
# or
uv run -m pytest tests/ -v --tb=short

Code style and tooling:

  • Ruff and MyPy configs are in pyproject.toml
  • Pre-commit hooks: .pre-commit-config.yaml

License

MIT. See LICENSES/MIT.txt.

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

quickbot_cli-0.1.1.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

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

quickbot_cli-0.1.1-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file quickbot_cli-0.1.1.tar.gz.

File metadata

  • Download URL: quickbot_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.15

File hashes

Hashes for quickbot_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2feb3e3cca1923f86c2f056c0cd6bece07f9a1dccf72577b662884e7d2f44c5e
MD5 7da26bea62c368d17405520b7a614577
BLAKE2b-256 f0abfb9d6733fefbccba493dcfdb824511c06442189444609ba4cf50990364ad

See more details on using hashes here.

File details

Details for the file quickbot_cli-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for quickbot_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6203352ac1ec0c78c669eb1d86128892d3420c5351991afc9c18561f77d28e22
MD5 2df6fa3395fdeae4f5d976d310a56f85
BLAKE2b-256 cecbe307c917565d903f81ffe6c0bfe6e1a2e7e0adee787c4c686b979e76c030

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