# Per-directory ownership and automatic assignment for pull requests. # The paths to the directory/files must be relative to the location of this # file. Wildcards such as '**', '!' are not allowed. Only glob style patterns # are allowed. For information about supported glob patterns please refer # https://docs.python.org/2/library/glob.html. # Note: The e2e test files are owned by both the dev workflow and QA teams. # - The QA team will do an initial review to verify the PR's test coverage. They # will then ask the dev workflow team for a final review. # - The dev workflow team will review the code quality to see if the e2e tests # can be optimized further. # Angular Migration team /typings/ @ankita240796 /tsconfig.json @ankita240796 # Answer classification team. /core/controllers/classifier*.py @prasanna08 /core/domain/classifier*.py @prasanna08 /core/storage/classifier/ @prasanna08 /core/templates/dev/head/domain/classifier/ @prasanna08 /extensions/classifiers/ @prasanna08 # Audio and Translation team. /core/controllers/voice_artist*.py @DubeySandeep /core/templates/dev/head/pages/exploration_editor/translation_tab/ @DubeySandeep /core/templates/dev/head/services/AudioPlayerService.ts @DubeySandeep /core/templates/dev/head/services/AutogeneratedAudioPlayerService.ts @DubeySandeep /core/templates/dev/head/services/GenerateContentIdService*.ts @DubeySandeep /core/templates/dev/head/services/SpeechSynthesisChunkerService*.ts @DubeySandeep /core/templates/dev/head/services/AssetsBackendApiService*.ts @DubeySandeep # Collection project. /core/controllers/collection*.py @kevinlee12 /core/domain/collection*.py @kevinlee12 /core/storage/collection/ @kevinlee12 /core/templates/dev/head/components/CollectionCreationService*.ts @kevinlee12 /core/templates/dev/head/domain/collection/ @kevinlee12 /core/templates/dev/head/pages/collection_editor/ @kevinlee12 /core/templates/dev/head/pages/collection_player/ @kevinlee12 # Core documentation /AUTHORS @seanlip /CHANGELOG @seanlip /CONTRIBUTORS @seanlip /LICENSE @seanlip /NOTICE @seanlip /core/templates/dev/head/pages/about/ @seanlip /core/templates/dev/head/pages/privacy/ @seanlip /core/templates/dev/head/pages/terms/ @seanlip # Dashboard pages. /core/controllers/creator_dashboard*.py @nithusha21 /core/controllers/email_dashboard*.py @nithusha21 /core/controllers/learner_dashboard*.py @nithusha21 /core/controllers/learner_playlist*.py @nithusha21 /core/controllers/subscriptions*.py @nithusha21 /core/domain/activity*.py @nithusha21 /core/domain/learner_playlist_services*.py @nithusha21 /core/domain/learner_progress*.py @nithusha21 /core/domain/subscription_services*.py @nithusha21 /core/templates/dev/head/domain/creator_dashboard/ @nithusha21 /core/templates/dev/head/domain/learner_dashboard/ @nithusha21 /core/templates/dev/head/pages/creator_dashboard/ @nithusha21 /core/templates/dev/head/pages/email_dashboard/ @nithusha21 /core/templates/dev/head/pages/learner_dashboard/ @nithusha21 /core/templates/dev/head/pages/notifications_dashboard/ @nithusha21 # Dev workflow team. /.circleci/ @apb7 /.eslintignore @apb7 /.eslintrc @apb7 /.htmllintrc @apb7 /.gitattributes @apb7 /.gitignore @apb7 /.isort.cfg @apb7 /.pylintrc @apb7 /.stylelintrc @apb7 /.travis.yml @apb7 /core/templates/dev/head/css/.stylelintrc @apb7 /tox.ini @apb7 /scripts/ @apb7 /Vagrantfile @apb7 # Exploration project. /core/controllers/editor*.py @DubeySandeep /core/controllers/reader*.py @aks681 /core/controllers/resources*.py @vojtechjelinek /core/domain/exp*.py @DubeySandeep /core/domain/fs*.py @aks681 /core/domain/param_domain*.py @aks681 /core/domain/rating_services*.py @DubeySandeep /core/domain/state_domain*.py @aks681 /core/domain/summary_services*.py @aks681 /core/domain/value_generators_domain*.py @seanlip /core/storage/exploration/ @aks681 /core/templates/dev/head/components/ExplorationCreationService*.ts @DubeySandeep /core/templates/dev/head/components/HintAndSolutionButtonsDirective*.ts @aks681 /core/templates/dev/head/components/hint_and_solution_buttons_directive.html @aks681 /core/templates/dev/head/components/state/ @aks681 /core/templates/dev/head/components/StateGraphLayoutService*.ts @DubeySandeep /core/templates/dev/head/components/version_diff_visualization_directive.html @DubeySandeep /core/templates/dev/head/components/VersionDiffVisualizationDirective*.ts @DubeySandeep /core/templates/dev/head/domain/editor/ @DubeySandeep /core/templates/dev/head/domain/exploration/ @DubeySandeep /core/templates/dev/head/domain/state/ @aks681 /core/templates/dev/head/domain/summary/ @aks681 /core/templates/dev/head/domain/state_card/ @aks681 /core/templates/dev/head/pages/exploration_editor/ @DubeySandeep /core/templates/dev/head/pages/exploration_player/ @aks681 /core/templates/dev/head/pages/state_editor/ @aks681 /core/templates/dev/head/services/ComputeGraphService.ts @DubeySandeep /core/templates/dev/head/services/ContextService*.ts @aks681 /core/templates/dev/head/services/EditabilityService*.ts @DubeySandeep /core/templates/dev/head/services/ExplorationFeatures*.ts @aks681 /core/templates/dev/head/services/ExplorationHtmlFormatterService*.ts @aks681 /core/templates/dev/head/services/ValidatorsService*.ts @DubeySandeep # Forms pages. /core/templates/dev/head/components/forms/ @DubeySandeep /core/templates/dev/head/services/SchemaDefaultValueService.ts @DubeySandeep /core/templates/dev/head/services/SchemaUndefinedLastElementService.ts @DubeySandeep # Google-app-engine configurations /appengine_config.py @seanlip /cron.yaml @seanlip /dispatch.yaml @seanlip /index.yaml @seanlip /queue.yaml @seanlip /main_taskqueue.py @seanlip # Global components and filters. /core/templates/dev/head/components/alerts/ @ankita240796 /core/templates/dev/head/components/attribution_guide/ @ankita240796 /core/templates/dev/head/components/background/ @ankita240796 /core/templates/dev/head/components/embed_modal/ @ankita240796 /core/templates/dev/head/components/loading/ @ankita240796 /core/templates/dev/head/components/profile_link/ @ankita240796 /core/templates/dev/head/components/promo/ @ankita240796 /core/templates/dev/head/components/share/ @ankita240796 /core/templates/dev/head/components/social_buttons/ @ankita240796 /core/templates/dev/head/components/summary_tile/ @ankita240796 /core/templates/dev/head/directives/FocusOnDirective*.ts @ankita240796 /core/templates/dev/head/directives/AngularHtmlBindDirective*.ts @ankita240796 /core/templates/dev/head/filters/ @ankita240796 # Global frontend services /core/templates/dev/head/services/PromoBarService*.ts @ankita240796 /core/templates/dev/head/services/HtmlEscaperService*.ts @ankita240796 /core/templates/dev/head/services/DebouncerService*.ts @ankita240796 /core/templates/dev/head/services/SiteAnalyticsService*.ts @ankita240796 /core/templates/dev/head/services/DateTimeFormatService*.ts @ankita240796 /core/templates/dev/head/services/UtilsService*.ts @ankita240796 /core/templates/dev/head/services/LocalStorageService*.ts @ankita240796 /core/templates/dev/head/services/IdGenerationService*.ts @ankita240796 /core/templates/dev/head/services/AlertsService*.ts @ankita240796 /core/templates/dev/head/services/PageTitleService*.ts @ankita240796 /core/templates/dev/head/services/ExtensionTagAssemblerService.ts @ankita240796 /core/templates/dev/head/services/NestedDirectives*.ts @ankita240796 /core/templates/dev/head/services/stateful/BackgroundMaskService*.ts @ankita240796 /core/templates/dev/head/services/stateful/FocusManagerService*.ts @ankita240796 /core/templates/dev/head/services/contextual/UrlService*.ts @ankita240796 /core/templates/dev/head/services/contextual/DeviceInfoService*.ts @ankita240796 /core/templates/dev/head/services/contextual/WindowDimensionsService*.ts @ankita240796 # Global stylesheet. /core/templates/dev/head/css/oppia.css @ankita240796 # Interaction project. /core/domain/customization_args_util*.py @DubeySandeep /core/domain/interaction_registry*.py @aks681 /core/domain/obj_services*.py @aks681 /core/templates/dev/head/components/CodemirrorMergeviewDirective*.ts @kevinlee12 /core/templates/dev/head/domain/objects/ @kevinlee12 /core/templates/dev/head/expressions/ @seanlip /core/templates/dev/head/services/CodeNormalizerService*.ts @kevinlee12 /extensions/dependencies/ @seanlip /extensions/domain*.py @seanlip /extensions/interactions/ @kevinlee12 /extensions/objects/ @aks681 /extensions/value_generators/ @seanlip /extensions/__init__.py @kevinlee12 # Lesson Analytics team. /core/controllers/features*.py @brianrodri /core/domain/action_registry*.py @brianrodri /core/domain/calculation_registry*.py @brianrodri /core/domain/event_services*.py @brianrodri /core/domain/playthrough_issue_registry*.py @brianrodri /core/domain/stats*.py @brianrodri /core/domain/visualization_registry*.py @brianrodri /core/storage/statistics/ @brianrodri /core/templates/dev/head/components/confirmation_modal_directive.html @brianrodri /core/templates/dev/head/domain/statistics/ @brianrodri /core/templates/dev/head/pages/exploration_editor/improvements_tab/ @brianrodri /core/templates/dev/head/pages/exploration_editor/statistics_tab/ @brianrodri /core/templates/dev/head/services/ImprovementCardService*.ts @brianrodri /core/templates/dev/head/services/ImprovementsService*.ts @brianrodri /core/templates/dev/head/services/MessengerService.ts @brianrodri /core/templates/dev/head/services/Playthrough*.ts @brianrodri /core/templates/dev/head/services/StateRulesStatsService*.ts @brianrodri /core/templates/dev/head/services/StateTopAnswersStats*.ts @brianrodri /extensions/actions/ @brianrodri /extensions/answer_summarizers/ @brianrodri /extensions/issues/ @brianrodri /extensions/visualizations/ @brianrodri # Library page. /core/controllers/library*.py @kevinlee12 /core/domain/recommendations*.py @seanlip /core/domain/search_services*.py @kevinlee12 /core/templates/dev/head/pages/library/ @kevinlee12 /core/templates/dev/head/services/ConstructTranslationIdsService.ts @kevinlee12 /core/templates/dev/head/services/SearchService*.ts @kevinlee12 # Navigation bar project. /core/templates/dev/head/domain/sidebar/ @nithusha21 /core/templates/dev/head/components/create_button/ @nithusha21 /core/templates/dev/head/components/side_navigation_bar/ @nithusha21 /core/templates/dev/head/components/top_navigation_bar/ @nithusha21 /core/templates/dev/head/services/NavigationService*.ts @nithusha21 # New structures team. # Question project. /core/controllers/practice_sessions*.py @vinitamurthi /core/controllers/question*.py @aks681 /core/domain/question*.py @aks681 /core/storage/question/ @aks681 /core/templates/dev/head/components/QuestionCreationService*.ts @aks681 /core/templates/dev/head/components/score_ring/ @vinitamurthi /core/templates/dev/head/domain/question/ @aks681 /core/templates/dev/head/pages/practice_session/ @vinitamurthi /core/templates/dev/head/pages/question_editor/ @aks681 /core/templates/dev/head/pages/questions_list/ @aks681 /core/templates/dev/head/pages/question_player/ @vinitamurthi # Skill project. /core/controllers/concept_card_viewer*.py @aks681 /core/controllers/skill*.py @aks681 /core/domain/skill*.py @aks681 /core/storage/skill/ @aks681 /core/templates/dev/head/components/SkillCreationService*.ts @aks681 /core/templates/dev/head/components/SummaryListHeaderDirective*.ts @aks681 /core/templates/dev/head/components/summary_list_header_directive.html @aks681 /core/templates/dev/head/domain/skill/ @aks681 /core/templates/dev/head/pages/skill_editor/ @aks681 # Story project. /core/controllers/story*.py @aks681 /core/domain/story*.py @aks681 /core/storage/story/ @aks681 /core/templates/dev/head/components/StoryCreationService.ts @aks681 /core/templates/dev/head/domain/story/ @aks681 /core/templates/dev/head/pages/story_editor/ @aks681 # Topic project. # Instead of * we have used _* to avoid topics_and_skills_dashboard related files. /core/controllers/topic_*.py @aks681 /core/domain/subtopic_page_domain*.py @aks681 /core/domain/subtopic_page_services*.py @aks681 /core/domain/topic*.py @aks681 /core/storage/topic/ @aks681 /core/templates/dev/head/components/TopicCreationService.ts @aks681 /core/templates/dev/head/domain/topic/ @aks681 /core/templates/dev/head/domain/topic_viewer @aks681 /core/templates/dev/head/pages/topic_editor/ @aks681 /core/templates/dev/head/pages/topic_viewer/ @aks681 # Topics and skills dashboard project. /core/controllers/subtopic_viewer*.py @aks681 /core/controllers/topics_and_skills_dashboard*.py @aks681 /core/templates/dev/head/domain/topics_and_skills_dashboard/ @aks681 /core/templates/dev/head/pages/topics_and_skills_dashboard/ @aks681 # Infrastructure. /core/controllers/cron*.py @seanlip /main_cron.py @seanlip /main_mail.py @aks681 /main.py @seanlip @nithusha21 /feconf.py @seanlip @nithusha21 /constants*.py @seanlip @nithusha21 /assets/constants.js @seanlip @nithusha21 /core/controllers/incoming_emails*.py @aks681 /core/controllers/tasks*.py @aks681 /core/domain/email*.py @aks681 /core/domain/prod_validation_jobs_one_off*.py @seanlip /core/jobs*.py @seanlip /core/platform/ @seanlip /core/templates/dev/head/App*.ts @ankita240796 /core/templates/dev/head/I18nFooter.ts @seanlip /core/templates/dev/head/services/TranslationFileHashLoaderService.ts @seanlip # Miscellaneous. /__init__.py @DubeySandeep /core/__init__.py @DubeySandeep /core/controllers/__init__.py @DubeySandeep /core/domain/__init__.py @DubeySandeep /core/domain/config*.py @seanlip /core/templates/dev/head/pages/tests/ @seanlip /core/templates/dev/head/domain/utilities/ @DubeySandeep /schema_utils*.py @seanlip /utils*.py @aks681 # Restricted pages. /core/controllers/admin*.py @seanlip /core/controllers/moderator*.py @seanlip /core/controllers/recent_commits*.py @seanlip /core/domain/moderator_services*.py @seanlip /core/templates/dev/head/pages/admin/ @seanlip /core/templates/dev/head/pages/moderator/ @seanlip # QA team. /core/tests/ @apb7 @nithusha21 /assets/ @nithusha21 /data/ @nithusha21 # Rich text editor team. /core/domain/rte_component_registry*.py @AllanYangZhou @bansalnitish /core/templates/dev/head/components/CkEditorRteDirective.ts @AllanYangZhou @bansalnitish /core/templates/dev/head/directives/MathjaxBindDirective.ts @AllanYangZhou @bansalnitish /core/templates/dev/head/mathjaxConfig.ts @AllanYangZhou @bansalnitish /extensions/rich_text_components/ @AllanYangZhou @bansalnitish /core/templates/dev/head/components/CkEditorWidgetsInitializer.ts @AllanYangZhou @bansalnitish /core/templates/dev/head/components/rich_text_components.html @AllanYangZhou @bansalnitish /core/templates/dev/head/services/AutoplayedVideosService*.ts @AllanYangZhou @bansalnitish /core/templates/dev/head/services/RteHelperService*.ts @AllanYangZhou @bansalnitish /extensions/ckeditor_plugins/ @AllanYangZhou @bansalnitish /assets/rich_text_components_definitions.js @AllanYangZhou @bansalnitish # Suggestion and feedback team. # Suggestion project. /core/controllers/suggestion*.py @nithusha21 /core/domain/suggestion*.py @nithusha21 /core/storage/suggestion/ @nithusha21 /core/templates/dev/head/domain/suggestion/ @nithusha21 /core/templates/dev/head/pages/suggestion_editor/ @nithusha21 # Feedback project. /core/controllers/feedback*.py @nithusha21 /core/domain/feedback*.py @nithusha21 /core/storage/feedback/ @nithusha21 /core/templates/dev/head/components/rating_display_directive.html @nithusha21 /core/templates/dev/head/components/RatingComputationService*.ts @nithusha21 /core/templates/dev/head/components/RatingDisplayDirective*.ts @nithusha21 /core/templates/dev/head/domain/feedback_message/ @nithusha21 /core/templates/dev/head/domain/feedback_thread/ @nithusha21 /core/templates/dev/head/pages/exploration_editor/feedback_tab/ @nithusha21 # Simple pages. /core/controllers/pages*.py @vojtechjelinek /core/controllers/custom_landing_pages*.py @vojtechjelinek /core/templates/dev/head/pages/contact/ @vojtechjelinek /core/templates/dev/head/pages/donate/ @vojtechjelinek /core/templates/dev/head/pages/error/ @vojtechjelinek /core/templates/dev/head/pages/get_started/ @vojtechjelinek /core/templates/dev/head/pages/landing/ @vojtechjelinek /core/templates/dev/head/pages/maintenance/ @vojtechjelinek /core/templates/dev/head/pages/preferences/ @vojtechjelinek /core/templates/dev/head/pages/signup/ @vojtechjelinek /core/templates/dev/head/pages/splash/ @vojtechjelinek /core/templates/dev/head/pages/teach/ @vojtechjelinek /core/templates/dev/head/pages/thanks/ @vojtechjelinek # Speed Improvement team. /app.yaml @vojtechjelinek /core/templates/dev/head/pages/Base.ts @vojtechjelinek /core/templates/dev/head/pages/base.html @vojtechjelinek /core/templates/dev/head/pages/oppia_footer_directive.html @vojtechjelinek /core/templates/dev/head/pages/OppiaFooterDirective.ts @vojtechjelinek /core/templates/dev/head/pages/footer_js_libs.html @vojtechjelinek /core/templates/dev/head/pages/header_css_libs.html @vojtechjelinek /core/templates/dev/head/pages/header_js_libs.html @vojtechjelinek /gulpfile.js @vojtechjelinek /jinja_utils*.py @vojtechjelinek /webpack.config.ts @vojtechjelinek /webpack.dev.config.ts @vojtechjelinek /webpack.prod.config.ts @vojtechjelinek # Typings. /typings @ankita240796 # User’s profile page. /core/controllers/profile*.py @kevinlee12 /core/templates/dev/head/domain/user/ @kevinlee12 /core/templates/dev/head/pages/profile/ @kevinlee12 /core/templates/dev/head/services/UserService*.ts @kevinlee12 # Critical files. # # IMPORTANT NOTE: Please ensure that these files are always located at the end # of the CODEOWNERS file, since later rows override earlier ones. For details, # see the example at the bottom of this page: # # https://help.github.com/en/articles/about-code-owners # /core/controllers/acl_decorators*.py @seanlip /core/controllers/base*.py @seanlip /core/domain/dependency_registry*.py @seanlip /core/domain/html*.py @seanlip /core/domain/rights_manager*.py @seanlip /core/domain/role_services*.py @seanlip /core/storage/ @seanlip /core/domain/user*.py @seanlip /export/ @seanlip /manifest.json @seanlip @vojtechjelinek /package*.json @seanlip @vojtechjelinek /scripts/install_third_party.sh @seanlip @vojtechjelinek /.github/ @seanlip