Skip to main content

Contributing

Thanks for your interest in contributing! This project uses a Bun monorepo.

Repository Structure

react-native-nitro-version-check/
├── package/ # Main library
│ ├── src/ # TypeScript source
│ ├── ios/ # Swift implementation
│ ├── android/ # Kotlin implementation
│ └── nitrogen/ # Generated Nitro specs
├── example/ # Demo React Native app
└── docs/ # This documentation site

Setup

Prerequisites

Clone and install

git clone https://github.com/AlshehriAli0/react-native-nitro-version-check.git
cd react-native-nitro-version-check
bun install

Running the Example App

iOS

cd example
npx expo prebuild
bun run ios

Android

cd example
npx expo prebuild
bun run android

Running the Docs

cd docs
bun install
bun start

This starts a local Docusaurus dev server at http://localhost:3000.

Code Quality

This project uses Biome for linting and formatting:

# Lint
bun run lint

# Lint and auto-fix
bun run lint:fix

# Format
bun run format

Commit Convention

We use Conventional Commits. Commit messages are validated by commitlint.

feat: add install source detection
fix: correct version comparison for pre-release tags
docs: update API reference
chore: bump dependencies

Pull Requests

  1. Fork the repository
  2. Create a feature branch (git checkout -b feat/my-feature)
  3. Make your changes
  4. Run bun run lint and bun run typecheck
  5. Commit with a conventional commit message
  6. Push and open a PR

Releases

Releases are automated via GitHub Actions using release-it. Only maintainers can trigger releases.