rock
Version:
Command-line interface for Rock - a React Native development toolkit
77 lines (50 loc) • 2.98 kB
Markdown
<a href="https://www.callstack.com/open-source?utm_campaign=generic&utm_source=github&utm_medium=referral&utm_content=rock" align="center">
<picture>
<img alt="Rock" src="https://github.com/callstackincubator/rock/raw/main/banner.jpg">
</picture>
</a>
<p align="center">
🪨 Rock is a modular toolkit for teams building React Native apps. It helps improve build times and developer experience while fitting into your existing workflows and infrastructure.
</p>
---
## Key Features
**☁️ Remote Build Cache**
Save up to 96% of build time by reusing native artifacts (APK, AAB, APP, IPA) across machines and CI. Use built‑in integrations for GitHub, S3, and R2 or bring your own storage.
**🔗 Brownfield ready**
Add React Native to existing iOS and Android apps using Rock Brownfield.
**🔌 Modular & Extensible**
A plugin‑driven architecture that lets you customize platforms, bundlers, cache providers, and more.
**🖥️ Cross‑platform‑ready**
iOS and Android by default; designed to extend to TVs, macOS, and Windows (coming soon).
**⚡ Easy Community CLI Migration**
A familiar CLI that helps you develop, run, and build your app. Migrate from Community CLI in minutes.
## Installation
Choose your path based on your current situation:
### Creating a new project
> [!TIP]
> For **new projects**, we recommend starting with [Expo](https://expo.dev) for the best developer experience and similar remote caching capabilities. Rock is designed for teams who have outgrown the Community CLI.
To create a fresh React Native app with Rock, open a terminal and run:
```shell
npm create rock
```
### Migrating an existing Community CLI project
To migrate an existing project, open a terminal in your project root and run:
```shell
npm create rock
```
### Adding to an existing native project
To add React Native to an existing iOS or Android app with Rock, use our Brownfield plugins:
```shell
npm create rock
# ...
◆ What plugins do you want to start with?
│ ◼ brownfield-ios
│ ◼ brownfield-android
```
For detailed instructions, please follow our [Integrating with Native Apps](https://rockjs.dev/docs/brownfield/intro) documentation.
## Documentation
Visit [rockjs.dev](https://rockjs.dev) to learn more about the framework, why we created it, how it can be useful to you, and how to use it in more advanced scenarios.
## Contributing
Read our [contributing guidelines](CONTRIBUTING.md) to learn how you can contribute with bug reports, documentation, and code.
## Made with ❤️ at Callstack
Rock is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. [Callstack](https://www.callstack.com/?utm_source=github.com&utm_medium=referral&utm_campaign=rock&utm_term=readme-with-love) is a group of React and React Native geeks. Contact us at [hello@callstack.com](mailto:hello@callstack.com) if you need any help with these technologies or just want to say hi!