mirror of
https://github.com/EthanShoeDev/fressh.git
synced 2026-01-10 05:42:50 +00:00
1.2 KiB
1.2 KiB
Contributing
Monorepo layout
apps/mobile: Expo app (serves as the example for both packages)apps/web: Static site (Astro)packages/react-native-uniffi-russh: React Native native module exposing russh via UniFFIpackages/react-native-xtermjs-webview: React Native WebView-based xterm.js renderer
Prerequisites
- Node and pnpm installed
- Optional: Nix for dev shells (recommended)
- For native module work: Rust toolchain (rustup, cargo), Android/iOS build tools
With Nix:
nix develop .#default
Dev shell with android emulator included:
nix develop .#android-emulator
Setup
- Clone the repo
- Install dependencies at the root:
pnpm install
- Run the lint command:
pnpm exec turbo lint
Develop
- Mobile app:
cd apps/mobile
pnpm run android
Releasing
Each publishable package uses release-it. From the package directory:
pnpm run release
See the package CHANGELOGs for release notes:
packages/react-native-uniffi-russh/CHANGELOG.mdpackages/react-native-xtermjs-webview/CHANGELOG.md
CI
Pull requests run the workflow in .github/workflows/check.yml. Please ensure
lint/typecheck/tests pass.