{"adoption": {"forks": 335, "observed_at": "2026-08-28T04:08:28.436060+00:00", "stars": 3894}, "canonical_url": "https://ross.abutalabs.com/products/dbtpl", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server", "domain": ["databases", "developer-tools", "backend", "web-development"], "enriched": true, "function": ["orm", "database", "templating", "cli"], "health_score": 85, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["xo/dbtpl"], "name": "xo/dbtpl", "platform": ["go", "cli", "cross-platform"], "pushed_at": "2026-08-04T23:22:18+00:00", "repo": "xo/dbtpl", "stars": 3894, "tags": ["sql", "code-generator", "schema-introspection", "go-templates", "postgresql", "mysql", "sqlite", "sql-server", "oracle", "code-generation"], "topics": ["golang", "sql", "postgresql", "mysql", "sqlite", "microsoft-sql-server", "orm", "code-generator", "oracle"], "urls": [], "use_cases": ["generate Go model code from a database schema", "generate type-safe Go code from custom SQL queries", "create schema creation scripts for a database", "export database schema as JSON or YAML", "generate Graphviz diagrams of database relationships", "introspect tables, enums, and stored procedures across multiple SQL databases"], "what_it_is": "dbtpl is a command-line tool that inspects SQL database schemas or custom queries and generates idiomatic Go code via templates. It supports PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server, and can also emit schema scripts, JSON/YAML definitions, and Graphviz diagrams.", "when_to_avoid": ["you need an ORM with runtime query building rather than generated code", "you want code generation for languages other than Go", "you expect a tool that eliminates writing SQL entirely", "your project is not Go-based"], "when_to_choose": ["you write Go against SQL databases and want generated, type-safe models instead of hand-written boilerplate", "you need code generation across PostgreSQL, MySQL, SQLite, Oracle, and SQL Server with one tool", "you want customizable Go templates for generated database code", "you need schema documentation like JSON/YAML dumps or ER diagrams"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dbtpl", "repo": "xo/dbtpl", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:25:35.863573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beea46a4864a89c295b3f7057c72ec2ee6e236f0c9d3032abbab7e3e75e3ace3", "fetched_at": "2026-08-28T04:08:28.436060+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xo/dbtpl"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:25:35.863573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beea46a4864a89c295b3f7057c72ec2ee6e236f0c9d3032abbab7e3e75e3ace3", "fetched_at": "2026-08-28T04:08:28.436060+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xo/dbtpl"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:25:35.863573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beea46a4864a89c295b3f7057c72ec2ee6e236f0c9d3032abbab7e3e75e3ace3", "fetched_at": "2026-08-28T04:08:28.436060+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xo/dbtpl"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:25:35.863573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beea46a4864a89c295b3f7057c72ec2ee6e236f0c9d3032abbab7e3e75e3ace3", "fetched_at": "2026-08-28T04:08:28.436060+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xo/dbtpl"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:25:35.863573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beea46a4864a89c295b3f7057c72ec2ee6e236f0c9d3032abbab7e3e75e3ace3", "fetched_at": "2026-08-28T04:08:28.436060+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xo/dbtpl"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:25:35.863573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beea46a4864a89c295b3f7057c72ec2ee6e236f0c9d3032abbab7e3e75e3ace3", "fetched_at": "2026-08-28T04:08:28.436060+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xo/dbtpl"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.436060+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:25:35.863573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beea46a4864a89c295b3f7057c72ec2ee6e236f0c9d3032abbab7e3e75e3ace3", "fetched_at": "2026-08-28T04:08:28.436060+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xo/dbtpl"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:25:35.863573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beea46a4864a89c295b3f7057c72ec2ee6e236f0c9d3032abbab7e3e75e3ace3", "fetched_at": "2026-08-28T04:08:28.436060+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xo/dbtpl"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:25:35.863573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beea46a4864a89c295b3f7057c72ec2ee6e236f0c9d3032abbab7e3e75e3ace3", "fetched_at": "2026-08-28T04:08:28.436060+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xo/dbtpl"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:25:35.863573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beea46a4864a89c295b3f7057c72ec2ee6e236f0c9d3032abbab7e3e75e3ace3", "fetched_at": "2026-08-28T04:08:28.436060+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xo/dbtpl"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3862, "days_push": 29, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}