feat: add React Native template - #10
Merged
Merged
Conversation
jerelvelarde
marked this pull request as ready for review
September 11, 2026 18:22
jerelvelarde
marked this pull request as draft
September 11, 2026 18:24
jerelvelarde
force-pushed
the
jerel/react-native-template
branch
from
September 11, 2026 19:14
9acc492 to
7e3622e
Compare
jerelvelarde
marked this pull request as ready for review
September 11, 2026 19:17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a CopilotKit React Native starter as Template 3 alongside Slack and web. The Expo app shares phone context with the agent, renders account/budget/spending/activity cards, and lets the user approve an expense that updates local sample data.
The isolated
/api/mobile-copilotkitruntime uses the existing server-side OpenAI/OpenRouter configuration. A small shared-agent option selects the mobile prompt and excludes workplace MCP tools for this runtime while preserving existing defaults. Provider keys stay on the server.Expense validation protects both the approval UI and the mutation helper. Invalid or incomplete proposals, unknown accounts and mismatched currencies are rejected visibly. Summaries preserve currencies, and successive transactions receive distinct IDs. Chat uses the CopilotKit facade for tools/context, supports Hermes-safe message IDs, shows runtime errors, and renders assistant Markdown with native styles and HTTP(S) links. A narrow Metro resolver adjustment supports the transitive browser-compatible
josepackage.An animated sequence of reviewed screenshots from the live iOS/OpenAI walkthrough.
Validation
All three GitHub CI jobs passed on final head
7e3622e.Clean root/mobile installs, workspace/mobile TypeScript checks, root verification, 12 native regression tests, iOS/Android Metro exports and the web production build passed.
Runtime, finance, chat and Markdown source reviews passed after fixes. Workflow lint and changed Markdown links checked; all relative links pass. The inherited Exa dashboard URL returned429. No package formatter/lint script is configured. The build retains the existing Google Vertex dynamic dependency warning.
Real iOS Simulator + OpenAI
gpt-5.6-solvalidation: native account cards, explicit expense approval and cancellation, formatted Markdown headings/lists/code, and a link that opens Safari. Walkthrough captures document the final app.Expenses change in-memory sample data only. Live OpenRouter, physical-device networking and OCR were not verified.
Integration
Targets
mainafter merged #13 — Remove the WhatsApp example. Preserves main's simplified web UI and media-tooling cleanup; PR #7 is not required. The revised homepage and guides present Slack, web and React Native. Broader homepage/folder/CTA cleanup and CI removal are tracked separately in the roadmap.Inspired by CopilotKit/CopilotKit#5430,
examples/showcases/react-native-personal-financeat6815a3eed0d80570cc17c121d952b94d5543d0a7, adapted to this kit's Expo app and shared runtime.