Getting started
Clone the repository and install dependencies:
git clone https://github.com/palmshed/bridge.git
cd bridge
npm install
npm run dev
The example app runs at http://localhost:3000/bridge/.
Guidelines
- Keep it small. Every plugin should solve a real problem shared by at least two projects.
- Document everything. If it is not documented, it does not exist.
- Test everything. If it is not tested, it is not ready.
- Follow existing patterns. Consistency matters more than cleverness.
Adding a plugin
- Create a directory under
packages/<plugin-name>/.
- Define the TypeScript interface in
src/types.ts and export it from src/index.ts.
- Implement platform code in
src/android/ (Kotlin) and src/ios/ (Swift).
- Add tests for all three platforms.
- Write a README with examples and platform notes.
See the Plugin API Guide for the full interface contract and directory structure.
Code style
- TypeScript with strict mode.
- ESLint with the shared configuration.
- No comments unless the logic is genuinely complex.
Pull requests
- Keep PRs small and focused.
- Describe what changed and why.
- Include tests for new functionality.
- CI runs lint, typecheck, and tests automatically on every push.
Code of conduct
This project follows a Code of Conduct. By participating, you agree to uphold it.