{"id":50059665,"url":"https://github.com/cosmicdriftgamestudio/kumiko-framework","last_synced_at":"2026-06-07T23:02:48.053Z","repository":{"id":356464104,"uuid":"1229895155","full_name":"CosmicDriftGameStudio/kumiko-framework","owner":"CosmicDriftGameStudio","description":"Kumiko Framework — declarative full-stack TypeScript framework. BUSL-1.1.","archived":false,"fork":false,"pushed_at":"2026-05-25T18:06:32.000Z","size":9652,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-25T19:34:13.513Z","etag":null,"topics":["bun","config-driven","drizzle","event-sourcing","framework","hono","multitenant","postgres","realtime","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CosmicDriftGameStudio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-05T13:37:23.000Z","updated_at":"2026-05-25T18:06:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/CosmicDriftGameStudio/kumiko-framework","commit_stats":null,"previous_names":["cosmicdriftgamestudio/kumiko-framework"],"tags_count":118,"template":false,"template_full_name":null,"purl":"pkg:github/CosmicDriftGameStudio/kumiko-framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CosmicDriftGameStudio%2Fkumiko-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CosmicDriftGameStudio%2Fkumiko-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CosmicDriftGameStudio%2Fkumiko-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CosmicDriftGameStudio%2Fkumiko-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CosmicDriftGameStudio","download_url":"https://codeload.github.com/CosmicDriftGameStudio/kumiko-framework/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CosmicDriftGameStudio%2Fkumiko-framework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33560727,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bun","config-driven","drizzle","event-sourcing","framework","hono","multitenant","postgres","realtime","typescript"],"created_at":"2026-05-21T17:01:55.620Z","updated_at":"2026-06-07T23:02:48.046Z","avatar_url":"https://github.com/CosmicDriftGameStudio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kumiko\n\n\u003e **AI-native backend builder.** Prompt your domain — get the full backend: schema, auth, audit, multi-tenant, realtime. TypeScript, your repo, your code.\n\n[![License: BUSL-1.1](https://img.shields.io/badge/License-BUSL--1.1-blue.svg)](./LICENSE) [![npm](https://img.shields.io/npm/v/@cosmicdrift/kumiko-framework.svg)](https://www.npmjs.com/package/@cosmicdrift/kumiko-framework) [![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue.svg)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-runtime-black.svg)](https://bun.sh)\n\n\u003cdetails\u003e\n\u003csummary\u003eOther things people say about Kumiko\u003c/summary\u003e\n\n\u003e **\"With Kumiko, everything is faster!\"** \u003csup\u003e\\*faster than building it all from scratch again without Kumiko. Sample size: n=1 (the author).\u003c/sup\u003e\n\u003e\n\u003e **\"90% of developers say: Kumiko makes everything faster.\"** \u003csup\u003e\\*we asked 10.\u003c/sup\u003e\n\u003e\n\u003e **\"Enterprise-ready since day one.\"** \u003csup\u003e\\*day one hasn't arrived yet.\u003c/sup\u003e\n\u003e\n\u003e **\"Battle-tested in production.\"** \u003csup\u003e\\*the production of demo samples.\u003c/sup\u003e\n\u003e\n\u003e **\"Multi-tenant out of the box.\"** \u003csup\u003e\\*box not included.\u003c/sup\u003e\n\u003e\n\u003e **\"Zero-config.\"** \u003csup\u003e\\*after the initial 47-step setup.\u003c/sup\u003e\n\u003e\n\u003e **\"Realtime with \u003c1ms latency.\"** \u003csup\u003e\\*on localhost, Wi-Fi off, exactly one tenant named \"test\".\u003c/sup\u003e\n\u003e\n\u003e **\"Scales to millions of users.\"** \u003csup\u003e\\*theoretically, provided Postgres, Redis, Meilisearch, and your wallet all cooperate.\u003c/sup\u003e\n\u003e\n\u003e **\"Type-safe down to the last line.\"** \u003csup\u003e\\*`any` is also a type.\u003c/sup\u003e\n\u003e\n\u003e **\"Kumiko — because framework frameworks need a framework too.\"**\n\n\u003c/details\u003e\n\n---\n\n## What it does\n\nYou write:\n\n```typescript\ndefineFeature(\"incident\", (r) =\u003e {\n  r.entity(\"incident\", {\n    fields: {\n      title: { type: \"text\", required: true },\n      severity: { type: \"select\", options: [\"low\", \"high\", \"critical\"] },\n      status: { type: \"select\", options: [\"open\", \"investigating\", \"resolved\"] },\n    },\n  });\n\n  r.writeHandler({\n    name: \"incident.open\",\n    schema: openSchema,\n    handler: async (event, ctx) =\u003e {\n      await ctx.appendEvent(\"incident-opened\", { ...event });\n    },\n  });\n});\n```\n\nYou get, for free:\n\n- **Multi-tenant scoping** — every entity is tenant-scoped by default\n- **Audit trail** — every change is an event, time-travel queries work\n- **Auth + sessions** — email/password, JWT, role-based access\n- **Realtime updates** — SSE broadcast across tenants\n- **CRUD UI** — schema-driven forms and lists with override paths\n- **Type-safe everywhere** — no `any`, no magic strings\n\n## Quickstart\n\n### Prerequisites\n\n- [Bun](https://bun.sh/) ≥ 1.2 (runtime, package manager, test runner)\n- [Node.js](https://nodejs.org/) ≥ 20 (optional — Astro/docs tooling only)\n- [Docker](https://www.docker.com/) (PostgreSQL + Redis)\n\n### Setup\n\n```bash\ngit clone git@github.com:cosmicdriftgamestudio/kumiko-framework.git\ncd kumiko-framework\nbun install\n```\n\n### Run\n\n```bash\n# Interactive CLI — shows all commands\nbun kumiko\n\n# Or directly:\nbun kumiko dev      # Start Docker services (PG:15432, Redis:16379)\nbun kumiko test     # Run unit tests\nbun kumiko check    # Biome + TypeScript + Tests + Guards\nbun kumiko status   # What's running?\nbun kumiko stop     # Stop services\nbun kumiko reset    # Wipe + restart everything\n\n```\n\nTo explore feature patterns hands-on, run any sample:\n\n```bash\ncd samples/recipes/basic-entity\nbun test\n```\n\n## Why use this\n\n- **Built for B2B SaaS / internal tools** — multi-tenant + audit are first-class, not afterthoughts\n- **Postgres-native** — no Kafka, no EventStoreDB, no NATS. One database, one source of truth\n- **AI-builder ready** — config-driven, every `r.*` call is patchable by AI tools\n- **DACH/EU-ready** — self-host on Hetzner / k8s / bare-metal. BYO LLM (Anthropic, OpenAI, Ollama, vLLM)\n\n## Architecture\n\n| Layer | Tech |\n|-------|------|\n| Runtime | Bun |\n| API | Hono |\n| DB | Postgres (EntityTableMeta + SQL migrations) |\n| Auth | jose (JWT) |\n| Search | Meilisearch |\n| UI | React + Expo (Web + Mobile) |\n| Realtime | SSE via Redis Pub/Sub |\n| Tests | bun:test |\n\nPipeline flow:\n\n```\nHTTP Request\n  → JWT Auth (Hono middleware)\n  → Dispatcher\n    → Zod schema validation\n    → Access check (entity-level roles)\n    → Field-level write check\n    → Validation hooks\n    → Handler (CrudExecutor → DB)\n    → Lifecycle pipeline:\n        Feature postSave hooks\n        System hooks (priority order):\n          1000: Search index (Meilisearch)\n          1001: SSE broadcast\n          1002: Audit trail (DB)\n  → Response (with field-level read filtering)\n```\n\n## Samples\n\nTested, runnable examples per feature. Three buckets:\n\n- [`samples/recipes/`](samples/) — one concept = one feature definition + one test\n- [`samples/apps/`](samples/) — full-stack demos with dev-server + browser client\n- See the full sample index: [samples/README.md](samples/README.md)\n\n## Live showcase\n\n[publicstatus.eu](https://publicstatus.eu) — open-source statuspage clone built with Kumiko. Multi-tenant, SSE-realtime, deployed on Hetzner. Source: [github.com/cosmicdriftgamestudio/publicstatus](https://github.com/cosmicdriftgamestudio/publicstatus).\n\n## Documentation\n\nFull docs: [docs.kumiko.rocks](https://docs.kumiko.rocks).\n\n## Status\n\nPre-1.0 — actively developed. APIs may change between minor versions until 1.0. Breaking-change policy and migration guides documented per release in [CHANGELOG.md](./CHANGELOG.md).\n\nUsed in production at [publicstatus.eu](https://publicstatus.eu).\n\n## License\n\nBusiness Source License 1.1 (BUSL-1.1) → Apache License 2.0 on **2030-05-05**.\n\nYou may use Kumiko in production for any purpose, **except** providing a platform or service to third parties that allows them to host, deploy, or run their own applications built with Kumiko. This includes managed hosting, SaaS platforms, PaaS, developer platforms, and any multi-tenant managed offering.\n\nCode from any release automatically becomes Apache-2.0 four years after publication.\n\nFor commercial licensing or alternative arrangements: marc@cosmicdriftgamestudio.com.\n\nDetails: [LICENSE](./LICENSE).\n\n## Hosted platform\n\nDon't want to self-host? [kumiko.rocks](https://kumiko.rocks) is the hosted version with AI-builder, designer, and managed hosting.\n\n## Contributing\n\nPRs welcome. See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup + guidelines.\n\nBy contributing, you agree your contributions are licensed under the same BUSL-1.1 terms.\n\n---\n\n© 2026 Marc Frost — Cosmic Drift Game Studio.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmicdriftgamestudio%2Fkumiko-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcosmicdriftgamestudio%2Fkumiko-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmicdriftgamestudio%2Fkumiko-framework/lists"}