Changelog
Notable changes to the template. Versions follow Semantic Versioning. Apps made from the template own their copy of the code, so a new version reaches an app only when its authors apply the changes.
Unreleased
Section titled “Unreleased”- Docs and website: the React Native CLI (npm package
bareship) is the first way to create an app; an npm link in the site header; FAQ answers on versions and updates.
0.1.0 (2026-10-14)
Section titled “0.1.0 (2026-10-14)”The first release, on npm as bareship
(npx @react-native-community/cli@20.2.0 init Acme --template bareship --skip-install --install-pods false)
and as a GitHub template repository. It collects everything below.
App README and code of conduct
Section titled “App README and code of conduct”- Apps made with
initget their own README (scripts/app-readme.md): how to run, customise and release the app, with no links to the template’s own files.scripts/ci/check-template-init.shchecks it and the links in the app’s docs. - README: a new header with the logo, a tagline and quick links, and a direct Use this template link.
CODE_OF_CONDUCT.md(Contributor Covenant 2.1).
Public, with a website
Section titled “Public, with a website”- The repository is public and a GitHub template repository.
- Website and docs live at https://bareship.praveensingh.co.in with a sitemap and
robots.txt(ADR 0016). Vercel deploys it on every push tomain. - The website builds without the app’s packages installed (Vercel), and the Offline and AI agents pages
are now committed (the root
.gitignorehid them).
Renamed to Bareship
Section titled “Renamed to Bareship”- The template is now Bareship (was
rn-template): npm packagebareship, repositorypsingh2907/bareship, code markers[bareship](ADR 0015). - The app inside the template is renamed with
pnpm bootstrap: bundle idcom.bareshipapp, URL schemebareshipapp://. Apps made withinitget their own names, as before. - Docs: run
pnpm podsagain after apnpm installthat changesnode_modules(Skia’s iOS binaries).
Phase 5: packaging
Section titled “Phase 5: packaging”pnpm strip-examplesremoves the demo (feed, posts mocks, showroom) and leaves a blank Home tab;scripts/ci/check-strip-examples.shchecks the stripped app.- npm template for the React Native CLI (
pnpm pack-template), checked end to end byscripts/ci/check-template-init.sh. pnpm bootstrapchecks for the Ruby gems before renaming anything.- MIT license, contributing and security guides, issue templates.
- The tab navigator’s route is
Main(wasHome), so an app’s own Home tab doesn’t clash with it.
Phase 4: quality tooling
Section titled “Phase 4: quality tooling”- Lint sweep: no barrel files, React Compiler lint rules, ARIA accessibility props.
pnpm gen feature|screen|endpointand theadd-feature,add-screen,add-endpointagent skills.- fastlane lanes for version bumps, release builds, match signing, TestFlight and Play uploads.
- Postponed: Maestro end-to-end tests, Reassure, startup metrics, bundle report.
Phase 3: production
Section titled “Phase 3: production”- Offline write queue (patterns A–D), offline banner and “waiting to sync” states.
- Optional Firebase: Crashlytics, Analytics, Remote Config, FCM push with local notifications.
- Deep links and universal / App Links, force update and maintenance mode, demo APK.
Phases 0–2: foundation and app layer
Section titled “Phases 0–2: foundation and app layer”- Decisions (ADRs), three environments, splash, icons,
pnpm bootstrap, CI. - API client with Zod, TanStack Query persisted to MMKV, React Navigation static API, Unistyles design system, English and Arabic (RTL), forms, auth, feed and settings, MSW mock backend.