Add comprehensive architecture documentation#8229
Conversation
Add ARCHITECTURE.md files documenting the project structure and internals: - Root ARCHITECTURE.md: High-level overview, layout types, data flow, patterns - src/ARCHITECTURE.md: JavaScript/TypeScript layer, adapters, commands, events - ios/ARCHITECTURE.md: iOS native implementation, UIKit controllers, presenters - android/ARCHITECTURE.md: Android native implementation, ViewControllers, options These documents provide a complete reference for understanding how the library works, including the processing pipeline, native bridges (TurboModule support), component lifecycle, and platform-specific implementations. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This pull request adds comprehensive architecture documentation to help developers understand the internal structure and implementation details of react-native-navigation. The PR introduces four new ARCHITECTURE.md files covering the high-level architecture, JavaScript/TypeScript layer, iOS native implementation, and Android native implementation.
Changes:
- Added root
ARCHITECTURE.mdwith high-level overview of the library's architecture, layout types, command flow, and core concepts - Added
src/ARCHITECTURE.mddocumenting the JavaScript/TypeScript layer including the processing pipeline, adapters, commands, events, and processors - Added
ios/ARCHITECTURE.mdcovering iOS UIKit implementation, view controller hierarchy, presenter pattern, and TurboModule support - Added
android/ARCHITECTURE.mddocumenting the Android View-based architecture, ViewController hierarchy, and navigation components
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| ARCHITECTURE.md | Provides high-level architecture overview, explains layout types, data flow, and links to platform-specific documentation |
| src/ARCHITECTURE.md | Documents JavaScript/TypeScript layer architecture including module structure, processing pipeline, adapters, commands, events, and processors |
| ios/ARCHITECTURE.md | Details iOS native implementation with UIKit controllers, presenter pattern, TurboModule support, options system, and animations |
| android/ARCHITECTURE.md | Explains Android native architecture using View-based ViewControllers, navigation types, options system, and lifecycle management |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ## Project Overview | ||
|
|
||
| - **Package**: `react-native-navigation` (v8.7.0) | ||
| - **Platforms**: iOS 11+, Android 7.0+ (API 24) |
There was a problem hiding this comment.
There's a discrepancy between the Android API level requirement stated in this file and the README.md. This file states "Android 7.0+ (API 24)" while README.md line 33 states "Android 5.0 (API 21)". Please verify the correct minimum API level and ensure consistency across documentation files.
|
|
||
| - **Package**: `react-native-navigation` (v8.7.0) | ||
| - **Platforms**: iOS 11+, Android 7.0+ (API 24) | ||
| - **React Native**: 0.77+ (developed against 0.83; see package.json for current version) |
There was a problem hiding this comment.
The React Native version requirement "0.77+" cannot be verified against the codebase. The package.json peerDependencies specifies "react-native": "*" (any version), and there's no documentation elsewhere confirming 0.77 as the minimum version. Consider either removing the specific version requirement or providing evidence/documentation for this claim. If there is a known minimum version, it should be reflected in package.json or documented elsewhere in the project.
| - **React Native**: 0.77+ (developed against 0.83; see package.json for current version) | |
| - **React Native**: See `package.json` peerDependencies for supported versions. |
Document how users integrate the library into their apps: iOS: - RNNAppDelegate base class and what it does - ReactNativeNavigation bootstrap methods - AppDelegateLinker transformations (Swift/Obj-C) Android: - NavigationApplication and NavigationActivity base classes - NavigationReactNativeHost usage - ApplicationLinker and ActivityLinker transformations Also documents what `npx rnn-link` automates for each platform. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Summary
ARCHITECTURE.mdfiles documenting the project structure and internalsDocumentation Added
ARCHITECTURE.mdsrc/ARCHITECTURE.mdios/ARCHITECTURE.mdandroid/ARCHITECTURE.mdKey Topics Covered
Test plan
🤖 Generated with Claude Code