

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
12345## Use Native Navigators for Navigation67Always use native navigators instead of JS-based ones. Native navigators use8platform APIs (UINavigationController on iOS, Fragment on Android) for better9performance and native behavior.1011**For stacks:** Use `@react-navigation/native-stack` or expo-router's default12stack (which uses native-stack). Avoid `@react-navigation/stack`.1314**For tabs:** Use `react-native-bottom-tabs` (native) or expo-router's native15tabs. Avoid `@react-navigation/bottom-tabs` when native feel matters.1617### Stack Navigation1819**Incorrect (JS stack navigator):**2021```tsx22import { createStackNavigator } from '@react-navigation/stack'2324const Stack = createStackNavigator()2526function App() {27 return (28 <Stack.Navigator>29 <Stack.Screen name='Home' component={HomeScreen} />30 <Stack.Screen name='Details' component={DetailsScreen} />31 </Stack.Navigator>32 )33}34```3536**Correct (native stack with react-navigation):**3738```tsx39import { createNativeStackNavigator } from '@react-navigation/native-stack'4041const Stack = createNativeStackNavigator()4243function App() {44 return (45 <Stack.Navigator>46 <Stack.Screen name='Home' component={HomeScreen} />47 <Stack.Screen name='Details' component={DetailsScreen} />48 </Stack.Navigator>49 )50}51```5253**Correct (expo-router uses native stack by default):**5455```tsx56// app/_layout.tsx57import { Stack } from 'expo-router'5859export default function Layout() {60 return <Stack />61}62```6364### Tab Navigation6566**Incorrect (JS bottom tabs):**6768```tsx69import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'7071const Tab = createBottomTabNavigator()7273function App() {74 return (75 <Tab.Navigator>76 <Tab.Screen name='Home' component={HomeScreen} />77 <Tab.Screen name='Settings' component={SettingsScreen} />78 </Tab.Navigator>79 )80}81```8283**Correct (native bottom tabs with react-navigation):**8485```tsx86import { createNativeBottomTabNavigator } from '@bottom-tabs/react-navigation'8788const Tab = createNativeBottomTabNavigator()8990function App() {91 return (92 <Tab.Navigator>93 <Tab.Screen94 name='Home'95 component={HomeScreen}96 options={{97 tabBarIcon: () => ({ sfSymbol: 'house' }),98 }}99 />100 <Tab.Screen101 name='Settings'102 component={SettingsScreen}103 options={{104 tabBarIcon: () => ({ sfSymbol: 'gear' }),105 }}106 />107 </Tab.Navigator>108 )109}110```111112**Correct (expo-router native tabs):**113114```tsx115// app/(tabs)/_layout.tsx116import { NativeTabs } from 'expo-router/unstable-native-tabs'117118export default function TabLayout() {119 return (120 <NativeTabs>121 <NativeTabs.Trigger name='index'>122 <NativeTabs.Trigger.Label>Home</NativeTabs.Trigger.Label>123 <NativeTabs.Trigger.Icon sf='house.fill' md='home' />124 </NativeTabs.Trigger>125 <NativeTabs.Trigger name='settings'>126 <NativeTabs.Trigger.Label>Settings</NativeTabs.Trigger.Label>127 <NativeTabs.Trigger.Icon sf='gear' md='settings' />128 </NativeTabs.Trigger>129 </NativeTabs>130 )131}132```133134On iOS, native tabs automatically enable `contentInsetAdjustmentBehavior` on the135first `ScrollView` at the root of each tab screen, so content scrolls correctly136behind the translucent tab bar. If you need to disable this, use137`disableAutomaticContentInsets` on the trigger.138139### Prefer Native Header Options Over Custom Components140141**Incorrect (custom header component):**142143```tsx144<Stack.Screen145 name='Profile'146 component={ProfileScreen}147 options={{148 header: () => <CustomHeader title='Profile' />,149 }}150/>151```152153**Correct (native header options):**154155```tsx156<Stack.Screen157 name='Profile'158 component={ProfileScreen}159 options={{160 title: 'Profile',161 headerLargeTitleEnabled: true,162 headerSearchBarOptions: {163 placeholder: 'Search',164 },165 }}166/>167```168169Native headers support iOS large titles, search bars, blur effects, and proper170safe area handling automatically.171172### Why Native Navigators173174- **Performance**: Native transitions and gestures run on the UI thread175- **Platform behavior**: Automatic iOS large titles, Android material design176- **System integration**: Scroll-to-top on tab tap, PiP avoidance, proper safe177 areas178- **Accessibility**: Platform accessibility features work automatically179180Reference:181182- [React Navigation Native Stack](https://reactnavigation.org/docs/native-stack-navigator)183- [React Native Bottom Tabs with React Navigation](https://oss.callstack.com/react-native-bottom-tabs/docs/guides/usage-with-react-navigation)184- [React Native Bottom Tabs with Expo Router](https://oss.callstack.com/react-native-bottom-tabs/docs/guides/usage-with-expo-router)185- [Expo Router Native Tabs](https://docs.expo.dev/router/advanced/native-tabs)186
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| nota-america/forgecat-agent-profilesprofiles/addyosmani/agent-skills/for-cursor/.cursor/rules/cmd-build.mdc · 51 | Cursor rules | no sections | 16/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/addyosmani/agent-skills/for-cursor/.cursor/rules/cmd-code-simplify.mdc · 51 | Cursor rules | testing-strategy | 30/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/addyosmani/agent-skills/for-cursor/.cursor/rules/cmd-plan.mdc · 51 | Cursor rules | no sections | 16/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/addyosmani/agent-skills/for-cursor/.cursor/rules/cmd-review.mdc · 51 | Cursor rules | no sections | 16/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/addyosmani/agent-skills/for-cursor/.cursor/rules/cmd-ship.mdc · 51 | Cursor rules | testing-strategygitdeploymentdo-not | 61/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/addyosmani/agent-skills/for-cursor/.cursor/rules/cmd-spec.mdc · 51 | Cursor rules | no sections | 16/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/addyosmani/agent-skills/for-cursor/.cursor/rules/cmd-test.mdc · 51 | Cursor rules | no sections | 16/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/addyosmani/agent-skills/for-forgecat/AGENTS.md · 51 | AGENTS.md | lint-formatstylearchdo-not | 73/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/addyosmani/agent-skills/for-forgecat/CLAUDE.md · 51 | CLAUDE.md | teststylearchagent-behaviour | 70/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/anthropics/claude-code/anthropics_claude-code_ralph-wiggum/for-cursor/.cursor/rules/cmd-cancel-ralph.mdc · 51 | Cursor rules | no sections | 16/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/anthropics/claude-code/anthropics_claude-code_ralph-wiggum/for-cursor/.cursor/rules/cmd-help.mdc · 51 | Cursor rules | no sections | 54/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/anthropics/claude-code/anthropics_claude-code_ralph-wiggum/for-cursor/.cursor/rules/cmd-ralph-loop.mdc · 51 | Cursor rules | no sections | 22/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_agent-sdk-dev/for-cursor/.cursor/rules/cmd-new-sdk-app.mdc · 51 | Cursor rules | setupstylearchdocs | 76/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_claude-md-management/for-cursor/.cursor/rules/cmd-revise-claude-md.mdc · 51 | Cursor rules | agent-behaviour | 50/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_code-review/for-cursor/.cursor/rules/cmd-code-review.mdc · 51 | Cursor rules | testing-strategygit | 35/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_commit-commands/for-cursor/.cursor/rules/cmd-clean_gone.mdc · 51 | Cursor rules | no sections | 60/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_commit-commands/for-cursor/.cursor/rules/cmd-commit-push-pr.mdc · 51 | Cursor rules | stylegit | 44/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_commit-commands/for-cursor/.cursor/rules/cmd-commit.mdc · 51 | Cursor rules | style | 44/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_example-plugin/for-cursor/.cursor/rules/cmd-example-command.mdc · 51 | Cursor rules | lint-formatstyleagent-behaviour | 58/100 | today | |
| nota-america/forgecat-agent-profilesprofiles/anthropics/claude-plugins-official/anthropics_claude-plugins-official_feature-dev/for-cursor/.cursor/rules/cmd-feature-dev.mdc · 51 | Cursor rules | stylearchgit | 56/100 | today |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126 | Cursor rules | setupbuildtestlint-format+6 | 100/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 46 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 14 days ago | |
| Allymahmoud/case-intake-platform.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| dodgecfr/combatfilms-webapp.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| deifos/clipmira-subtitles.cursor/rules/frontend.mdc · 1 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| markstev/mark-starter.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+6 | 99/100 | 14 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 14 days ago | |
| bybren-llc/safe-agentic-workflow.cursor/rules/10-backend-python.mdc · 399 | Cursor rules | testlint-formatstylegit+4 | 97/100 | today |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/nota-america-forgecat-agent-profiles-profiles-vercel-labs-agent-skills-vercel-labs-agent-skills-react-native-skills-for-cursor-cursor-rules-rule-navigation-native-navigators)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.