docs: add contributor docs, agent rules, templates and CI

KO
2d ago
+2529-132

Gives this repo the same contributor docs, rules and tooling as drift-ui/ui.

Stacked on #2. CI runs the Jest suite that #2 adds, so merge #2 first. After that, this diff only has the two commits below.

What's in it

  • README.md: the component table, install steps, local development and the repo layout. The install URL points at native.drift-ui.dev, and the README says to build the registry locally until that site exists.
  • CONTRIBUTING.md: setup with a simulator or Expo Go, a seven-step checklist for porting a component, component guidelines, and the commit conventions. Porting starts in drift-ui/ui: a component with a lib file gets its registry:lib item there first, as #146 does for key-value-editor.
  • AGENTS.md and CLAUDE.md: the same issue-to-pull-request workflow as drift-ui/ui, written for React Native. This replaces the AGENTS.md from the Expo template but keeps its warning to check the versioned Expo docs. It also adds a work-on-issue skill.
  • .github:
    • The pull request template has a "Differences from the web component" section and checkboxes for iOS, Android and dark mode.
    • The bug template asks for platform and device.
    • The component request template only covers components that already exist in drift-ui.
    • CI runs format, typecheck, lint, test and the registry build.
  • Tooling: Prettier with the same settings as drift-ui/ui, including Tailwind class sorting. ESLint runs through expo lint and is pinned to 9, because eslint-plugin-react fails to load on ESLint 10.

Formatting the repo rewrote the React Native Reusables files to our style (double quotes, no semicolons). drift-ui/ui does the same with its shadcn files.

Renovate is left out because #1 already adds it.

Checklist

  • bun run format:check, bun run typecheck, bun run lint, bun run test and bun run registry:build pass

Summary by cubic

Sets up this repo's contributor docs, agent rules, GitHub templates, CI and formatting tooling to match drift-ui/ui, and ports key-value-editor as the first registry component.

Docs and templates

  • README, CONTRIBUTING, AGENTS.md, CLAUDE.md and a work-on-issue skill cover setup, the porting checklist and the issue-to-pull-request workflow.
  • New PR, bug and component request templates ask for differences from the web component and iOS/Android/dark-mode checks.
  • CI runs format, typecheck, lint, test and the registry build, including the Jest suite added here.

Tooling and first component

  • Prettier matches drift-ui/ui (no semicolons, double quotes, Tailwind class sorting), which reformatted existing files; ESLint is pinned to 9 because eslint-plugin-react fails to load on 10.
  • Jest with jest-expo and React Native Testing Library is added, with test suites for the registry components.
  • key-value-editor keeps the web component's API and shared logic, and detects pasted .env text in onChangeText since React Native has no paste event; a newline or a paste that replaces a selected key counts as a paste.