Enterprise AI SDLC toolkit for SQLMesh projects, with spec-driven workflows, CI validation, and engine-specific presets.
Project description
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
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 sqlmesh_spec_kit-0.1.0.tar.gz.
File metadata
- Download URL: sqlmesh_spec_kit-0.1.0.tar.gz
- Upload date:
- Size: 56.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a568ef79b085727e9f67a6f4b9c8580fc38ca4f685b9405d619ce220af9eacb
|
|
| MD5 |
daee0111da4bbc701a3ad039ea61bcaf
|
|
| BLAKE2b-256 |
f2ecfcbe26b3d83bf987e774adfcb49905865eb64167092a8b949b0dd03be501
|
Provenance
The following attestation bundles were made for sqlmesh_spec_kit-0.1.0.tar.gz:
Publisher:
release.yml on duckcode-ai/sqlmesh-spec-kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sqlmesh_spec_kit-0.1.0.tar.gz -
Subject digest:
2a568ef79b085727e9f67a6f4b9c8580fc38ca4f685b9405d619ce220af9eacb - Sigstore transparency entry: 1636757300
- Sigstore integration time:
-
Permalink:
duckcode-ai/sqlmesh-spec-kit@84baf1b1f4f53f432a66a5f53823586a62bf9c71 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/duckcode-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@84baf1b1f4f53f432a66a5f53823586a62bf9c71 -
Trigger Event:
release
-
Statement type:
File details
Details for the file sqlmesh_spec_kit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sqlmesh_spec_kit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 62.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa52cd720d5fd13a06241fd85c6642d1bb1d66e2ade73bdfdb8ed0c89ebf4044
|
|
| MD5 |
1f32e10d3add5794747c27d6206e1c90
|
|
| BLAKE2b-256 |
7bab697e360a3b2922dd82a090f6725afddf9b5b61e5651899e02b35caa409a6
|
Provenance
The following attestation bundles were made for sqlmesh_spec_kit-0.1.0-py3-none-any.whl:
Publisher:
release.yml on duckcode-ai/sqlmesh-spec-kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sqlmesh_spec_kit-0.1.0-py3-none-any.whl -
Subject digest:
aa52cd720d5fd13a06241fd85c6642d1bb1d66e2ade73bdfdb8ed0c89ebf4044 - Sigstore transparency entry: 1636757531
- Sigstore integration time:
-
Permalink:
duckcode-ai/sqlmesh-spec-kit@84baf1b1f4f53f432a66a5f53823586a62bf9c71 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/duckcode-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@84baf1b1f4f53f432a66a5f53823586a62bf9c71 -
Trigger Event:
release
-
Statement type: