{"id":50608387,"url":"https://github.com/mindees/mindees","last_synced_at":"2026-06-08T02:05:36.798Z","repository":{"id":361687981,"uuid":"1255290520","full_name":"mindees/mindees","owner":"mindees","description":"⚡ MindeesNative — the open-source, TypeScript-first cross-platform app framework for iOS, Android \u0026 web. A modern React Native \u0026 Flutter alternative with fine-grained signals reactivity, true native UI, batteries-included tooling, and instant OTA updates. Build once, run everywhere — in the open.","archived":false,"fork":false,"pushed_at":"2026-06-06T00:34:50.000Z","size":7537,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-06T01:20:40.968Z","etag":null,"topics":["android","app-development","cross-platform","declarative-ui","flutter","framework","frontend","ios","javascript","mobile-development","monorepo","native-apps","open-source","react-native","reactive","reactivity","signals","typescript","ui-framework","webdev"],"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/mindees.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":"MAINTAINERS.md","copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-31T16:41:58.000Z","updated_at":"2026-06-06T00:34:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mindees/mindees","commit_stats":null,"previous_names":["mindees/mindees"],"tags_count":310,"template":false,"template_full_name":null,"purl":"pkg:github/mindees/mindees","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindees%2Fmindees","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindees%2Fmindees/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindees%2Fmindees/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindees%2Fmindees/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mindees","download_url":"https://codeload.github.com/mindees/mindees/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindees%2Fmindees/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34044920,"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-08T02:00:07.615Z","response_time":111,"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","app-development","cross-platform","declarative-ui","flutter","framework","frontend","ios","javascript","mobile-development","monorepo","native-apps","open-source","react-native","reactive","reactivity","signals","typescript","ui-framework","webdev"],"created_at":"2026-06-06T01:01:58.129Z","updated_at":"2026-06-08T02:05:36.793Z","avatar_url":"https://github.com/mindees.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"./mindees-native-with-text-logo.png\" alt=\"MindeesNative — open-source TypeScript cross-platform app framework (React Native \u0026 Flutter alternative)\" width=\"440\" /\u003e\n\n# MindeesNative\n\n### ⚡ The open-source, TypeScript-first cross-platform app framework\n\n**Build native iOS, Android \u0026 web apps from one TypeScript codebase.**\nA modern **React Native** and **Flutter** alternative — with fine-grained\n**signals** reactivity, true native UI, batteries-included tooling, and instant\nOTA updates. Built in the open.\n\n[![CI](https://github.com/mindees/mindees/actions/workflows/ci.yml/badge.svg)](https://github.com/mindees/mindees/actions/workflows/ci.yml)\n[![License: MIT OR Apache-2.0](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue.svg)](./LICENSE)\n[![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178c6.svg)](https://www.typescriptlang.org/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](./CONTRIBUTING.md)\n[![Status: v0.1.0 experimental](https://img.shields.io/badge/status-v0.1.0%20experimental-orange.svg)](./STATUS.md)\n\n[Status](./STATUS.md) · [Roadmap](./ROADMAP.md) · [Contributing](./CONTRIBUTING.md) · [RFCs](./rfcs/README.md) · [Discussions](https://github.com/mindees/mindees/discussions)\n\n\u003c/div\u003e\n\n---\n\n\u003e ### ⚠️ v0.1.0 — experimental, building in the open\n\u003e\n\u003e MindeesNative is **not production-ready yet** — we are building it phase by\n\u003e phase, bottom-up, and we follow one rule above all: **everything we ship\n\u003e actually works.** [`STATUS.md`](./STATUS.md) is the honest, per-package source\n\u003e of truth for what's real today versus what's still planned. **The reactive\n\u003e core, renderer (with SSR), compiler, CLI, and typed router are done and\n\u003e tested** — see the live examples below. The **native rendering strand** is real:\n\u003e the command backend, a strict conformance contract, and **iOS + Android host\n\u003e projects that render the command stream into correct native view trees** are all\n\u003e verified in CI (Phases 8A-8E), Android now has an embedded QuickJS example\n\u003e app that CI runs on an emulator through a real JS\u003c-\u003enative bridge (Phase 8F-A/B),\n\u003e and iOS has a JavaScriptCore bridge verified on an iOS Simulator (Phase 8F-C).\n\u003e Pulse OTA, Continuum data, Synapse AI, and Atlas UI are implemented in their\n\u003e documented experimental scope. Still missing: physical-device proof, app-store\n\u003e packaging, and production hardening, so production native mobile apps are not ready.\n\u003e\n\u003e ⭐ **Star the repo** to follow along, and check the\n\u003e [`good first issue`](https://github.com/mindees/mindees/labels/good%20first%20issue)\n\u003e list — contributors welcome.\n\n## Why MindeesNative? (React Native \u0026 Flutter, reimagined)\n\nReact Native and Flutter each made one foundational bet, and each created\npermanent trade-offs. MindeesNative is designed to **inherit the strengths of\nboth while engineering away the weaknesses**:\n\n- 🟦 **TypeScript, end to end** — the world's most popular typed language and the\n  largest developer talent pool. No new niche language to learn.\n- ⚛️ **Fine-grained signals reactivity** — the modern reactivity model (à la\n  SolidJS): update *exactly* what changed, with no virtual-DOM diffing and no\n  manual memoization. **Shipping today in [`@mindees/core`](./packages/core).**\n- 📱 **Native UI by default, GPU canvas when you want it** — render real\n  platform components *and* drop to a pixel-perfect GPU canvas, per subtree.\n- 🔋 **Batteries included, dependencies excluded** — one cohesive,\n  single-versioned SDK instead of dependency-hell roulette.\n- 🚀 **Instant OTA updates** — ship fixes without waiting on app-store review.\n- 🌍 **Truly universal** — one codebase targeting **iOS, Android, web \u0026 desktop**.\n\n\u003e We don't claim these are all done. We're building them in order, in public, and\n\u003e labeling exactly where we are. Honesty is a feature.\n\n## ✨ Live example — fine-grained signals (works today)\n\n```ts\nimport { signal, computed, effect, batch } from '@mindees/core'\n\nconst count = signal(0)\nconst doubled = computed(() =\u003e count() * 2)\n\n// re-runs only when something it reads actually changes\neffect(() =\u003e console.log(`count=${count()} doubled=${doubled()}`))\n\ncount.set(1)                 // → count=1 doubled=2\ncount.update((n) =\u003e n + 1)   // → count=2 doubled=4\n\nbatch(() =\u003e {                // coalesce writes → effect runs once\n  count.set(10)\n  count.set(20)\n})                           // → count=20 doubled=40\n```\n\nGlitch-free, lazy, leak-free, and fully typed. See\n[`@mindees/core`](./packages/core) for the full API.\n\n### 🧩 Re-render isolation — context that only updates what changed (Phase 2)\n\n```ts\nimport { createContext, createProvider } from '@mindees/core'\n\nconst Session = createContext({ user: { name: 'Ada' }, unread: 0 })\nconst session = createProvider(Session)\n\nconst name = session.select((s) =\u003e s.user.name)   // memo, isolated\nconst unread = session.select((s) =\u003e s.unread)     // memo, isolated\n\nsession.set({ user: { name: 'Ada' }, unread: 5 })  // only `unread` consumers re-run\n```\n\nNo more \"the whole screen re-rendered because one field changed.\" MindeesNative\nships a **priority scheduler** and a **Web Worker thread-pool** in the same core,\ntoo — see [`@mindees/core`](./packages/core).\n\n### 🖥️ Render to the DOM with real SSR — crawlable, SEO-friendly (Phase 3)\n\nUnlike Flutter Web (which paints to a canvas search engines can't read),\nMindeesNative's **Helix** renderer emits real, crawlable HTML on the server and\nhydrates it into a live, fine-grained reactive tree on the client:\n\n```ts\nimport { renderToString, hydrate } from '@mindees/renderer'\nimport { signal, createElement as h } from '@mindees/core'\n\nfunction Counter() {\n  const n = signal(0)\n  return h('view', { onClick: () =\u003e n.set(n() + 1) }, () =\u003e `clicked ${n()}×`)\n}\n\n// Server: real HTML for SEO + fast first paint\nrenderToString(Counter, {})        // → '\u003cdiv\u003eclicked 0×\u003c/div\u003e'\n\n// Client (current preview): remount with live, fine-grained reactivity.\n// Adopt-in-place hydration (no remount) is tracked as follow-up work.\nhydrate(document.getElementById('app'), Counter, {})\n```\n\nOne renderer, swappable **host backends**: a web/DOM backend, a headless backend,\nand a **native command backend** (compiles the tree + reactive updates into a\nserializable native command stream — Phase 8A) ship today. The iOS/Android host\nprojects and platform-runtime render verification are in\n[`examples/native-hosts/`](./examples/native-hosts/) and CI; the remaining native\ngap is the end-to-end app bridge/embedded JS engine (Phase 8F). GPU canvas remains\na research track.\n\n### ⚙️ A compiler that won't let type errors ship (Phase 4)\n\nThe Mindees Compiler (MDC) is built on the TypeScript Compiler API: a strict\n**type-check gate**, a TSX→`createElement` transform, and **tree-flattening**\nthat turns static UI into create-once constants.\n\n```ts\nimport { compile, compileChecked } from '@mindees/compiler'\n\ncompileChecked('const a: number = \"oops\"').code        // '' — build refused, type error reported\ncompile('export const v = \u003cview\u003e\u003ctext\u003ehi\u003c/text\u003e\u003c/view\u003e').stats\n// → { flattenedNodes: 1, totalElements: 2 }  ← static subtree optimized at build time\n```\n\nZero native binaries → deterministic, reproducible builds on every OS and CI.\n\n### 🛠️ One CLI to scaffold, build, and diagnose (Phase 5)\n\n`create-mindees` and the `mindees` CLI (Forge) get you from zero to a running\napp — and `mindees doctor` replaces cryptic failures with actionable fixes.\n\n```bash\nnpm create mindees@latest my-app -- --template counter\ncd my-app \u0026\u0026 pnpm install\nmindees build      # type-checks + compiles your app\nmindees doctor     # ✓ Node ✓ pnpm ! node_modules missing → run `pnpm install`\n```\n\nBuilt on Node's own `parseArgs` — zero CLI dependencies.\n\n### 🧭 A typed router that beats Expo Router \u0026 React Router (Phases 6–7)\n\nThe **Quantum** router types your path **and** search params with **zero\ncodegen** — no generated type files, no dev server, no stale types. Bring any\n[Standard Schema](https://standardschema.dev) validator (Zod, Valibot, ArkType)\nfor runtime-validated, fully-typed search params — the capability Expo Router and\nReact Router don't have:\n\n```ts\nimport { createRouter, createBrowserHistory } from '@mindees/router'\nimport { z } from 'zod'\n\nconst router = createRouter({\n  routes: [\n    { path: '/posts/:postId' },\n    { path: '/search', searchSchema: z.object({ q: z.string(), page: z.coerce.number() }) },\n  ],\n  history: createBrowserHistory(),\n})\n\nrouter.navigate({ to: '/posts/:postId', params: { postId: '42' } }) // ✓ typed; params required\n// router.navigate({ to: '/posts/:postId' })                        // ✗ compile error\n\n// Fine-grained reactive route state — re-runs ONLY when this slice changes:\nconst postId = router.select((s) =\u003e s.params.postId)\n```\n\nPath params are inferred straight from the pattern string\n(`PathParams\u003c'/posts/:postId'\u003e` → `{ postId: string }`), route state is a\n**signals graph** (no whole-screen re-render on navigation, no global-vs-local\nhook trap), and the route table can be **reconfigured live without resetting**\nwhere the user is.\n\nAnd it **renders**: `createRouterView` draws the matched route chain with\n**fine-grained, layout-preserving** nesting — switching between sibling pages\nkeeps the parent layout (and its state) mounted, and a same-route param change\n(`/posts/1` → `/posts/2`) re-mounts *nothing*; only the bindings that read the\nchanged param update. Plus a typed `createLink`, **SWR data loaders** (with\n`AbortSignal` cancellation, `preload` intent-prefetch, and `invalidate`),\n**navigation guards** (cancel / redirect / idempotent), and **web view\ntransitions**. See [`@mindees/router`](./packages/router).\n\n## 📦 Packages\n\nEverything ships under the [`@mindees`](https://www.npmjs.com/org/mindees) npm\nscope and shares **one locked version line** (atomic, dependency-hell-free\nupgrades).\n\n| Package | Codename | Purpose | Status |\n| --- | --- | --- | --- |\n| [`@mindees/core`](./packages/core) | — | Reactivity (signals) + component model + scheduler + threading | 🧪 Experimental |\n| [`@mindees/compiler`](./packages/compiler) | MDC | Build-time optimizer: type-check gate + TSX transform + tree-flatten + route manifest | 🧪 Experimental |\n| [`@mindees/cli`](./packages/cli) | Forge | `mindees` CLI: create / build / doctor / info / dev | 🧪 Experimental |\n| [`@mindees/router`](./packages/router) | Quantum | Typed router: codegen-free typed params + Standard-Schema search + signals-native state + nested rendering | 🧪 Experimental |\n| [`@mindees/renderer`](./packages/renderer) | Helix | Reactive renderer: web/DOM + SSR/hydration + native command backend + CI-verified iOS/Android host projects; full app bridge + GPU canvas 🔬 | 🧪 Experimental |\n| [`@mindees/atlas`](./packages/atlas) | Atlas | Accessible, signals-native UI primitives (View/Text/Image/TextInput/Pressable/Button/Stack/Row/Column/Spacer/ScrollView) + cross-platform `StyleObject`, `role`/`aria-*` a11y, real-DOM-event interaction, a structural theme, and a virtualized recycling `List`; native 🔬 | 🧪 Experimental |\n| [`@mindees/ai`](./packages/ai) | Synapse | Provider-agnostic AI: pure-TS contract + mock \u0026 inject-`fetch` server backends, `AsyncIterable` streaming, Standard-Schema structured output (`generateObject`/`streamObject`), bounded tool calling (`runTools`), and a dev-time error explainer; on-device runtime 🔬 | 🧪 Experimental |\n| [`@mindees/data`](./packages/data) | Continuum | Local-first: signals-native `createCollection` + HLC causality + CRDT merge (LWW + OR-Set) + delta sync + reference sync server + persistence export/restore | 🧪 Experimental |\n| [`@mindees/updates`](./packages/updates) | Pulse | Signed OTA: hash-addressed manifest + Ed25519 signing (threshold/rotation) + content-addressed store + atomic rollback + **differential (delta) downloads** + **reference update server** + **server-driven UI (SDUI)** | 🧪 Experimental |\n| [`create-mindees`](./packages/create-mindees) | — | Project scaffolder (`npm create mindees`) | 🧪 Experimental |\n\n\u003e 🧪 **Experimental** = implemented \u0026 tested, API may still change before `1.0`.\n\u003e 🚧 **Scaffold** = exists and builds, but exports only package metadata, the\n\u003e `Maturity`/`PackageInfo` status types, and the `NotImplementedError` /\n\u003e `notImplemented` utilities. Real functionality lands in its phase — see\n\u003e [ROADMAP.md](./ROADMAP.md).\n\n## 🗺️ Roadmap at a glance\n\n- ✅ **Phase 0** — Monorepo, governance, verified toolchain, green CI\n- ✅ **Phase 1** — `@mindees/core`: fine-grained signals \u0026 reactivity\n- ✅ **Phase 2** — Component model, selector-isolated context, priority scheduler \u0026 threading\n- ✅ **Phase 3** — Helix renderer: fine-grained web/DOM backend, **SSR + hydration**, headless test backend\n- ✅ **Phase 4** — Mindees Compiler (MDC): type-check gate, TSX transform, tree-flattening, route manifest\n- ✅ **Phase 5** — Forge CLI + `create-mindees`: scaffold, build, doctor\n- ✅ **Phase 6** — Quantum Router I: codegen-free typed params, Standard-Schema typed search, signals-native state\n- ✅ **Phase 7** — Quantum Router II: nested routes + `createRouterView` (layout-preserving rendering) + typed `createLink` + SWR data loaders, navigation guards, and view transitions\n- ✅ **Phase 8A** — Helix native strand: a platform-neutral native **command backend** (element tree + reactive updates → serializable command stream; events as stable handler ids)\n- ✅ **Phase 8B** — native **host conformance contract**: a strict reference host (`createReferenceHost`) that replays + validates the command stream — the executable spec a real native host implements\n- ✅ **Phase 8C / 8D** — **iOS \u0026 Android host projects** ([examples/native-hosts/](./examples/native-hosts/)) compile + pass their conformance cores in CI (macOS runner for iOS; Linux + Android SDK for Android)\n- ✅ **Phase 8E** — both hosts **render** the command stream into correct native view trees, verified in CI (iOS Simulator XCTest; Android Robolectric, incl. click dispatch)\n- 🧪 **Phase 8F-A/B** — Android embedded-runtime example app: QuickJS + JS↔native command bridge, APK assembly, and emulator-connected smoke test in CI\n- 🧪 **Phase 8F-C** - iOS embedded-runtime bridge: JavaScriptCore + JS\u003c-\u003enative command bridge, model bridge tests, and iOS Simulator `UIButton` target/action smoke test in CI\n- ✅ **Phase 9A** — Pulse **signed OTA core**: hash-addressed manifest + Ed25519 signing/verify (threshold + key rotation, pure-JS `@noble`) + content-addressed store + an update client with atomic generations \u0026 crash-loop rollback\n- ✅ **Phase 9B** — Pulse **differential downloads**: a zero-dep pure-TS byte-level delta codec (`diff`/`applyDelta`) so a changed asset ships as just its delta against a stored base, verified by the existing SHA-256 gate with a full-fetch fallback\n- ✅ **Phase 9C** — Pulse **reference update server**: a pure, capability-injected `createUpdateServer` (channel selection, staged rollout, anti-downgrade, freeze, rollback directives, content-addressed asset serving; never signs) + a runnable `node:http` adapter example\n- ✅ **Phase 9D** — Pulse **server-driven UI (SDUI)**: `compileSdui` turns an allowlisted JSON tree into a reactive `MindeesNode` (named actions + `$bind` bindings, no `eval`, prototype-pollution-safe) + RFC 7396 / safe RFC 6902 patches — **Phase 9 (Pulse) complete**\n- ✅ **Phase 10 (Continuum)** — **local-first data**: signals-native `createCollection` (10A) + Hybrid Logical Clock causality (10B) + CRDT conflict resolution — per-field LWW + add-wins OR-Set (10C) + a **delta-sync engine where two peers converge offline** (10D) + reference sync server and persistence export/restore (10E/10F)\n- ✅ **Phase 11 (Synapse) — provider-agnostic AI**: a pure-TS `AiBackend` (`createAi`) with a deterministic mock + an inject-`fetch` server backend (openai/anthropic), `AsyncIterable` streaming (11A/11B); Standard-Schema **structured output** (`generateObject`/`streamObject`, no `eval`, sanitize-before-validate) + a bounded **tool-calling loop** (`runTools`) (11C); and a dev-time **error explainer** (`mindees ai explain`) (11D) — on-device LLM inference is a labeled 🔬 research track\n- ✅ **Phase 12 (Atlas) — accessible UI primitives + virtualized list**: signals-native `View`/`Text`/`Image`/`TextInput`/`Pressable`/`Button` + layout (`Stack`/`Row`/`Column`/`Spacer`/`ScrollView`), a curated cross-platform `StyleObject` (numbers → `px` on web), `role`/`aria-*` accessibility, real-DOM-event interaction, a structural theme (12A), and a **virtualized recycling `List`** that renders only the visible window and reuses rows as you scroll (12B) — renderer-agnostic trees, web real, native 🔬\n- ⏭️ **Phases 8F / 13** - physical-device native proof, then examples, benchmarks, docs site \u0026 release\n\nBenchmark evidence for implemented hot paths lives in [`docs/benchmarks.md`](./docs/benchmarks.md).\n\nFull plan: [ROADMAP.md](./ROADMAP.md).\n\n## 🚀 Quickstart\n\nScaffold a new app (the packages are published on npm at `0.1.0`, 🧪 experimental):\n\n```bash\nnpm create mindees@latest my-app -- --template counter\n```\n\nOr add packages to an existing project:\n\n```bash\npnpm add @mindees/core @mindees/renderer\n```\n\n### Developing the framework (contributors)\n\nTo hack on the framework itself:\n\n```bash\ncorepack enable\ngit clone https://github.com/mindees/mindees.git\ncd mindees\npnpm install\npnpm verify   # lint + versions + typecheck + build + exports + pack + CLI smoke + test\n```\n\nIf Corepack cannot create `pnpm` shims on Windows, run the same commands through\nthe pinned package manager without a global install:\n\n```powershell\nnpm exec --yes --package=pnpm@11.5.0 -- pnpm install\nnpm exec --yes --package=pnpm@11.5.0 -- pnpm verify\n```\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for the full guide.\n\n## 🛠️ Tech stack\n\nTypeScript (strict) · pnpm workspaces · Turborepo · tsdown (Rolldown) · Biome ·\nVitest · Changesets · lefthook — all pinned to their latest stable releases.\n\n## 🤝 Contributing \u0026 community\n\nMindeesNative is built in the open and **actively wants contributors** — whether\nyou're into language runtimes, compilers, reactivity, mobile, or docs.\n\n- 🌱 Start with a [`good first issue`](https://github.com/mindees/mindees/labels/good%20first%20issue) or [`help wanted`](https://github.com/mindees/mindees/labels/help%20wanted)\n- 📐 Big ideas go through the lightweight [RFC process](./rfcs/README.md)\n- 📜 Read the [Governance model](./GOVERNANCE.md) and [Code of Conduct](./CODE_OF_CONDUCT.md)\n- 💬 Ask anything in [GitHub Discussions](https://github.com/mindees/mindees/discussions)\n\n## ❓ FAQ\n\n**Is MindeesNative a React Native alternative?**\nThat's the goal — a TypeScript cross-platform framework that keeps React\nNative's strengths (familiar language, native UI, OTA updates) while removing\nits pain points (dependency hell, single-thread limits, debugging). It's at an\nearly, experimental `v0.1.0` today.\n\n**Is it a Flutter alternative?**\nYes — without requiring a new language (Dart). You write TypeScript, target iOS,\nAndroid and web, and get fine-grained reactivity and native UI.\n\n**What language does it use?**\n100% TypeScript. No new language to learn.\n\n**Can I build mobile apps with it today?**\nNot for production yet — it's an early, experimental `v0.1.0`. The reactive core, **web** renderer (with\nSSR), compiler, CLI, typed router, Pulse OTA, Continuum data, Synapse AI, Atlas UI,\nand the native rendering foundation all work in their documented experimental scope.\nThe repo also has CI-verified iOS/Android host projects, an Android example app\nthat runs on an emulator through an embedded QuickJS JS\u003c-\u003enative bridge, and an\niOS JavaScriptCore bridge exercised on an iOS Simulator. Still missing:\nphysical-device proof, app-store packaging, and the production hardening expected\nbefore real mobile apps.\n\n**Is it open source?**\nYes — dual-licensed **MIT OR Apache-2.0**, built fully in the open.\n\n## 📄 License\n\nDual-licensed under **MIT OR Apache-2.0** — see [LICENSE](./LICENSE).\n\n`SPDX-License-Identifier: MIT OR Apache-2.0`\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"./mindees-native-logo.png\" alt=\"MindeesNative logo\" width=\"80\" height=\"80\" /\u003e\n\n**MindeesNative** — write TypeScript once, run native everywhere.\nBuilt in the open at [github.com/mindees/mindees](https://github.com/mindees/mindees) · [@mindees on npm](https://www.npmjs.com/org/mindees)\n\n⭐ Star us on GitHub if you believe cross-platform development should be simple, fast, and honest.\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmindees%2Fmindees","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmindees%2Fmindees","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmindees%2Fmindees/lists"}