{"id":51126297,"url":"https://github.com/moeru-ai/godot-kirie","last_synced_at":"2026-06-25T08:01:17.706Z","repository":{"id":352912117,"uuid":"1216999559","full_name":"moeru-ai/godot-kirie","owner":"moeru-ai","description":"🌐 Kirie is an experimental Godot plugin project for embedding platform WebViews.","archived":false,"fork":false,"pushed_at":"2026-06-19T07:22:35.000Z","size":592,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-19T09:17:30.916Z","etag":null,"topics":["android","csharp","godot4","ios"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moeru-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-21T12:51:59.000Z","updated_at":"2026-06-17T14:42:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/moeru-ai/godot-kirie","commit_stats":null,"previous_names":["moeru-ai/godot-kirie"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/moeru-ai/godot-kirie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moeru-ai%2Fgodot-kirie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moeru-ai%2Fgodot-kirie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moeru-ai%2Fgodot-kirie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moeru-ai%2Fgodot-kirie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moeru-ai","download_url":"https://codeload.github.com/moeru-ai/godot-kirie/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moeru-ai%2Fgodot-kirie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34765322,"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-06-25T02:00:05.521Z","response_time":101,"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":["android","csharp","godot4","ios"],"created_at":"2026-06-25T08:01:16.872Z","updated_at":"2026-06-25T08:01:17.700Z","avatar_url":"https://github.com/moeru-ai.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# godot-kirie\n\nKirie is an experimental Godot application framework built around an embeddable\nlow-level Godot WebView plugin and IPC core.\n\n## Installation\n\nDownload `kirie-addon.zip` from a GitHub Release asset and extract it into the\nroot of your Godot project. The final layout should be:\n\n```text\nres://addons/kirie/\n```\n\nIf your project already has an `addons` directory, merge the extracted `addons`\ndirectory into the project root. Do not extract the zip inside the existing\n`addons` directory.\n\nAfter copying the files, enable Kirie from Godot's Project Settings Plugins tab.\nThis follows Godot's plugin installation flow. Release packaging details live in\n[docs/addon-release.md](docs/addon-release.md).\n\n## Export Options\n\nKirie adds Godot export preset options under `kirie/debug`:\n\n- `enable_web_inspector`: enable platform WebView inspection for exported apps.\n- `allow_tls_bypass`: allow invalid TLS certificates for exported apps. On iOS,\n  enabling this also relaxes App Transport Security (ATS) by allowing arbitrary\n  loads, which can permit insecure cleartext HTTP requests in addition to bypassing\n  invalid TLS certificates.\n\nBoth options default to disabled and are intended for development exports only.\nIn particular, `allow_tls_bypass` reduces transport security and must not be\nenabled for production builds.\n\n## Current Architecture\n\n```mermaid\nflowchart LR\n    A[\"Godot Project\"] --\u003e B[\"addons/kirie\"]\n    B --\u003e C[\"Kirie / KirieView / KirieClient\"]\n    C --\u003e D[\"Android native implementation\"]\n    C --\u003e E[\"iOS native implementation\"]\n    D \u003c--\u003e F[\"WebView\"]\n    E \u003c--\u003e F\n    F \u003c--\u003e G[\"Web app / page\"]\n```\n\nThe repository is still deliberately small, but it now has distinct package,\nexample, and regression-test areas:\n\n- `packages/kirie`: the Godot addon, C# wrapper, and Android and iOS native\n  plugin code\n- `packages/ipc`: a thin browser-side transport wrapper for Kirie WebView pages\n- `packages/ipc-eventa`: browser-side Eventa adapter over Kirie text IPC\n- `packages/build`: public build and export automation API for scripts\n- `packages/GdKirie.EventaAdapter`: .NET 10 Eventa adapter over Kirie text IPC\n- `examples/basic-ipc`: beginner-friendly demo project for the raw IPC flow\n- `examples/basic-kirie-cli`: beginner-friendly demo project for the Kirie CLI workflow\n- `examples/eventa-csharp`: beginner-friendly demo project for Godot C# Eventa adapter usage\n- `tests/integration`: exported-app platform integration tests\n- `scripts/build.ts`: mise task entrypoint re-exports\n- `scripts/build-kirie.ts`: Kirie addon artifact and packaging tasks\n- `scripts/build-integration.ts`: platform integration export tasks\n- `scripts/build-examples.ts`: example build, install, and launch tasks\n- `scripts/build-shared.ts`: repo-local task glue around CLI and package build\n  primitives\n- `scripts/integration-runner.ts`: platform integration test launchers\n- `docs`: project notes and design decisions\n  - `docs/dreams`: exploratory notes for ideas outside the current milestone\n\nPrimary references live in [docs/references.md](docs/references.md).\n\nThe low-level plugin and IPC milestone covers:\n\n1. Create a WebView on mobile and desktop platforms.\n2. Establish bidirectional IPC between Godot and the WebView.\n3. Support packaged `res://` web content loading for bridge tests.\n4. Add desktop Godot CEF compatibility, starting with macOS.\n5. Stabilize the Kirie plugin shape used by higher-level framework tooling.\n\nThe plugin and IPC layers are intended to stay low-level WebView and IPC\nsurfaces. A small `@gd-kirie/ipc` browser package exists as a convenience\ntransport wrapper. Eventa adapters live above that bridge:\n`@gd-kirie/ipc-eventa` for browser pages, and `GdKirie.EventaAdapter` for\n.NET 10 C# projects. The C# surface is a thin `KirieClient` wrapper over the\nsame platform singleton used by GDScript, with C# events for the current Kirie\nsignals.\n\nThe mobile IPC experiment uses explicit text, binary, and data lanes over CBOR\npackets. The browser package encodes and decodes those packets with `cborg`.\nAndroid native code uses Jackson CBOR and converts structured data through\nJackson's tree model before emitting Godot-compatible values. iOS native code\nuses SwiftCBOR and carries CBOR packets as base64 strings through WKWebView\nscript messages. JSON and Eventa envelopes remain caller or adapter choices\ncarried over the text lane, not Kirie core payload types.\n\nDesktop compatibility starts with Godot CEF as Kirie's desktop WebView backend,\nwith macOS as the first target. Scope and runtime-injection details live in\n[docs/architecture.md](docs/architecture.md).\n\n`GdKirie.EventaAdapter` intentionally targets `net10.0` because the upstream\nEventa .NET package targets `net10.0`, and .NET 8 LTS reaches end of support on\n2026-11-10. Godot C# projects targeting `net8.0` or `net9.0` should expect\nrestore or build failures when referencing the adapter.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoeru-ai%2Fgodot-kirie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoeru-ai%2Fgodot-kirie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoeru-ai%2Fgodot-kirie/lists"}