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.0.tar.gz (13.6 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.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for quickbot_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6be705595e2c7d05d862084d17a38868adb08757e525e6ed5061af5d29cb4c61
MD5 05aaf7db4171fa0ecd86a78e3eeab91e
BLAKE2b-256 ca27d7ed3ff381b2a89fb8757060fa0bc552747dd65a6cbaaaeea600ff256702

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quickbot_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bd4b1c2bcfe3bc1096d7515217596ea3cd8ad583780f27216702e77151c44ae0
MD5 cd78d43fee7b8c604b75a1b49a738660
BLAKE2b-256 56b60bb62c56cbd7e9c4a5ec7792aec1d7e497a74d0937ffdfb073fbcec8311a

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