sqlmesh-spec-kit
AI SDLC and durable memory for SQLMesh teams: specs are contracts, SQLMesh plans are deployment evidence, and agents implement only inside approved task boundaries.
Install
After the first PyPI release:
uvx --from sqlmesh-spec-kit sqlmesh-specify --help
Before PyPI release, install directly from this repository:
uvx --from git+https://github.com/duckcode-ai/sqlmesh-spec-kit.git sqlmesh-specify --help
Initialize
Run inside an existing SQLMesh project with config.yaml, config.yml, or config.py and a models/ directory.
sqlmesh-specify init analytics --engine duckdb --target .
sqlmesh-specify doctor --target .
sqlmesh-specify validate project --target .
sqlmesh-specify validate sqlmesh --target .
sqlmesh-specify report --target . --format markdown
Supported engine presets: duckdb, snowflake, databricks, bigquery, trino, redshift, postgres, mysql, mssql, athena, spark, and clickhouse.
Verified SQLMesh Example
The full SDLC flow has been tested against the official SQLMesh examples repository:
git clone https://github.com/TobikoData/sqlmesh-examples.git
cd sqlmesh-examples/001_sushi/2_moderate
uvx --from git+https://github.com/duckcode-ai/sqlmesh-spec-kit.git sqlmesh-specify init sushi-moderate --engine duckdb --target .
uvx --from git+https://github.com/duckcode-ai/sqlmesh-spec-kit.git sqlmesh-specify ci --target .
For the complete spec, plan, tasks, implementation, SQLMesh test, and sqlmesh plan dev --auto-apply --no-prompts flow, follow Tutorial 02.
Workflow
- Draft
spec.mdwith EARS acceptance criteria. - Human approves the spec by setting status exactly to
approved. - Create
plan.mdwith SQLMesh environment, changed models, audits/tests, backfill scope, forward-only/restatement decision, and plan/apply evidence expectations. - Human approves the plan by setting status exactly to
approved. - Create
tasks.mdand implement only approved files. - Review final diff against
spec.md,plan.md,tasks.md, and SQLMesh plan/audit/test evidence.
Validators do not execute SQLMesh in v0.1. Run sqlmesh plan <env>, tests, and audits in your project workflow and attach the evidence to the spec directory or PR.
CLI
sqlmesh-specify init <project-name> --engine <engine> --target . [--force]
sqlmesh-specify doctor --target .
sqlmesh-specify validate <path/to/spec.md>
sqlmesh-specify validate project --target .
sqlmesh-specify validate sqlmesh --target .
sqlmesh-specify report --target . --format markdown
sqlmesh-specify ci --target .
sqlmesh-specify jira pull|attach|create-tasks|sync
sqlmesh-specify confluence pull-page|publish|sync
Docs
Release files for sqlmesh-spec-kit 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sqlmesh_spec_kit-0.1.0.tar.gz | 56.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sqlmesh_spec_kit-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 119.9 kB
Release files / sqlmesh_spec_kit-0.1.0.tar.gz
| Download URL | sqlmesh_spec_kit-0.1.0.tar.gz |
|---|---|
| Size | 56.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a568ef79b085727e9f67a6f4b9c8580fc38ca4f685b9405d619ce220af9eacb
|
|
BLAKE2b-256 checksum How to use checksums |
f2ecfcbe26b3d83bf987e774adfcb49905865eb64167092a8b949b0dd03be501
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 27, 2026.
Transparency logRelease files / sqlmesh_spec_kit-0.1.0-py3-none-any.whl
| Download URL | sqlmesh_spec_kit-0.1.0-py3-none-any.whl |
|---|---|
| Size | 62.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aa52cd720d5fd13a06241fd85c6642d1bb1d66e2ade73bdfdb8ed0c89ebf4044
|
|
BLAKE2b-256 checksum How to use checksums |
7bab697e360a3b2922dd82a090f6725afddf9b5b61e5651899e02b35caa409a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 27, 2026.
Transparency log