The quadkit command line: project scaffolding, generators, a smart
runner, and administrative commands for every stage of the application
lifecycle. Contributor-based — other packages can register their own
commands.
For day-to-day Quadkit developers: scaffold, generate, run, inspect.
The quadkit family
Section titled “The quadkit family”| Package | Role |
|---|---|
quadkit-contracts | zero-dependency protocols, types, exception hierarchy |
quadkit | the framework core — DI container, modules, config, logging, Result |
quadkit-web | ASGI layer — controllers, routing, middleware, OpenAPI docs |
quadkit-cli | project scaffolding and code generators |
quadkit-testing | in-process test beds, fakes, fixtures |
Installation
Section titled “Installation”uv add quadkit-cli# or as a standalone tool:uv tool install quadkit-cliRequires Python >= 3.11.
Minimal working example
Section titled “Minimal working example”There is no code to write — the product is the command line:
# Create a new project (template defaults to web-api); the package# inside is my_api/ with app.py exposing create_app()quadkit new project my-apicd my-api
# Generate application code (list all generators: quadkit gen list)quadkit gen provider MyProviderquadkit gen controller Orders
# Serve the application; reload is on by default, pass --no-reload in prodquadkit run my_api.app:create_app --host 0.0.0.0 --port 8000 --workers 4Eleven generators ship today (quadkit gen list):
controller middleware graphql webhook websocket exception_filterinterceptor error resource provider testGlobal options: --json for machine-readable output, --quiet,
--debug, --no-color, and --config <path> to point at a specific
application.yaml.
Command index
Section titled “Command index”| Command | Purpose |
|---|---|
quadkit new project / module / package | scaffold projects, bounded contexts, and quadkit-* extensions |
quadkit init | initialize Quadkit in an existing project |
quadkit add <provider> | add a provider to a project (e.g. database, auth) |
quadkit run [target] | smart runner — auto-detects create_app, sets profile |
quadkit dev start | production-server startup |
quadkit gen <what> | code generation (controllers, providers, middleware, tests, more — see quadkit gen list) |
quadkit test / quadkit lint | project-level checks |
quadkit db / quadkit events | database / event-schema management |
quadkit config / quadkit inspect / quadkit shell | configuration, runtime introspection, REPL |
quadkit project / quadkit contrib / quadkit system | project tasks, contributors, system info |
quadkit version | framework and package versions |
Per-distribution guide: quadkit-cli reference.
Optional extras
Section titled “Optional extras”[dev] and [test] bundle tooling; [all] pulls everything.
Configuration
Section titled “Configuration”The CLI reads application.yaml like any Quadkit application; its own
section is cli (color), overridable via QK_CLI__*, e.g.
QK_CLI__COLOR=false.
Error handling
Section titled “Error handling”Commands report structured failures (use --json for machine-readable
envelopes) and non-zero exit codes; --debug surfaces full tracebacks.
Testing
Section titled “Testing”quadkit test runs the project suite; the CLI’s own behavior is
covered by the public test set the release pipeline executes from the
exported tree.
Security
Section titled “Security”The CLI reads configuration and scaffolds code — it does not serve
traffic. As with every distribution, keep the 0.x line pinned and
review release notes on upgrade. Report vulnerabilities privately per
SECURITY.md.
Stability
Section titled “Stability”Version 0.0.3 in the 0.x series, released in lockstep with the
other four distributions; APIs may change between minor versions until
1.0 — pin an exact version (quadkit-cli==0.0.4) or a tight range
(>=0.0.4,<0.1). Full policy:
stability and compatibility.
- Documentation — oridecon.dev
- Getting started — oridecon.dev/getting-started/installation/
- Changelog — https://github.com/dbtinoy-/quadkit/blob/main/CHANGELOG.md
- Issues — https://github.com/dbtinoy-/quadkit/issues
- Security — report privately per SECURITY.md
- Contributing — CONTRIBUTING.md
Apache-2.0 — see LICENSE. “Quadkit” and the Quadkit logo are trademarks of the project — see TRADEMARK.md.