{"adoption": {"forks": 132, "observed_at": "2026-08-28T04:03:13.200318+00:00", "stars": 1011}, "canonical_url": "https://ross.abutalabs.com/products/hono-open-api-starter", "card": {"archived": false, "artifact_type": "learning-resource", "description": "A starter template for building fully documented type-safe JSON APIs with Hono and Open API", "domain": ["web-development", "backend", "apis", "developer-tools", "documentation"], "enriched": true, "function": ["api-framework", "web-framework", "orm", "logging", "testing", "middleware", "routing"], "health_score": 50, "homepage": "https://www.youtube.com/watch?v=sNh9PoM9sUE", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["w3cj/hono-open-api-starter"], "name": "w3cj/hono-open-api-starter", "platform": ["cross-platform", "cli"], "pushed_at": "2025-10-31T13:30:09+00:00", "repo": "w3cj/hono-open-api-starter", "stars": 1011, "tags": ["hono", "openapi", "zod", "drizzle", "scalar", "starter-template", "type-safe-apis", "boilerplate", "boilerplate", "nodejs", "typescript"], "topics": ["drizzle", "hono", "openapi", "scalar", "typescript", "zod"], "urls": [], "use_cases": ["bootstrap a type-safe REST API with Hono", "generate OpenAPI documentation from Zod schemas", "set up a Hono project with Drizzle ORM and SQLite", "scaffold an API with interactive Scalar docs", "start a TypeScript backend with structured logging and testing preconfigured", "build documented JSON APIs with validation", "create a Cloudflare-deployable Hono API template"], "what_it_is": "A starter template for building fully documented, type-safe JSON APIs using Hono, Zod OpenAPI, Drizzle ORM, and Scalar API docs. It bundles structured logging, environment validation, testing, and linting into a ready-to-clone project scaffold.", "when_to_avoid": ["you need a full production application rather than a starting point", "you use a different web framework like Express or Fastify", "you need a database other than SQLite without modifications", "you want a framework with runtime plugin systems rather than a copy-paste template"], "when_to_choose": ["starting a new Hono-based API from scratch", "you want OpenAPI docs generated from type-safe route definitions", "you prefer Drizzle ORM with a single source of truth for schemas", "you want batteries-included logging, env validation, and testing setup"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hono-open-api-starter", "repo": "w3cj/hono-open-api-starter", "role": "main", "score": 44}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.200318+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:33:51.449111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fa0f21478ae7b796e632df97f1330fe5f0ce695c2d96fa16787952a9c49a0f9", "fetched_at": "2026-08-28T04:03:13.200318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3cj/hono-open-api-starter"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.200318+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:33:51.449111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fa0f21478ae7b796e632df97f1330fe5f0ce695c2d96fa16787952a9c49a0f9", "fetched_at": "2026-08-28T04:03:13.200318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3cj/hono-open-api-starter"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:33:51.449111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fa0f21478ae7b796e632df97f1330fe5f0ce695c2d96fa16787952a9c49a0f9", "fetched_at": "2026-08-28T04:03:13.200318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3cj/hono-open-api-starter"}], "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:03:13.200318+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.200318+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.200318+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:33:51.449111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fa0f21478ae7b796e632df97f1330fe5f0ce695c2d96fa16787952a9c49a0f9", "fetched_at": "2026-08-28T04:03:13.200318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3cj/hono-open-api-starter"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.200318+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.200318+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:33:51.449111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fa0f21478ae7b796e632df97f1330fe5f0ce695c2d96fa16787952a9c49a0f9", "fetched_at": "2026-08-28T04:03:13.200318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3cj/hono-open-api-starter"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.200318+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.200318+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.200318+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:33:51.449111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fa0f21478ae7b796e632df97f1330fe5f0ce695c2d96fa16787952a9c49a0f9", "fetched_at": "2026-08-28T04:03:13.200318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3cj/hono-open-api-starter"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.200318+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.200318+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:33:51.449111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fa0f21478ae7b796e632df97f1330fe5f0ce695c2d96fa16787952a9c49a0f9", "fetched_at": "2026-08-28T04:03:13.200318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3cj/hono-open-api-starter"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:33:51.449111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fa0f21478ae7b796e632df97f1330fe5f0ce695c2d96fa16787952a9c49a0f9", "fetched_at": "2026-08-28T04:03:13.200318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3cj/hono-open-api-starter"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:33:51.449111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fa0f21478ae7b796e632df97f1330fe5f0ce695c2d96fa16787952a9c49a0f9", "fetched_at": "2026-08-28T04:03:13.200318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3cj/hono-open-api-starter"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:33:51.449111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fa0f21478ae7b796e632df97f1330fe5f0ce695c2d96fa16787952a9c49a0f9", "fetched_at": "2026-08-28T04:03:13.200318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3cj/hono-open-api-starter"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 49, "longevity": 49, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 698, "days_push": 306, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 44, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}