{"id":23815255,"url":"https://github.com/dodorare/crossbow","last_synced_at":"2025-04-04T08:09:59.777Z","repository":{"id":37746577,"uuid":"291822639","full_name":"dodorare/crossbow","owner":"dodorare","description":"Cross-Platform build tools and toolkit for games and game engines written in Rust! 🦀","archived":false,"fork":false,"pushed_at":"2024-02-27T18:49:50.000Z","size":19386,"stargazers_count":208,"open_issues_count":28,"forks_count":13,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-28T07:09:36.415Z","etag":null,"topics":["android","apple","build-tool","cross-platform","gamedev","ios","mobile","open-source","rust"],"latest_commit_sha":null,"homepage":"https://crossbow.dodorare.com/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dodorare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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}},"created_at":"2020-08-31T20:55:10.000Z","updated_at":"2025-03-07T13:41:19.000Z","dependencies_parsed_at":"2025-02-13T10:21:22.687Z","dependency_job_id":null,"html_url":"https://github.com/dodorare/crossbow","commit_stats":{"total_commits":455,"total_committers":9,"mean_commits":50.55555555555556,"dds":0.523076923076923,"last_synced_commit":"6e9d69916cb156075162047bdc82565149bd9b1a"},"previous_names":["creator-rs/creator"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dodorare%2Fcrossbow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dodorare%2Fcrossbow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dodorare%2Fcrossbow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dodorare%2Fcrossbow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dodorare","download_url":"https://codeload.github.com/dodorare/crossbow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247142074,"owners_count":20890653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","apple","build-tool","cross-platform","gamedev","ios","mobile","open-source","rust"],"created_at":"2025-01-02T04:15:32.874Z","updated_at":"2025-04-04T08:09:59.743Z","avatar_url":"https://github.com/dodorare.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [![Crossbow Splash Image](https://github.com/dodorare/crossbow/blob/main/assets/crossbow/splash.png?raw=true)](https://github.com/dodorare/crossbow)\n\n[![CI Info](https://github.com/dodorare/crossbow/workflows/CI/badge.svg)](https://github.com/dodorare/crossbow/actions)\n[![Crate Info](https://img.shields.io/crates/v/crossbow.svg)](https://crates.io/crates/crossbow)\n[![Documentation](https://img.shields.io/badge/docs.rs-crossbow-green)](https://docs.rs/crossbow/)\n[![Crossbundle Crate](https://img.shields.io/crates/d/crossbundle?label=cargo%20installs)](https://crates.io/crates/crossbundle)\n[![MIT/Apache 2.0](https://img.shields.io/badge/license-MIT%2FApache-blue.svg)](https://github.com/dodorare/crossbow#license)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdodorare%2Fcrossbow.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fdodorare%2Fcrossbow?ref=badge_shield)\n[![GitHub Stars](https://img.shields.io/github/stars/dodorare/crossbow.svg?style=social)](https://github.com/dodorare/crossbow/stargazers)\n\n## What is Crossbow?\n\nThe `crossbow` project aims to provide a complete toolkit for cross-platform game development in *Rust* - from project creation to publishing. In addition, the project simplifies the creation, packaging, and signing of **Android** and **iOS** applications. We want to make most of our tools - engine agnostic to help rust game developers integrate them into their engines or games.\n\n## Why Crossbow?\n\n\u003e There are already [cargo-apk](https://github.com/rust-windowing/android-ndk-rs/tree/master/cargo-apk), [cargo-mobile](https://github.com/BrainiumLLC/cargo-mobile), [cargo-xcode](https://gitlab.com/kornelski/cargo-xcode), etc. - why do I need another packaging tool?\n\nProject `crossbow` is not only a packaging tool for **Android** and **iOS** - it's cross-platform build tools, plugins, and toolkit for Rust! With `crossbundle` you can create native **.apk/.aab** without any *Java* or setup *Gradle* project with fancy **Crossbow Android plugins** (**iOS** in near future); with `crossbundle-tools` you can customize and create new commands; with `crossbow-android` you can write your own Android plugins in *Java/Kotlin*.\n\nA lot of functionality was inspired by [Godot](https://github.com/godotengine/godot), [Xamarin](https://dotnet.microsoft.com/en-us/apps/xamarin), and [cargo-apk](https://github.com/rust-windowing/android-ndk-rs/tree/master/cargo-apk).\n\n## Design Goals\n\n* **Customizable**: Create new commands with available tools.\n* **Simple**: Easy to install and start hacking but also pretty flexible for strong devs.\n* **Flexible**: It's possible to build plain **.apk/.aab** or **.app/.ipa**; or with help of *Gradle/XCode*.\n* **Rust**: Don't leave your *Rust* code - **everything** can be configured from `Cargo.toml`.\n* **Plugins**: Godot-like plugins for **Android** (and **iOS** in future) with *Rust* wrapper!\n\n## Documentation\n\nNow we would recommend you to read [crossbow's documentation](https://crossbow.dodorare.com/). Over there you will find how to set up development environment, install needed crates and how to use the tools.\n\n## Project structure\n\nCrossbundle crates:\n\n| Name | Description | Status |\n| ---- | ----------- | ------ |\n| [crossbundle](./crossbundle/cli) | Command-line tool for building and running applications. | ✅ |\n| [crossbundle-tools](./crossbundle/tools) | Toolkit used in `crossbundle` to build/pack/sign bundles. | ✅ |\n\nCrossbow Platform crates:\n\n| Name | Description | Status |\n| ---- | ----------- | ------ |\n| [crossbow-android](./platform/android) | Crossbow Android Platform implementation. | 🆗 |\n| [crossbow-ios](./platform/ios) | Crossbow iOS Platform implementation. | 🛠 |\n\nCrossbow Plugins:\n\n| Name | Description | Status |\n| ---- | ----------- | ------ |\n| [admob-android](./plugins/admob-android) | [Google AdMob](https://developers.google.com/admob/android/quick-start) Plugin for Android. | 🆗 |\n| [play-games-services](./plugins/play-games-services) | [Google Play Games Services](https://developers.google.com/games/services/) Plugin for Android. | 🆗 |\n| [play-billing](./plugins/play-billing) | [Google Play Billing](https://developer.android.com/google/play/billing) Plugin for Android. | 🆗 |\n| [play-core](./plugins/play-core) | [Google Play Core](https://developer.android.com/guide/playcore) Plugin for Android. | 📝 |\n\nHelper crates:\n\n| Name | Description | Status |\n| ---- | ----------- | ------ |\n| [android-tools-rs](https://github.com/dodorare/android-tools-rs) | Android-related tools for building and developing application. | ✅ |\n| [android-manifest-rs](https://github.com/dodorare/android-manifest-rs) | [AndroidManifest](https://developer.android.com/guide/topics/manifest/manifest-intro) serializer and deserializer for Rust. | ✅ |\n| [apple-bundle-rs](https://github.com/dodorare/apple-bundle-rs) | [AppleBundleResources](https://developer.apple.com/documentation/bundleresources) serializer and deserializer for Rust. | ✅ |\n\n✅ = Works and tested — 🆗 = Works but may contain bugs — 🛠 = Under development — 📝 = Planned\n\n## Special Thanks\n\nAlso, this project initially funded by [Web3 Foundation Grants Program](https://github.com/w3f/Grants-Program/blob/master/applications/crossbow.md). Big shout-out to them!\n\n\u003cimg src=\"assets/crossbow/w3f_grants_badge.svg\" alt=\"W3F Grants Badge\" width=\"400px\" /\u003e\n\n## License\n\nLicensed under either of:\n\n* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdodorare%2Fcrossbow.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fdodorare%2Fcrossbow?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdodorare%2Fcrossbow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdodorare%2Fcrossbow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdodorare%2Fcrossbow/lists"}