Add CODEOWNERS for automated PR review assignment

Assigns reviewers based on 3 years of commit activity,
restricted to Apache Thrift committers per the PMC roster.
Covers compiler generators, language libs, tests, tutorials,
CI, build, and documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

This closes #3394
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 0000000..977d391
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,156 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# .github/CODEOWNERS
+# Only lists active Apache Thrift committers (PMC/committer role).
+# Based on commit activity 2023-04 through 2026-04.
+#
+# References:
+#   PMC roster:  https://people.apache.org/phonebook.html?project=thrift
+#   Committers:  https://people.apache.org/phonebook.html?project=thrift
+#
+# NOTE: GitHub requires CODEOWNERS entries to reference users with
+#       write access to the repository.
+
+# ── Compiler ───────────────────────────────────────────────────
+#
+# Core (parser, lexer, AST, common infrastructure)
+/compiler/                    @Jens-G @fishy @mhlakhani
+
+# Per-language code generators (override the broad /compiler/ rule)
+/compiler/cpp/src/thrift/generate/t_c_glib_generator.*       @mhlakhani
+/compiler/cpp/src/thrift/generate/t_cpp_generator.*          @emmenlau @mhlakhani
+/compiler/cpp/src/thrift/generate/t_netstd_generator.*       @Jens-G
+/compiler/cpp/src/thrift/generate/t_delphi_generator.*       @Jens-G
+/compiler/cpp/src/thrift/generate/t_go_generator.*           @fishy
+/compiler/cpp/src/thrift/generate/go_validator_generator.*   @fishy
+/compiler/cpp/src/thrift/generate/t_haxe_generator.*         @Jens-G
+/compiler/cpp/src/thrift/generate/t_java_generator.*         @jimexist @fishy
+/compiler/cpp/src/thrift/generate/t_js_generator.*           @Jens-G @emmenlau
+/compiler/cpp/src/thrift/generate/t_kotlin_generator.*       @jimexist
+/compiler/cpp/src/thrift/generate/t_py_generator.*           @mhlakhani
+/compiler/cpp/src/thrift/generate/t_rs_generator.*           @jimexist @mhlakhani
+/compiler/cpp/src/thrift/generate/t_gv_generator.*           @Jens-G
+/compiler/cpp/src/thrift/generate/t_html_generator.*         @Jens-G
+/compiler/cpp/src/thrift/generate/t_markdown_generator.*     @Jens-G
+
+# Generators without a dedicated committer:
+# t_cl_generator.*, t_d_generator.*, t_dart_generator.*,
+# t_erl_generator.*, t_lua_generator.*, t_ocaml_generator.*,
+# t_perl_generator.*, t_rb_generator.*, t_php_generator.*,
+# t_st_generator.*, t_javame_generator.*, t_swift_generator.*,
+# t_json_generator.*, t_xml_generator.*, t_xsd_generator.*
+
+# Per-language tests
+/compiler/cpp/tests/netcore     @Jens-G
+/compiler/cpp/tests/cpp         @emmenlau @mhlakhani
+
+# Per-language tests without dedicated committer
+# /compiler/cpp/tests/ocaml
+
+
+
+# ── Language libraries, tests, and tutorials ───────────────────
+#
+# Each language block covers lib/, test/, and tutorial/ together.
+# Owners reflect committers active in that area over the last 3 years.
+
+# C / C++
+/lib/c_glib/                  @mhlakhani
+/test/c_glib/                 @mhlakhani
+/tutorial/c_glib/             @mhlakhani
+/lib/cpp/                     @emmenlau @mhlakhani
+/test/cpp/                    @emmenlau @mhlakhani
+/tutorial/cpp/                @emmenlau @mhlakhani
+
+# .NET
+/lib/netstd/                  @Jens-G
+/test/netstd/                 @Jens-G
+/tutorial/netstd/             @Jens-G
+
+# Delphi
+/lib/delphi/                  @Jens-G
+/test/delphi/                 @Jens-G
+/tutorial/delphi/             @Jens-G
+
+# Go
+/lib/go/                      @fishy
+/test/go/                     @fishy
+/tutorial/go/                 @fishy
+
+# Haxe
+/lib/haxe/                    @Jens-G
+/test/haxe/                   @Jens-G
+/tutorial/haxe/               @Jens-G
+
+# Java
+/lib/java/                    @jimexist @fishy
+/tutorial/java/               @jimexist @fishy
+
+# JavaScript / TypeScript / Node
+/lib/js/                      @emmenlau
+/lib/nodejs/                  @emmenlau
+/lib/nodets/                  @emmenlau
+/lib/ts/                      @emmenlau
+/tutorial/js/                 @emmenlau
+/tutorial/nodejs/             @emmenlau
+
+# Kotlin
+/lib/kotlin/                  @jimexist
+
+# Python
+/lib/py/                      @mhlakhani
+/test/py/                     @mhlakhani
+/test/py.tornado/             @mhlakhani
+/test/py.twisted/             @mhlakhani
+/tutorial/py/                 @mhlakhani
+/tutorial/py.tornado/         @mhlakhani
+/tutorial/py.twisted/         @mhlakhani
+
+# Rust
+/lib/rs/                      @jimexist @mhlakhani
+/test/rs/                     @jimexist @mhlakhani
+/tutorial/rs/                 @jimexist @mhlakhani
+
+# The following languages have no dedicated committer with recent activity.
+#
+# Common Lisp:  /lib/cl/   /test/cl/   /tutorial/cl/
+# D:            /lib/d/                 /tutorial/d/
+# Dart:         /lib/dart/ /test/dart/  /tutorial/dart/
+# Erlang:       /lib/erl/  /test/erl/  /tutorial/erl/
+# Lua:          /lib/lua/  /test/lua/
+# OCaml:        /lib/ocaml/ /test/ocaml/ /tutorial/ocaml/
+# Perl:         /lib/perl/ /test/perl/  /tutorial/perl/
+# Smalltalk:    /lib/st/
+# Swift:		/lib/swift/   /test/swift/   /tutorial/swift/    
+
+# ── CI / GitHub Actions ───────────────────────────────────────
+/.github/                     @fishy @Jens-G @jimexist
+
+# ── Build system ──────────────────────────────────────────────
+/build/                       @Jens-G
+
+# ── Cross-language test infrastructure ────────────────────────
+# /test/crossrunner/          add and uncomment as needed
+# /test/features/             add and uncomment as needed
+
+# ── Documentation & project governance ────────────────────────
+/doc/                         @Jens-G
+
+# eof