gitextract_kfzn5wba/ ├── .fvmrc ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .metadata ├── .vscode/ │ └── settings.json ├── AGENTS.md ├── LICENSE ├── README.md ├── README_EN.md ├── RECORD.md ├── UISCENE_PLUGIN_RISK.md ├── VERSION.md ├── analysis_options.yaml ├── android/ │ ├── .gitignore │ ├── app/ │ │ ├── build.gradle │ │ ├── exported.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── kotlin/ │ │ │ └── com/ │ │ │ └── shuyu/ │ │ │ └── gsygithub/ │ │ │ └── gsygithubappflutter/ │ │ │ ├── MainActivity.kt │ │ │ └── UpdateAlbumPlugin.kt │ │ └── res/ │ │ ├── drawable/ │ │ │ ├── launch_background.xml │ │ │ └── normal_background.xml │ │ └── values/ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── gsygithubapp-debug.jks │ └── settings.gradle ├── devtools_options.yaml ├── docs/ │ ├── 00-overview/ │ │ └── project-map.md │ ├── 01-architecture/ │ │ ├── app-layering.md │ │ └── state-management-matrix.md │ ├── 02-features/ │ │ ├── debug.md │ │ ├── dynamic.md │ │ ├── home.md │ │ ├── issue.md │ │ ├── login.md │ │ ├── notify.md │ │ ├── push.md │ │ ├── release.md │ │ ├── repos.md │ │ ├── search.md │ │ ├── trend.md │ │ └── user.md │ ├── 03-runbooks/ │ │ └── local-setup.md │ ├── 04-quality/ │ │ ├── smoke-matrix.md │ │ └── test-strategy.md │ ├── 05-ai/ │ │ ├── agent-guide.md │ │ ├── feature-playbooks/ │ │ │ ├── debug-change.md │ │ │ ├── dynamic-change.md │ │ │ ├── home-change.md │ │ │ ├── issue-change.md │ │ │ ├── notify-change.md │ │ │ ├── push-change.md │ │ │ ├── release-change.md │ │ │ ├── repos-change.md │ │ │ ├── search-change.md │ │ │ ├── trend-change.md │ │ │ └── user-change.md │ │ ├── prompts/ │ │ │ ├── author-handoff.md │ │ │ └── reviewer-system.md │ │ ├── review-harness.md │ │ └── task-playbooks/ │ │ ├── add-api.md │ │ ├── add-page.md │ │ ├── fix-bug.md │ │ └── refactor-state.md │ ├── 06-decisions/ │ │ ├── ADR-0001-状态管理收敛策略.md │ │ ├── ADR-0002-新增功能默认状态方案.md │ │ └── README.md │ ├── CONTRIBUTING_AI.md │ └── README.md ├── fastlane/ │ └── metadata/ │ └── android/ │ └── en-US/ │ ├── full_description.txt │ └── short_description.txt ├── ios/ │ ├── .gitignore │ ├── Flutter/ │ │ ├── AppFrameworkInfo.plist │ │ ├── Debug.xcconfig │ │ ├── Release.xcconfig │ │ └── ephemeral/ │ │ ├── flutter_lldb_helper.py │ │ └── flutter_lldbinit │ ├── Podfile │ ├── Runner/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ └── LaunchImage.imageset/ │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── Runner-Bridging-Header.h │ │ └── SceneDelegate.swift │ ├── Runner.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Runner.xcscheme │ └── Runner.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ └── IDEWorkspaceChecks.plist ├── l10n.yaml ├── lib/ │ ├── app.dart │ ├── common/ │ │ ├── config/ │ │ │ └── config.dart │ │ ├── event/ │ │ │ ├── event_bus.dart │ │ │ ├── http_error_event.dart │ │ │ └── index.dart │ │ ├── local/ │ │ │ └── local_storage.dart │ │ ├── localization/ │ │ │ ├── extension.dart │ │ │ └── l10n/ │ │ │ ├── app_en.arb │ │ │ ├── app_ja.arb │ │ │ ├── app_ko.arb │ │ │ ├── app_localizations.dart │ │ │ ├── app_localizations_en.dart │ │ │ ├── app_localizations_ja.dart │ │ │ ├── app_localizations_ko.dart │ │ │ ├── app_localizations_zh.dart │ │ │ └── app_zh.arb │ │ ├── logger.dart │ │ ├── net/ │ │ │ ├── AGENTS.md │ │ │ ├── address.dart │ │ │ ├── api.dart │ │ │ ├── code.dart │ │ │ ├── graphql/ │ │ │ │ ├── client.dart │ │ │ │ ├── repositories.dart │ │ │ │ └── users.dart │ │ │ ├── interceptors/ │ │ │ │ ├── error_interceptor.dart │ │ │ │ ├── header_interceptor.dart │ │ │ │ ├── log_interceptor.dart │ │ │ │ ├── response_interceptor.dart │ │ │ │ └── token_interceptor.dart │ │ │ ├── result_data.dart │ │ │ ├── transformer.dart │ │ │ ├── transformer.g.dart │ │ │ └── trending/ │ │ │ └── github_trending.dart │ │ ├── repositories/ │ │ │ ├── data_result.dart │ │ │ ├── event_repository.dart │ │ │ ├── issue_repository.dart │ │ │ ├── repos_repository.dart │ │ │ └── user_repository.dart │ │ ├── router/ │ │ │ └── anima_route.dart │ │ ├── style/ │ │ │ └── gsy_style.dart │ │ ├── toast.dart │ │ └── utils/ │ │ ├── code_utils.dart │ │ ├── common_utils.dart │ │ ├── event_utils.dart │ │ ├── html_utils.dart │ │ └── navigator_utils.dart │ ├── db/ │ │ ├── provider/ │ │ │ ├── event/ │ │ │ │ ├── received_event_db_provider.dart │ │ │ │ └── user_event_db_provider.dart │ │ │ ├── issue/ │ │ │ │ ├── issue_comment_db_provider.dart │ │ │ │ └── issue_detail_db_provider.dart │ │ │ ├── repos/ │ │ │ │ ├── read_history_db_provider.dart │ │ │ │ ├── repository_branch_db_provider.dart │ │ │ │ ├── repository_commitInfo_detail_db_provider.dart │ │ │ │ ├── repository_commits_db_provider.dart │ │ │ │ ├── repository_detail_db_provider.dart │ │ │ │ ├── repository_detail_readme_db_provider.dart │ │ │ │ ├── repository_event_db_provider.dart │ │ │ │ ├── repository_fork_db_provider.dart │ │ │ │ ├── repository_issue_db_provider.dart │ │ │ │ ├── repository_pulse_db_provider.dart │ │ │ │ ├── repository_star_db_provider.dart │ │ │ │ ├── repository_watcher_db_provider.dart │ │ │ │ └── trend_repository_db_provider.dart │ │ │ └── user/ │ │ │ ├── org_member_db_provider.dart │ │ │ ├── user_followed_db_provider.dart │ │ │ ├── user_follower_db_provider.dart │ │ │ ├── user_orgs_db_provider.dart │ │ │ ├── user_repos_db_provider.dart │ │ │ ├── user_stared_db_provider.dart │ │ │ └── userinfo_db_provider.dart │ │ ├── sql_manager.dart │ │ └── sql_provider.dart │ ├── env/ │ │ ├── AGENTS.md │ │ ├── config_wrapper.dart │ │ ├── dev.dart │ │ ├── dev.g.dart │ │ ├── env_config.dart │ │ ├── env_config.g.dart │ │ ├── env_json_dev.json │ │ ├── env_json_prod.json │ │ ├── prod.dart │ │ └── prod.g.dart │ ├── main.dart │ ├── main_prod.dart │ ├── model/ │ │ ├── branch.dart │ │ ├── branch.g.dart │ │ ├── commitFile.dart │ │ ├── commitFile.g.dart │ │ ├── commit_comment.dart │ │ ├── commit_comment.g.dart │ │ ├── commit_git_info.dart │ │ ├── commit_git_info.g.dart │ │ ├── commit_git_user.dart │ │ ├── commit_git_user.g.dart │ │ ├── commit_stats.dart │ │ ├── commit_stats.g.dart │ │ ├── commits_comparison.dart │ │ ├── commits_comparison.g.dart │ │ ├── common_list_datatype.dart │ │ ├── download_source.dart │ │ ├── download_source.g.dart │ │ ├── event.dart │ │ ├── event.g.dart │ │ ├── event_payload.dart │ │ ├── event_payload.g.dart │ │ ├── file_model.dart │ │ ├── file_model.g.dart │ │ ├── issue.dart │ │ ├── issue.g.dart │ │ ├── issue_event.dart │ │ ├── issue_event.g.dart │ │ ├── license.dart │ │ ├── license.g.dart │ │ ├── notification.dart │ │ ├── notification.g.dart │ │ ├── notification_subject.dart │ │ ├── notification_subject.g.dart │ │ ├── push_commit.dart │ │ ├── push_commit.g.dart │ │ ├── push_event_commit.dart │ │ ├── push_event_commit.g.dart │ │ ├── release.dart │ │ ├── release.g.dart │ │ ├── release_asset.dart │ │ ├── release_asset.g.dart │ │ ├── repo_commit.dart │ │ ├── repo_commit.g.dart │ │ ├── repository.dart │ │ ├── repository.g.dart │ │ ├── repository_permissions.dart │ │ ├── repository_permissions.g.dart │ │ ├── repository_ql.dart │ │ ├── search_user_ql.dart │ │ ├── template.dart │ │ ├── template.g.dart │ │ ├── trending_repo_model.dart │ │ ├── trending_repo_model.g.dart │ │ ├── user.dart │ │ ├── user.g.dart │ │ ├── user_org.dart │ │ └── user_org.g.dart │ ├── page/ │ │ ├── AGENTS.md │ │ ├── code_detail_page_web.dart │ │ ├── common_list_page.dart │ │ ├── debug/ │ │ │ ├── debug_data_page.dart │ │ │ └── debug_label.dart │ │ ├── dynamic/ │ │ │ ├── dynamic_bloc.dart │ │ │ └── dynamic_page.dart │ │ ├── error_page.dart │ │ ├── gsy_webview.dart │ │ ├── home/ │ │ │ ├── home_page.dart │ │ │ └── widget/ │ │ │ └── home_drawer.dart │ │ ├── honor_list_page.dart │ │ ├── issue/ │ │ │ ├── issue_detail_page.dart │ │ │ ├── issue_edit_dIalog.dart │ │ │ └── widget/ │ │ │ ├── issue_header_item.dart │ │ │ └── issue_item.dart │ │ ├── login/ │ │ │ ├── login_page.dart │ │ │ └── login_webview.dart │ │ ├── my_page.dart │ │ ├── notify/ │ │ │ └── notify_page.dart │ │ ├── photoview_page.dart │ │ ├── push/ │ │ │ ├── push_detail_page.dart │ │ │ └── widget/ │ │ │ ├── push_coed_item.dart │ │ │ └── push_header.dart │ │ ├── release/ │ │ │ ├── release_page.dart │ │ │ └── widget/ │ │ │ └── release_item.dart │ │ ├── repos/ │ │ │ ├── provider/ │ │ │ │ ├── repos_detail_provider.dart │ │ │ │ └── repos_network_provider.dart │ │ │ ├── repository_detail_issue_list_page.dart │ │ │ ├── repository_detail_page.dart │ │ │ ├── repository_detail_readme_page.dart │ │ │ ├── repository_file_list_page.dart │ │ │ ├── repostory_detail_info_page.dart │ │ │ └── widget/ │ │ │ ├── repos_header_item.dart │ │ │ └── repos_item.dart │ │ ├── search/ │ │ │ ├── search_bloc.dart │ │ │ ├── search_page.dart │ │ │ └── widget/ │ │ │ ├── gsy_search_drawer.dart │ │ │ └── gsy_search_input_widget.dart │ │ ├── trend/ │ │ │ ├── trend_page.dart │ │ │ ├── trend_provider.dart │ │ │ ├── trend_provider.g.dart │ │ │ ├── trend_user_page.dart │ │ │ ├── trend_user_provider.dart │ │ │ └── trend_user_provider.g.dart │ │ ├── user/ │ │ │ ├── base_person_provider.dart │ │ │ ├── base_person_provider.g.dart │ │ │ ├── base_person_state.dart │ │ │ ├── person_page.dart │ │ │ └── widget/ │ │ │ ├── user_header.dart │ │ │ └── user_item.dart │ │ ├── user_profile_page.dart │ │ └── welcome_page.dart │ ├── provider/ │ │ ├── app_state_provider.dart │ │ └── app_state_provider.g.dart │ ├── redux/ │ │ ├── gsy_state.dart │ │ ├── login_redux.dart │ │ ├── middleware/ │ │ │ ├── combine_epics.dart │ │ │ ├── epic.dart │ │ │ ├── epic_middleware.dart │ │ │ └── epic_store.dart │ │ └── user_redux.dart │ ├── test/ │ │ ├── demo_app.dart │ │ ├── demo_appbar.dart │ │ ├── demo_bloc_page.dart │ │ ├── demo_db.dart │ │ ├── demo_item.dart │ │ ├── demo_mixins.dart │ │ ├── demo_page.dart │ │ ├── demo_tab_page.dart │ │ ├── demo_text_field_page.dart │ │ ├── demo_user_store.dart │ │ └── demo_widget.dart │ └── widget/ │ ├── anima/ │ │ └── curves_bezier.dart │ ├── animated_background.dart │ ├── diff_scale_text.dart │ ├── flutter_json_widget.dart │ ├── gsy_bottom_action_bar.dart │ ├── gsy_card_item.dart │ ├── gsy_common_option_widget.dart │ ├── gsy_event_item.dart │ ├── gsy_flex_button.dart │ ├── gsy_icon_text.dart │ ├── gsy_input_widget.dart │ ├── gsy_select_item_widget.dart │ ├── gsy_tabbar_widget.dart │ ├── gsy_tabs.dart │ ├── gsy_title_bar.dart │ ├── gsy_user_icon_widget.dart │ ├── markdown/ │ │ ├── gsy_markdown_widget.dart │ │ └── syntax_high_lighter.dart │ ├── menu/ │ │ ├── flutter_radial_menu.dart │ │ └── src/ │ │ ├── arc_progress_indicator.dart │ │ ├── radial_menu.dart │ │ ├── radial_menu_button.dart │ │ ├── radial_menu_center_button.dart │ │ └── radial_menu_item.dart │ ├── mole_widget.dart │ ├── never_overscroll_indicator.dart │ ├── only_share_widget.dart │ ├── particle/ │ │ ├── particle_model.dart │ │ ├── particle_painter.dart │ │ └── particle_widget.dart │ ├── pull/ │ │ ├── custom_bouncing_scroll_physics.dart │ │ ├── gsy_flare_mutli_pull_controller.dart │ │ ├── gsy_flare_pull_controller.dart │ │ ├── gsy_pull_load_widget.dart │ │ ├── gsy_pull_new_load_widget.dart │ │ ├── gsy_refresh_sliver.dart │ │ └── nested/ │ │ ├── gsy_nested_pull_load_widget.dart │ │ ├── gsy_sliver_header_delegate.dart │ │ └── nested_refresh.dart │ └── state/ │ └── gsy_list_state.dart ├── pubspec.yaml ├── static/ │ ├── file/ │ │ ├── Space-Demo.flr │ │ ├── flare_flutter_logo_.flr │ │ ├── launch.riv │ │ ├── loading_world_now.flr │ │ ├── rejection.json │ │ ├── rejection2.json │ │ ├── search.json │ │ └── user.json │ └── font/ │ ├── demo.css │ ├── demo_fontclass.html │ ├── demo_symbol.html │ ├── demo_unicode.html │ ├── iconfont.css │ └── iconfont.js └── tool/ └── ai/ └── build_review_bundle.ps1