Thank you for helping improve react-native-nitro-google-signin. This document explains how to set up the repo, submit changes, and what we expect from pull requests.
Also on the docs site: Contributing guide
This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold it. Report issues to rutviknabhoya2001@gmail.com.
- Bug reports — Bug report template (or choose a template).
- Setup help — Setup / configuration template for SHA-1,
autoDetect, Gradle, URL scheme, Expo. - Feature requests — Feature request template; discuss scope before large PRs.
- Documentation — Documentation template.
- Documentation — fixes and clarifications in the
docssubmodule (content/) are always welcome. - Code — native (Kotlin/Swift), TypeScript, Expo config plugin, Nitro specs.
- Agent skill — keep
skills/react-native-nitro-google-signin/in sync when the public API or setup steps change.
Requirements: Node.js ≥ 20, Bun (recommended), Xcode + CocoaPods (iOS), Android Studio (Android).
git clone https://github.com/react-native-nitro-google-sign-in/google-signin.git
cd google-signin
bun installbun run build # TypeScript + react-native-builder-bob → lib/
bun run typecheck # tsc onlyAfter changing *.nitro.ts specs or native interfaces:
bun run codegenCommit nitrogen/generated/ with your PR when codegen output changes.
Bare RN (example/):
cd example
# Add google-services.json + GoogleService-Info.plist locally (gitignored)
bundle exec pod install --project-directory="ios"
bun run ios # or androidExpo (example-expo/):
cd example-expo
bun run prebuild:clean
bun run ios # or androidDo not commit google-services.json, GoogleService-Info.plist, or other secrets.
cd docs
bun install
bun run start # dev server
bun run build # production buildScreenshots live in docs/static/. Optional sources are in assets/ (see assets/README.md).
- One concern per PR when possible (feature, fix, or docs — not unrelated mixes).
- Describe the change — what, why, and how you tested (device/OS, bare vs Expo).
- Update docs if you change public API, setup steps, or error messages users see. For sign-in flows, follow the Usage guide and API reference on the docs site.
- Update the agent skill (
skills/react-native-nitro-google-signin/) when behavior or setup changes. - No secrets — OAuth files, API keys, or personal Firebase configs.
- License — you agree that your contributions are licensed under the project MIT License.
Use clear, imperative subjects (e.g. fix(android): handle missing Play Services). Conventional Commits are appreciated; semantic-release may use them for versioning.
PRs run GitHub Actions for Android/iOS example builds. Documentation deploys from the docs submodule repo on pushes to its main. Fix failing checks before merge.
| Path | Purpose |
|---|---|
src/ |
TypeScript API, Nitro specs, button component |
android/, ios/ |
Native implementations |
plugin/ |
Expo config plugin |
nitrogen/generated/ |
Nitro codegen output |
docs/ |
Docusaurus site (git submodule → docs repo) |
skills/react-native-nitro-google-signin/ |
Installable agent skill |
example/, example-expo/ |
Sample apps |
- Usage / setup: Documentation or Issues
- Security: SECURITY.md
- Conduct: CODE_OF_CONDUCT.md