{"id":46436605,"url":"https://github.com/wizig-org/wizig","last_synced_at":"2026-06-06T04:01:48.591Z","repository":{"id":342387337,"uuid":"1168975140","full_name":"wizig-org/wizig","owner":"wizig-org","description":"Wizig - Mobile app development with Zig","archived":false,"fork":false,"pushed_at":"2026-05-24T02:37:39.000Z","size":3940,"stargazers_count":1,"open_issues_count":17,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-24T04:35:38.747Z","etag":null,"topics":["android","ios","native-ui","zig"],"latest_commit_sha":null,"homepage":"https://wizig.org","language":"Zig","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wizig-org.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing/code-style.md","funding":null,"license":"LICENSE","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":null,"dco":null,"cla":null}},"created_at":"2026-02-28T02:31:39.000Z","updated_at":"2026-04-02T11:38:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"a9d0fc64-03e9-4377-89df-dfea0acf6c95","html_url":"https://github.com/wizig-org/wizig","commit_stats":null,"previous_names":["wizig-org/wizig"],"tags_count":74,"template":false,"template_full_name":null,"purl":"pkg:github/wizig-org/wizig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wizig-org%2Fwizig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wizig-org%2Fwizig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wizig-org%2Fwizig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wizig-org%2Fwizig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wizig-org","download_url":"https://codeload.github.com/wizig-org/wizig/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wizig-org%2Fwizig/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33718446,"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-31T02:00:06.040Z","response_time":95,"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","ios","native-ui","zig"],"created_at":"2026-03-05T21:21:16.828Z","updated_at":"2026-05-31T04:01:36.464Z","avatar_url":"https://github.com/wizig-org.png","language":"Zig","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/assets/wizig-logo-no-bg.png\" alt=\"Wizig logo\" width=\"260\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eWizig\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  Native iOS and Android hosts with shared Zig runtime logic and generated typed bridges.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"docs/getting-started/installation.md\"\u003e\u003cstrong\u003eInstallation\u003c/strong\u003e\u003c/a\u003e\n  ·\n  \u003ca href=\"docs/getting-started/quick-start.md\"\u003e\u003cstrong\u003eQuick Start\u003c/strong\u003e\u003c/a\u003e\n  ·\n  \u003ca href=\"docs/cli-reference.md\"\u003e\u003cstrong\u003eCLI Reference\u003c/strong\u003e\u003c/a\u003e\n  ·\n  \u003ca href=\"docs/architecture/overview.md\"\u003e\u003cstrong\u003eArchitecture\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Install\n\n```sh\ncurl -fsSL wizig.org/install.sh | sh\n\n#or\ncurl -fsSL wizig.org/install.sh | sh -s -- 0.1.0 # specific release\n```\n\nOr with Homebrew:\n\n```sh\nbrew install wizig-org/tap/wizig\n```\n\n### For nightly builds:\n```sh\ncurl -fsSL wizig.org/install.sh | sh -s -- nightly\n\n# or\nWIZIG_VERSION=nightly curl -fsSL wizig.org/install.sh | sh\n\n# Pin this specific nightly\ncurl -fsSL wizig.org/install.sh | sh -s -- ${DATE_TAG}\n```\n\nWizig is built for those that want native platform UX without duplicating core application logic.\n\n- Native hosts stay native: SwiftUI for iOS, Jetpack Compose for Android.\n- Shared runtime and domain logic live in Zig under `lib/`.\n- Typed host bindings are generated from discovered Zig APIs.\n- App scaffolds vendor `.wizig/` assets so projects remain portable.\n\n## Runtime Stack\n\n```mermaid\nflowchart TD\n  A[\"Host UI (SwiftUI / Compose)\"] --\u003e B[\"Generated Bridge (Swift / Kotlin / Zig)\"]\n  B --\u003e C[\"Wizig FFI Runtime (C ABI boundary)\"]\n  C --\u003e D[\"App Domain Logic (lib/**/*.zig)\"]\n```\n\n## Quick Start\n\n### 1) Build Wizig\n\n```sh\nzig build\n```\n\nThis produces `./zig-out/bin/wizig`.\n\n### 2) Create an App\n\n```sh\n./zig-out/bin/wizig create MyApp /tmp/MyApp --sdk-root .\n```\n\nExpected app layout:\n\n| Path | Purpose |\n| --- | --- |\n| `lib/` | Zig app logic |\n| `ios/` | iOS host project |\n| `android/` | Android host project |\n| `.wizig/sdk/` | Vendored host SDK wrappers |\n| `.wizig/runtime/` | Vendored runtime sources |\n| `.wizig/generated/` | Generated bindings and registrants |\n| `wizig.yaml` | App configuration |\n\n### 3) Define Host-Callable Zig APIs\n\n```zig\nconst std = @import(\"std\");\n\npub fn echo(input: []const u8, allocator: std.mem.Allocator) ![]u8 {\n    return std.fmt.allocPrint(allocator, \"echo:{s}\", .{input});\n}\n```\n\n### 4) Generate Typed Bindings\n\n```sh\n./zig-out/bin/wizig codegen /tmp/MyApp\n```\n\nCodegen contract lookup order:\n\n1. `--api \u003cpath\u003e`\n2. `wizig.api.zig`\n3. `wizig.api.json`\n4. Discovery from `lib/**/*.zig`\n\nGenerated outputs include:\n\n- `.wizig/generated/zig/WizigGeneratedApi.zig`\n- `.wizig/generated/swift/WizigGeneratedApi.swift`\n- `.wizig/generated/kotlin/dev/wizig/WizigGeneratedApi.kt`\n- `.wizig/sdk/ios/Sources/Wizig/WizigGeneratedApi.swift`\n- `.wizig/sdk/android/src/main/kotlin/dev/wizig/WizigGeneratedApi.kt`\n\n### 5) Run the App\n\n```sh\n./zig-out/bin/wizig run /tmp/MyApp\n```\n\nNon-interactive example:\n\n```sh\n./zig-out/bin/wizig run /tmp/MyApp --non-interactive --device emulator-5554 --once\n```\n\n### 6) Validate Environment\n\n```sh\n./zig-out/bin/wizig doctor --sdk-root .\n```\n\n## CLI Commands\n\n| Command | Purpose |\n| --- | --- |\n| `wizig create` | Scaffold a new Wizig app root |\n| `wizig run` | Build, install, and launch on selected device |\n| `wizig codegen` | Generate Zig/Swift/Kotlin typed bridge bindings |\n| `wizig build` | Build release artifacts (for example Android multi-ABI) |\n| `wizig plugin` | Validate/sync/add plugins |\n| `wizig doctor` | Validate toolchains and SDK/runtime bundle integrity |\n| `wizig version` | Print installed version |\n| `wizig self-update` | Update to the latest release |\n| `wizig uninstall` | Remove the wizig installation |\n\n## Development Requirements\n\nCore requirements:\n\n- Zig `0.16.0-dev` (nightly)\n- Xcode `26+` with command line tools (`xcodebuild`, `xcrun`)\n- Java `21`\n- Gradle and Android SDK tools (`adb`, emulator, platform SDKs)\n- Python `3.10+` (docs workflow)\n\nHomebrew baseline:\n\n```sh\nbrew install gradle openjdk@21 python\nbrew install --cask android-platform-tools android-commandlinetools\nbrew install xcodegen # optional\n```\n\nFor exact policy checks and minimum versions, see `toolchains.toml` and run `wizig doctor`.\n\n## Build and Test Wizig\n\n```sh\nzig build\nzig build test\nzig build e2e\n```\n\n## Documentation\n\n- Docs home: [`docs/index.md`](docs/index.md)\n- Installation: [`docs/getting-started/installation.md`](docs/getting-started/installation.md)\n- Quick start: [`docs/getting-started/quick-start.md`](docs/getting-started/quick-start.md)\n- CLI reference: [`docs/cli-reference.md`](docs/cli-reference.md)\n- Architecture: [`docs/architecture/overview.md`](docs/architecture/overview.md)\n\nDocs commands:\n\n```sh\npip install -r docs/requirements.txt\nzig build docs\nmkdocs serve\n```\n\n## Contributing\n\nSee:\n\n- [`docs/contributing/index.md`](docs/contributing/index.md)\n- [`docs/contributing/project-structure.md`](docs/contributing/project-structure.md)\n- [`docs/contributing/code-style.md`](docs/contributing/code-style.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwizig-org%2Fwizig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwizig-org%2Fwizig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwizig-org%2Fwizig/lists"}