Better docs

This commit is contained in:
EthanShoeDev
2025-10-07 00:21:46 -04:00
parent 7f07b2f0ab
commit 2b33da8e20
9 changed files with 251 additions and 373 deletions

View File

@@ -1,3 +1,71 @@
nix develop .#default
## 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 UniFFI
- `packages/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
1. Clone the repo
2. Install dependencies at the root:
```
pnpm install
```
3. 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.md`
- `packages/react-native-xtermjs-webview/CHANGELOG.md`
### CI
Pull requests run the workflow in `.github/workflows/check.yml`. Please ensure
lint/typecheck/tests pass.