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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6be705595e2c7d05d862084d17a38868adb08757e525e6ed5061af5d29cb4c61
|
|
| MD5 |
05aaf7db4171fa0ecd86a78e3eeab91e
|
|
| BLAKE2b-256 |
ca27d7ed3ff381b2a89fb8757060fa0bc552747dd65a6cbaaaeea600ff256702
|
File details
Details for the file quickbot_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: quickbot_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd4b1c2bcfe3bc1096d7515217596ea3cd8ad583780f27216702e77151c44ae0
|
|
| MD5 |
cd78d43fee7b8c604b75a1b49a738660
|
|
| BLAKE2b-256 |
56b60bb62c56cbd7e9c4a5ec7792aec1d7e497a74d0937ffdfb073fbcec8311a
|