Upwell

Contributing

Set up the repository, run the tests, and work on the docs.

Upwell is MIT licensed and developed on GitHub. Issues and pull requests are welcome.

The repository

core/ (decision engine, validation, versions)
controller.ts
react/
ui/
expo-updates/
simulation/
android/ (Kotlin, Play Core)
ios/ (Swift, StoreKit)
plugin/ (config plugin)
schemas/ (JSON Schemas)
example/ (example app)
website/ (this site)

Library

npm install
npm test                          # engine table tests, controller, hooks, UI, plugin
npm run lint && npm run typecheck
npx changeset                     # describe your change for the changelog

Engine changes start with a table test in src/core/__tests__. decide() is pure, so every rule can be covered without a device.

Android native code needs JDK 21 for Gradle. iOS native code is compiled in CI on macOS.

Docs

This site is a Fumadocs app in website/, deployed separately from the library.

cd website
npm install
npm run dev     # http://localhost:3000/docs
npm run build

Pages are MDX files in website/content/docs, and meta.json files set the sidebar order. Every page has an "Open in GitHub" link, so fixing a typo is one click away.

On this page