{"repo":"z3z1ma/dbt-osmosis","free":true,"listed":false,"github":"https://github.com/z3z1ma/dbt-osmosis","clone":"git clone https://github.com/z3z1ma/dbt-osmosis.git","description":"Provides automated YAML management and a streamlit workbench. Designed to optimize dev workflows.","language":"Python","stars":640,"topics":["cli","data","dbt","documentation","editor","modelling","sql","testing"],"license":"Apache-2.0","category":"dev_tool","readme_excerpt":"# dbt-osmosis\n\n![PyPI](https://img.shields.io/pypi/v/dbt-osmosis)\n[![Downloads](https://static.pepy.tech/badge/dbt-osmosis)](https://pepy.tech/project/dbt-osmosis)\n![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-green.svg)\n[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://dbt-osmosis-playground.streamlit.app/)\n\n`dbt-osmosis` is a Python CLI and package for dbt development workflows.\n\nIt centers on four primary surfaces:\n\n- schema YAML management (`yaml organize`, `yaml document`, `yaml refactor`)\n- column-level documentation inheritance across dbt lineage\n- ad-hoc SQL compile/run helpers\n- an optional Streamlit workbench for interactive dbt SQL development\n\nThe repository also ships additional command families for generation, natural-language helpers, schema diffing, migration planning, validation, documentation analysis, SQL linting, and test suggestions.\n\nThe Docusaurus site is the canonical reference for the current CLI, configuration model, support matrix, and workflow guides:\n\n- Docs site: https://z3z1ma.github.io/dbt-osmosis/\n- CLI reference: https://z3z1ma.github.io/dbt-osmosis/docs/reference/cli\n- Configuration guide: https://z3z1ma.github.io/dbt-osmosis/docs/tutorial-yaml/configuration\n- Migration guide: https://z3z1ma.github.io/dbt-osmosis/docs/migrating\n\n[![dbt-osmosis](/screenshots/docs_site.png)](https://z3z1ma.github.io/dbt-osmosis/)\n\n## Supported runtime\n\n`dbt-osmosis` currently targets:\n\n- Python 3.10-3.13\n- dbt Core 1.8+ package resolution\n- a dbt adapter version compatible with the dbt Core runtime in that environment\n\nAudited blocking support covers dbt Core 1.8.x through 1.11.x in CI. The package metadata intentionally remains `dbt-core>=1.8` without an upper bound so installers can resolve newer dbt releases. Future dbt Core minors are canary-only until explicitly audited; scheduled/manual canary CI uses unpinned latest `dbt-core` and `dbt-duckdb` to make upstream breakage visible without redefining audited support. Install a dbt adapter version that is compatible with the dbt Core runtime in your environment; adapter compatibility is owned by the adapter and dbt Core pairing, not by dbt-osmosis extras.\n\nOptional extras:\n\n- `dbt-osmosis[workbench]` for the Streamlit workbench and related UI dependencies\n- `dbt-osmosis[duckdb]` for the DuckDB adapter used by the demo project and local fixture workflows\n- `dbt-osmosis[openai]` for LLM-assisted synthesis and natural-language generation features\n- `dbt-osmosis[azure]` for Azure AD authentication used with Azure OpenAI\n- `dbt-osmosis[proxy]` only installs dependencies for the experimental opt-in SQL proxy runtime; it does not expand the supported product surface, start a proxy server, configure authentication, TLS, or listen/bind settings, or make comment middleware durable. The proxy module entrypoint is a local-only experiment with `mysql-mimic` defaults, not a hardened user-facing server; do not expose it to untrusted networks. The proxy comment middleware is in-memory only, and `ticket:c10proxy25` owns proxy support semantics.\n\n## Install\n\nWith `uv`:\n\n```bash\nuv tool install --with=\"dbt-<adapter>\" dbt-osmosis\n```\n\nWith `pip`:\n\n```bash\npip install \"dbt-osmosis\" \"dbt-<adapter>\"\n```\n\nReplace `<adapter>` with your dbt adapter package, for example `duckdb`, `snowflake`, `bigquery`, `postgres`, or `redshift`.\n\n## Quick start\n\n1. Configure YAML routing in `dbt_project.yml`:\n\n```yaml title=\"dbt_project.yml\"\nmodels:\n  your_project_name:\n    +dbt-osmosis: \"_{model}.yml\"\n```\n\n2. Optionally set per-folder behavior with `+dbt-osmosis-options` and a repo-level YAML formatter in `dbt-osmosis.yml`:\n\n```yaml title=\"dbt-osmosis.yml\"\nformatter: \"prettier --write\"\n```\n\n3. Preview changes safely:\n\n```bash\ndbt-osmosis yaml refactor --dry-run --check\n```\n\n4. Apply the update once the diff looks right:\n\n```bash\ndbt-osmosis yaml refactor --auto-apply\n```\n\n## CLI surface\n\nTop-level commands currently exposed by `dbt-osmosis --help`:\n\n- `yaml` — manage schema YAML files and documentation inheritance\n- `sql` — compile or run ad-hoc SQL in dbt context\n- `workbench` — launch the Streamlit workbench\n- `generate` — generate sources, staging models, models, and SQL\n- `nl` — natural-language query/model helpers\n- `test` — suggest dbt tests\n- `test-llm` — validate LLM client configuration\n- `diff` — report schema drift between YAML and the database\n- `migration` — plan database migration SQL from schema diffs\n- `validate` — dry-run selected models without materializing them\n- `analyze` — inspect documentation coverage, gaps, and style\n- `lint` — lint SQL strings, models, or a whole project\n\nFor command-by-command flags and examples, use the docs-site CLI reference rather than relying on this landing page.\n\n## Developer tooling\n\nLocal development in this repository is built around `uv`, `task`, and Ruff.\n\nCommon workflows:\n\n```bash\ntask format\ntask lint\ntask test\n```\n\nNotes:\n\n- Ruff is the active formatter, linter, and import sorter.\n- `task` is not just verification; the default task formats, lints, runs tests, and then ensures the dev environment is synced.\n- Repository test fixtures are DuckDB-only today; contributor examples use `demo_duckdb`, and targeted core tests may need `uv run dbt parse --project-dir demo_duckdb --profiles-dir demo_duckdb -t test` to refresh `demo_duckdb/target/manifest.json`.\n- Docs-site commands use the Node toolchain under `docs/`:\n\n```bash\nnpm --prefix docs run start\nnpm --prefix docs run build\nnpm --prefix docs run serve\n```\n\n## Workbench\n\nThe optional workbench is a Streamlit app for interactive dbt SQL development.\n\nInstall the extra and launch it with:\n\n```bash\npip install \"dbt-osmosis[workbench]\" \"dbt-<adapter>\"\ndbt-osmosis workbench\n```\n\nThe hosted demo is linked from the badge at the top of this README.\n\n## Pre-commit hook\n\nYou can run `dbt-osmosis yaml refactor -C` as a pre-commit hook:\n\n```yaml title=\".pre-commit-config.yaml\"\nrepos:\n  - repo: https://github.com/z3z1ma/dbt-osmosis\n    rev: v1.3.0\n    hooks:\n      - id: dbt-osmosis\n        files: ^models/\n        args: [--target=prod]\n        additional_dependencies: [dbt-<adapter>]\n```\n\nThat hook keeps schema YAML changes visible in the commit that introduced them.\n","default_branch":"main","files":456,"tree":[".10x/decisions/docs-npm-security-overrides.md",".10x/evidence/2026-07-04-github-dependabot-alerts.md",".10x/evidence/2026-07-04-quality-optimizer-baseline.md",".10x/evidence/2026-07-04-quality-optimizer-closure.md",".10x/evidence/2026-07-04-semgrep-triage.md",".10x/evidence/2026-07-04-sync-doc-section-refactor.md",".10x/evidence/2026-07-04-uv-audit-remediation.md",".10x/evidence/2026-07-05-callable-wrapper-collapse.md",".10x/evidence/2026-07-05-cli-main-complexipy.md",".10x/evidence/2026-07-05-config-cross-project-complexipy.md",".10x/evidence/2026-07-05-core-cli-exposure-release.md",".10x/evidence/2026-07-05-core-cyclic-import-break.md",".10x/evidence/2026-07-05-deptry-zero.md",".10x/evidence/2026-07-05-discovery-complexipy.md",".10x/evidence/2026-07-05-docs-node20-docusaurus-upgrade.md",".10x/evidence/2026-07-05-docs-npm-audit-remediation.md",".10x/evidence/2026-07-05-docusaurus-docs-manual-deploy.md",".10x/evidence/2026-07-05-final-deep-quality-sweep.md",".10x/evidence/2026-07-05-final-type-tool-feedback.md",".10x/evidence/2026-07-05-inheritance-complexipy.md",".10x/evidence/2026-07-05-introspection-complexipy.md",".10x/evidence/2026-07-05-llm-complexipy.md",".10x/evidence/2026-07-05-llm-optional-import-handling.md",".10x/evidence/2026-07-05-llm-optional-sdk-test-imports.md",".10x/evidence/2026-07-05-migration-quote-complexipy.md",".10x/evidence/2026-07-05-model-version-complexipy.md",".10x/evidence/2026-07-05-node-filters-complexipy.md",".10x/evidence/2026-07-05-node-yaml-complexipy.md",".10x/evidence/2026-07-05-optional-return-paths.md",".10x/evidence/2026-07-05-path-management-complexipy.md",".10x/evidence/2026-07-05-protocol-contract-stub-clarity.md",".10x/evidence/2026-07-05-pydoclint-doc301-cleanup.md",".10x/evidence/2026-07-05-quality-optimizer-final-vector.md",".10x/evidence/2026-07-05-release-publishing-workflow-repair.md",".10x/evidence/2026-07-05-restructuring-complexipy.md",".10x/evidence/2026-07-05-schema-diff-complexipy.md",".10x/evidence/2026-07-05-schema-package-export-clarity.md",".10x/evidence/2026-07-05-schema-reader-complexipy.md",".10x/evidence/2026-07-05-schema-validation-complexipy.md",".10x/evidence/2026-07-05-schema-writer-complexipy.md",".10x/evidence/2026-07-05-semgrep-policy-zero.md",".10x/evidence/2026-07-05-sql-lint-complexipy.md",".10x/evidence/2026-07-05-sql-proxy-complexipy.md",".10x/evidence/2026-07-05-sync-operations-complexipy.md",".10x/evidence/2026-07-05-test-module-import-style.md",".10x/evidence/2026-07-05-test-suggestions-complexipy.md",".10x/evidence/2026-07-05-transform-map-drains.md",".10x/evidence/2026-07-05-transform-pipeline-rshift-protocol.md",".10x/evidence/2026-07-05-transforms-complexipy.md",".10x/evidence/2026-07-05-type-checker-adoption-scope.md",".10x/evidence/2026-07-05-type-tools-zero.md",".10x/evidence/2026-07-05-voice-learning-complexipy.md",".10x/evidence/2026-07-05-vulture-boilerplate-cleanup.md",".10x/evidence/2026-07-05-workbench-feed-fetcher-hardening.md",".10x/evidence/2026-07-05-workbench-main-complexipy.md",".10x/evidence/2026-07-05-workbench-pyarrow-osv-remediation.md",".10x/evidence/2026-07-05-workbench-requirements-osv-remediation.md",".10x/knowledge/gitleaks-history-scan-refs.md",".10x/research/2026-07-04-quality-optimizer-baseline.md",".10x/reviews/2026-07-04-quality-optimizer-closure-review.md",".10x/reviews/2026-07-04-semgrep-triage-review.md",".10x/reviews/2026-07-04-sync-doc-section-refactor-review.md",".10x/reviews/2026-07-04-uv-audit-remediation-review.md",".10x/reviews/2026-07-05-callable-wrapper-collapse-review.md",".10x/reviews/2026-07-05-cli-main-complexipy.md",".10x/reviews/2026-07-05-config-cross-project-complexipy.md",".10x/reviews/2026-07-05-core-cli-exposure-release.md",".10x/reviews/2026-07-05-core-cyclic-import-break-review.md",".10x/reviews/2026-07-05-deptry-zero.md",".10x/reviews/2026-07-05-discovery-complexipy.md",".10x/reviews/2026-07-05-docs-node20-docusaurus-upgrade-review.md",".10x/reviews/2026-07-05-docs-npm-audit-remediation-review.md",".10x/reviews/2026-07-05-docusaurus-docs-manual-deploy.md",".10x/reviews/2026-07-05-final-deep-quality-sweep.md",".10x/reviews/2026-07-05-final-type-tool-feedback-review.md",".10x/reviews/2026-07-05-inheritance-complexipy.md",".10x/reviews/2026-07-05-introspection-complexipy.md",".10x/reviews/2026-07-05-llm-complexipy.md",".10x/reviews/2026-07-05-llm-optional-import-handling-review.md",".10x/reviews/2026-07-05-llm-optional-sdk-test-imports-review.md",".10x/reviews/2026-07-05-migration-quote-complexipy.md",".10x/reviews/2026-07-05-model-version-complexipy.md",".10x/reviews/2026-07-05-node-filters-complexipy.md",".10x/reviews/2026-07-05-node-yaml-complexipy.md",".10x/reviews/2026-07-05-optional-return-paths-review.md",".10x/reviews/2026-07-05-path-management-complexipy.md",".10x/reviews/2026-07-05-protocol-contract-stub-clarity-review.md",".10x/reviews/2026-07-05-pydoclint-doc301-cleanup-review.md",".10x/reviews/2026-07-05-release-publishing-workflow-repair.md",".10x/reviews/2026-07-05-restructuring-complexipy.md",".10x/reviews/2026-07-05-schema-diff-complexipy.md",".10x/reviews/2026-07-05-schema-package-export-clarity-review.md",".10x/reviews/2026-07-05-schema-reader-complexipy.md",".10x/reviews/2026-07-05-schema-validation-complexipy.md",".10x/reviews/2026-07-05-schema-writer-complexipy.md",".10x/reviews/2026-07-05-semgrep-policy-zero.md",".10x/reviews/2026-07-05-sql-lint-complexipy.md",".10x/reviews/2026-07-05-sql-proxy-complexipy.md",".10x/reviews/2026-07-05-sync-operations-complexipy.md",".10x/reviews/2026-07-05-test-module-import-style-review.md",".10x/reviews/2026-07-05-test-suggestions-complexipy.md",".10x/reviews/2026-07-05-transform-map-drains-review.md",".10x/reviews/2026-07-05-transform-pipeline-rshift-protocol-review.md",".10x/reviews/2026-07-05-transforms-complexipy.md",".10x/reviews/2026-07-05-type-tools-zero.md",".10x/reviews/2026-07-05-voice-learning-complexipy.md",".10x/reviews/2026-07-05-vulture-boilerplate-cleanup.md",".10x/reviews/2026-07-05-workbench-feed-fetcher-hardening-review.md",".10x/reviews/2026-07-05-workbench-main-complexipy.md",".10x/reviews/2026-07-05-workbench-pyarrow-osv-remediation.md",".10x/reviews/2026-07-05-workbench-requirements-osv-remediation-review.md",".10x/tickets/done/2026-07-04-quality-optimizer-hill-climb.md",".10x/tickets/done/2026-07-04-ratify-dependency-cooldown-policy.md",".10x/tickets/done/2026-07-04-ratify-github-actions-pinning-policy.md",".10x/tickets/done/2026-07-04-refactor-sync-doc-section-complexity.md",".10x/tickets/done/2026-07-04-remediate-docs-npm-audit-vulnerabilities.md",".10x/tickets/done/2026-07-04-remediate-uv-audit-vulnerabilities.md",".10x/tickets/done/2026-07-04-triage-semgrep-default-findings.md",".10x/tickets/done/2026-07-05-align-transform-pipeline-rshift-protocol.md",".10x/tickets/done/2026-07-05-break-core-codeql-cyclic-imports.md",".10x/tickets/done/2026-07-05-clarify-protocol-contract-stubs.md",".10x/tickets/done/2026-07-05-clarify-schema-package-exports.md",".10x/tickets/done/2026-07-05-clarify-transform-map-drains.md",".10x/tickets/done/2026-07-05-clear-pydoclint-doc301.md",".10x/tickets/done/2026-07-05-collapse-unnecessary-callable-wrappers.md",".10x/tickets/done/2026-07-05-deploy-docusaurus-docs.md",".10x/tickets/done/2026-07-05-expose-stable-core-cli-features.md",".10x/tickets/done/2026-07-05-final-deep-quality-sweep.md",".10x/tickets/done/2026-07-05-harden-workbench-feed-fetcher.md",".10x/tickets/done/2026-07-05-make-deptry-zero.md",".10x/tickets/done/2026-07-05-make-optional-return-paths-explicit.md",".10x/tickets/done/2026-07-05-normalize-test-module-import-style.md",".10x/tickets/done/2026-07-05-ratify-docs-node20-docusaurus-upgrade.md",".10x/tickets/done/2026-07-05-ratify-type-checker-adoption-scope.md",".10x/tickets/done/2026-07-05-reduce-cli-main-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-config-cross-project-complexipy-hotspot.md",".10x/tickets/done/2026-07-05-reduce-discovery-complexipy-hotspot.md",".10x/tickets/done/2026-07-05-reduce-inheritance-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-introspection-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-llm-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-migration-quote-complexipy-hotspot.md",".10x/tickets/done/2026-07-05-reduce-model-version-complexipy-hotspot.md",".10x/tickets/done/2026-07-05-reduce-node-filters-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-node-yaml-complexipy-hotspot.md",".10x/tickets/done/2026-07-05-reduce-path-management-complexipy-hotspot.md",".10x/tickets/done/2026-07-05-reduce-restructuring-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-schema-diff-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-schema-reader-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-schema-validation-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-schema-writer-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-sql-lint-complexipy-hotspot.md",".10x/tickets/done/2026-07-05-reduce-sql-proxy-complexipy-hotspot.md",".10x/tickets/done/2026-07-05-reduce-sync-operations-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-test-suggestions-complexipy-hotspot.md",".10x/tickets/done/2026-07-05-reduce-transforms-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-voice-learning-complexipy-hotspots.md",".10x/tickets/done/2026-07-05-reduce-vulture-boilerplate-noise.md",".10x/tickets/done/2026-07-05-reduce-workbench-main-complexipy-hotspot.md",".10x/tickets/done/2026-07-05-remediate-workbench-pyarrow-osv.md",".10x/tickets/done/2026-07-05-remediate-workbench-requirements-osv-vulnerabilities.md",".10x/tickets/done/2026-07-05-repair-release-publishing-workflow.md",".10x/tickets/done/2026-07-05-stabilize-llm-optional-sdk-test-imports.md",".10x/tickets/done/2026-07-05-tighten-final-type-tool-feedback.md",".10x/tickets/done/2026-07-05-tighten-llm-optional-import-handling.md",".changes/0.11.10.md",".changes/0.11.11.md",".changes/0.11.12.md",".changes/0.11.14.md",".changes/0.11.15.md",".changes/0.11.16.md",".changes/0.11.17.md",".changes/0.11.19.md",".changes/0.11.21.md",".changes/0.11.23.md",".changes/0.11.6.md",".changes/0.11.8.md",".changes/0.11.9.md",".changes/0.12.0.md",".changes/0.12.1.md",".changes/0.12.10.md",".changes/0.12.2.md",".changes/0.12.3.md",".changes/0.12.4.md",".changes/0.12.5.md",".changes/0.12.6.md",".changes/0.12.7.md",".changes/0.12.8.md",".changes/0.12.9.md",".changes/0.13.0.md",".changes/0.13.1.md",".changes/0.13.2.md",".changes/0.5.10.md",".changes/0.5.9.md",".changes/0.6.1.md",".changes/0.6.2.md",".changes/0.6.3.md",".changes/0.6.4.md",".changes/1.1.10.md",".changes/1.1.11.md",".changes/1.1.12.md",".changes/1.1.13.md",".changes/1.1.14.md",".changes/1.1.15.md",".changes/1.1.16.md",".changes/1.1.17.md",".changes/1.1.6.md",".changes/1.1.7.md",".changes/1.1.8.md",".changes/1.1.9.md",".changes/1.2.0.md",".changes/1.2.1.md",".changes/1.3.0.md",".changes/1.4.0.md",".changes/1.5.0.md",".changes/header.tpl.md",".changes/unreleased/.gitkeep",".changie.yaml",".gitattributes",".github/dependabot.yml",".github/labels.yml",".github/release-drafter.yml",".github/workflows/constraints.txt",".github/workflows/labeler.yml",".github/workflows/lint.yml",".github/workflows/release.yml",".github/workflows/tests.yml",".gitignore",".pre-commit-config.yaml",".pre-commit-hooks.yaml",".specify/memory/constitution.md",".specify/scripts/bash/check-prerequisites.sh",".specify/scripts/bash/common.sh",".specify/scripts/bash/create-new-feature.sh",".specify/scripts/bash/setup-plan.sh",".specify/scripts/bash/update-agent-context.sh",".specify/templates/agent-file-template.md",".specify/templates/checklist-template.md",".specify/templates/plan-template.md",".specify/templates/spec-template.md",".specify/templates/tasks-template.md",".streamlit/config.toml","AGENTS.md","CHANGELOG.md","FUSION_COMPAT.md","LICENSE","README.md","Taskfile.yml","config.toml","demo_duckdb/.gitignore","demo_duckdb/.user.yml","demo_duckdb/LICENSE","demo_duckdb/dbt-osmosis.yml","demo_duckdb/dbt_project.yml","demo_duckdb/integration_tests.sh","demo_duckdb/models/customers.sql","demo_duckdb/models/docs.md","demo_duckdb/models/jaffle_shop/main/customers.yml","demo_duckdb/models/jaffle_shop/main/orders.yml","demo_duckdb/models/jaffle_shop/main/orders_prefix.yml","demo_duckdb/models/orders.sql","demo_duckdb/models/orders_prefix.sql","demo_duckdb/models/overview.md","demo_duckdb/models/staging/jaffle_shop/main/stg_customers.yml","demo_duckdb/models/staging/jaffle_shop/main/stg_orders.yml","demo_duckdb/models/staging/jaffle_shop/main/stg_payments.yml","demo_duckdb/models/staging/stg_customers.sql","demo_duckdb/models/staging/stg_customers_v2.sql","demo_duckdb/models/staging/stg_orders.sql","demo_duckdb/models/staging/stg_payments.sql","demo_duckdb/profiles.yml","demo_duckdb/seeds/.gitkeep","demo_duckdb/seeds/jaffle_shop/main/raw_customers.yml","demo_duckdb/seeds/jaffle_shop/main/raw_orders.yml","demo_duckdb/seeds/jaffle_shop/main/raw_payments.yml","demo_duckdb/seeds/raw_customers.csv","demo_duckdb/seeds/raw_orders.csv","demo_duckdb/seeds/raw_payments.csv","docs/.gitignore","docs/README.md","docs/babel.config.js","docs/dbt-core-structure.md","docs/docs/explanation/index.md","docs/docs/explanation/settings-resolution.md","docs/docs/explanation/yaml-routing.md","docs/docs/how-to/index.md","docs/docs/how-to/manage-sources.md","docs/docs/how-to/review-changes.md","docs/docs/intro.md","docs/docs/migrating.md","docs/docs/reference/cli.md","docs/docs/reference/index.md","docs/docs/reference/settings.md","docs/docs/tutorial-basics/_category_.json","docs/docs/tutorial-basics/commands.md","docs/docs/tutorial-basics/installation.md","docs/docs/tutorial-yaml/_category_.json","docs/docs/tutorial-yaml/configuration.md","docs/docs/tutorial-yaml/context.md","docs/docs/tutorial-yaml/inheritance.md","docs/docs/tutorial-yaml/selection.md","docs/docs/tutorial-yaml/synthesize.md","docs/docs/tutorial-yaml/workflow.md","docs/docs/tutorials/first-refactor.md","docs/docs/tutorials/index.md","docs/docusaurus.config.js","docs/package-lock.json","docs/package.json","docs/sidebars.js","docs/src/components/HomepageFeatures/index.js","docs/src/components/HomepageFeatures/styles.module.css","docs/src/css/custom.css","docs/src/pages/index.js","docs/src/pages/index.module.css","docs/src/pages/markdown-page.md","docs/static/.nojekyll","docs/static/img/android-chrome-192x192.png","docs/static/img/android-chrome-512x512.png","docs/static/img/apple-touch-icon.png","docs/static/img/clock.svg","docs/static/img/dbt-osmosis-logo.jpg","docs/static/img/dbt-osmosis-logo.png","docs/static/img/dbt-osmosis-social-card.png","docs/static/img/dbt.svg","docs/static/img/docusaurus.png","docs/static/img/favicon-16x16.png","docs/static/img/favicon-32x32.png","docs/static/img/favicon.ico","docs/static/img/github-icon.svg","docs/static/img/github-tile.svg","docs/static/img/github.svg","docs/static/img/undraw_docusaurus_mountain.svg","docs/static/img/undraw_docusaurus_react.svg","docs/static/img/undraw_docusaurus_tree.svg","docs/static/img/yaml-icon.svg","pyproject.toml","screenshots/docs_site.png","screenshots/osmosis_editor_main.png","screenshots/osmosis_editor_pivot.png","screenshots/osmosis_links.png","screenshots/osmosis_profile.png","screenshots/osmosis_tester.png","specs/001-unified-config-resolution/checklists/requirements.md","specs/001-unified-config-resolution/contracts/config-resolver.py","specs/001-unified-config-resolution/data-model.md","specs/001-unified-config-resolution/plan.md","specs/001-unified-config-resolution/quickstart.md","specs/001-unified-config-resolution/research.md","specs/001-unified-config-resolution/spec.md","specs/001-unified-config-resolution/tasks.md","src/dbt_osmosis/__init__.py","src/dbt_osmosis/__main__.py","src/dbt_osmosis/cli/__init__.py","src/dbt_osmosis/cli/main.py","src/dbt_osmosis/core/AGENTS.md","src/dbt_osmosis/core/__init__.py","src/dbt_osmosis/core/catalog_operations.py","src/dbt_osmosis/core/config.py","src/dbt_osmosis/core/dbt_protocols.py","src/dbt_osmosis/core/diff.py","src/dbt_osmosis/core/discovery.py","src/dbt_osmosis/core/exceptions.py","src/dbt_osmosis/core/formatting.py","src/dbt_osmosis/core/generators.py","src/dbt_osmosis/core/inheritance.py","src/dbt_osmosis/core/introspection.py","src/dbt_osmosis/core/llm.py","src/dbt_osmosis/core/logger.py","src/dbt_osmosis/core/migration.py","src/dbt_osmosis/core/model_versions.py","src/dbt_osmosis/core/node_filters.py","src/dbt_osmosis/core/node_yaml.py","src/dbt_osmosis/core/osmosis.py","src/dbt_osmosis/core/path_management.py","src/dbt_osmosis/core/plugins.py","src/dbt_osmosis/core/restructuring.py","src/dbt_osmosis/core/schema/__init__.py","src/dbt_osmosis/core/schema/formats/__init__.py","src/dbt_osmosis/core/schema/parser.py","src/dbt_osmosis/core/schema/reader.py","src/dbt_osmosis/core/schema/validation.py","src/dbt_osmosis/core/schema/writer.py","src/dbt_osmosis/core/settings.py","src/dbt_osmosis/core/sql_lint.py","src/dbt_osmosis/core/sql_operations.py","src/dbt_osmosis/core/staging.py","src/dbt_osmosis/core/sync_operations.py","src/dbt_osmosis/core/test_suggestions.py","src/dbt_osmosis/core/transforms.py","src/dbt_osmosis/core/validation.py","src/dbt_osmosis/core/voice_learning.py","src/dbt_osmosis/sql/proxy.py","src/dbt_osmosis/workbench/app.py","src/dbt_osmosis/workbench/components/ai_assistant.py","src/dbt_osmosis/workbench/components/dashboard.py","src/dbt_osmosis/workbench/components/editor.py","src/dbt_osmosis/workbench/components/feed.py","src/dbt_osmosis/workbench/components/preview.py","src/dbt_osmosis/workbench/components/profiler.py","src/dbt_osmosis/workbench/components/renderer.py","src/dbt_osmosis/workbench/requirements.txt"],"storefront":"/r/z3z1ma","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/z3z1ma/dbt-osmosis/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}