Skip to main content

Contributing

dash-ota is MIT and open to contributions. Source: github.com/Scripting-Bear/dash-ota.

Monorepo layout​

packages/
rn/ react-native-dash-ota (client: JS + native Android/iOS + example app)
cli/ @dash-ota/cli (signing + release tooling)
backend/ @dash-ota/backend (distributor: Express middleware + standalone)
shared/ @dash-ota/shared (crypto/protocol core)
website/ this documentation site (Docusaurus)

Dev setup​

npm install
npm run test:core # crypto/protocol self-test
npm run test:e2e # backend e2e (publish → check → download → verify+decrypt)
npm run test:express # Express-adapter smoke test
npm run typecheck

The RN package is a separate yarn-4 project under packages/rn (yarn there for the example app).

The example app​

packages/rn/example is a full dev/uat/prod demo. Build a release flavour to exercise OTA (debug uses Metro). scripts/publish-ota.mjs runs bundle → hermesc → publish in one step.

Running the docs site​

cd website
npm install
npm start # http://localhost:3000/dash-ota/
npm run build # production build (checks for broken links)

Guidelines​

  • Keep the trust split intact: trust-critical work stays in native; JS only orchestrates.
  • Add TSDoc (@param / @returns / @example) to exported APIs — it feeds the API reference.
  • Run typecheck + the test suites before opening a PR.

→ Roadmap