- Docs
- QuadKit
- Getting started
- Installation
Installation
Requirements
Section titled “Requirements”- Python 3.11 or higher
- uv (recommended) or pip
Quick start
Section titled “Quick start”# uv (recommended — fast, deterministic)uv add quadkit-cli
# pippip install quadkit-cli
quadkit --versionquadkit new project my-app --template apicd my-appquadkit runThat is the whole install. Open http://127.0.0.1:8000/docs for OpenAPI. The walkthrough is Your First App.
The core quadkit package (Application, Provider, Container, Result, modules, YAML config) is pulled in by the CLI and by every extension. quadkit-contracts installs automatically.
Pin the alpha line when you ship:
uv add "quadkit-cli>=0.0.50,<0.1"If quadkit is not on PATH after uv add, run it as uv run quadkit.
Project starter
Section titled “Project starter”quadkit new project currently offers one starter, api, and always writes the same tree. Add installed packages with quadkit add and generate components with quadkit gen; neither changes the project layout.
There is no --structure flag. Feature types live in domains/. App providers live in app-root di/. See Project Structure.
Add packages later
Section titled “Add packages later”Install only what you need. Regular extensions may use the framework core, contracts, and permitted foundation packages; composite packages and tracked cross-package allowances are listed in the repository’s import-linter configuration.
quadkit add web # ensure quadkit-web and write web: config to application.yamlquadkit add testing # quadkit-testing (test harnesses)
uv add --dev quadkit-testing # fakes, test beds, compliance suitesquadkit add patches pyproject.toml (via uv add when available) and writes the provider’s default block into application.yaml. It only offers providers whose distribution is installed. All eighteen packages are published at 0.0.50 — including ai-llm, ai-agents, ai-mcp, workflow, and notification alongside web, testing, sql, cache, storage, events, tasks, monitor, auth, and http. See The Ecosystem for the full 18-package catalog.
Without the CLI
Section titled “Without the CLI”You can compose an app by hand with uv add quadkit quadkit-web and a create_app() factory. The CLI is still the supported path — it lays down the one project tree that generators and quadkit run expect.
Verify
Section titled “Verify”quadkit --versionpython -c "import quadkit; print(quadkit.__version__)"quadkit runYou should see OpenAPI at /docs. That is the “it works” check.
Next Steps
Section titled “Next Steps”- Your First App — scaffold, run, add a route
- For coding agents — read order, repo map, recipes
- Agent skills — Claude Code, Cursor, OpenCode pack
- Common mistakes — fail vs fix
- Project Structure — the tree the CLI writes
- The Ecosystem — the published packages, grouped by purpose