Skip to content

Add comprehensive architecture documentation#8229

Open
yedidyak wants to merge 3 commits intomasterfrom
add-architecture-documentation
Open

Add comprehensive architecture documentation#8229
yedidyak wants to merge 3 commits intomasterfrom
add-architecture-documentation

Conversation

@yedidyak
Copy link
Contributor

@yedidyak yedidyak commented Feb 5, 2026

Summary

  • Add ARCHITECTURE.md files documenting the project structure and internals
  • Provide complete reference for understanding how the library works
  • Cover both iOS and Android native implementations
  • Document the JavaScript/TypeScript layer and processing pipeline

Documentation Added

File Description
ARCHITECTURE.md High-level overview: layout types, commands, data flow, patterns
src/ARCHITECTURE.md JS/TS layer: adapters, commands, events, processors
ios/ARCHITECTURE.md iOS: UIKit controllers, presenters, TurboModule support
android/ARCHITECTURE.md Android: ViewControllers, options, animations

Key Topics Covered

  • Project structure and directory layout
  • Layout types (component, stack, bottomTabs, topTabs, sideMenu, splitView, externalComponent)
  • Command execution flow (10-step pipeline)
  • Native bridge architecture (legacy bridge + TurboModule)
  • Component lifecycle events
  • Options system and merge hierarchy
  • Presenter pattern for styling
  • Animation system
  • Testing architecture

Test plan

  • All paths verified against actual codebase
  • Class names and method signatures verified
  • Event names verified against source code
  • Directory structures verified

🤖 Generated with Claude Code

yedidyak and others added 2 commits February 5, 2026 16:03
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>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.md with high-level overview of the library's architecture, layout types, command flow, and core concepts
  • Added src/ARCHITECTURE.md documenting the JavaScript/TypeScript layer including the processing pipeline, adapters, commands, events, and processors
  • Added ios/ARCHITECTURE.md covering iOS UIKit implementation, view controller hierarchy, presenter pattern, and TurboModule support
  • Added android/ARCHITECTURE.md documenting 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)
Copy link

Copilot AI Feb 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.

- **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)
Copy link

Copilot AI Feb 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
- **React Native**: 0.77+ (developed against 0.83; see package.json for current version)
- **React Native**: See `package.json` peerDependencies for supported versions.

Copilot uses AI. Check for mistakes.
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant