Add pja-ant (Peter Alexander) as core maintainer (#40)

* Add pja-ant (Peter Alexander) as core maintainer

* Add validation for alphabetical member ordering in users.ts

- Added validation in validate-config.ts that checks:
  1. GitHub members are sorted alphabetically (case-insensitive)
  2. Email-only members come after all GitHub members
- Sorted existing users.ts entries to pass the new validation
This commit is contained in:
David Soria Parra 2026-01-22 20:21:27 +00:00 • committed by GitHub
commit 46c864c0bc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 100 additions and 48 deletions

View file

@ -55,6 +55,49 @@ for (const member of MEMBERS) {
}
}
// Validate member ordering in users.ts
console.log('Validating member ordering in users.ts...');
{
// Split members into github members and email-only members
const githubMembers: (typeof MEMBERS)[number][] = [];
const emailOnlyMembers: (typeof MEMBERS)[number][] = [];
for (const member of MEMBERS) {
if (member.github) {
githubMembers.push(member);
} else if (member.email) {
emailOnlyMembers.push(member);
}
}
// Check that github members come before email-only members
let foundEmailOnly = false;
for (const member of MEMBERS) {
if (!member.github && member.email) {
foundEmailOnly = true;
} else if (member.github && foundEmailOnly) {
console.error(
`ERROR: Member "${member.github}" appears after email-only members. GitHub members should come before email-only members.`
);
hasErrors = true;
break;
}
}
// Check that github members are sorted alphabetically (case-insensitive)
for (let i = 1; i < githubMembers.length; i++) {
const prev = githubMembers[i - 1].github!.toLowerCase();
const curr = githubMembers[i].github!.toLowerCase();
if (prev > curr) {
console.error(
`ERROR: Members are not sorted alphabetically. "${githubMembers[i - 1].github}" should come after "${githubMembers[i].github}".`
);
hasErrors = true;
break;
}
}
}
// Validate parent role references in roles.ts
console.log('Validating parent role references in roles.ts...');
for (const role of ROLES) {

View file

@ -7,35 +7,6 @@ export const MEMBERS: readonly Member[] = [
discord: '1360717264051241071',
memberOf: [ROLE_IDS.CORE_MAINTAINERS],
},
{
github: 'CodeWithKyrian',
discord: '951883230250946633',
memberOf: [ROLE_IDS.PHP_SDK],
},
{
github: 'D-McAdams',
discord: '1364696680980545697',
memberOf: [ROLE_IDS.AUTH_WG],
},
{
github: 'Kehrlann',
discord: '1112624611901837373',
memberOf: [ROLE_IDS.JAVA_SDK],
},
{
github: 'Kludex',
discord: '247021664624312322',
memberOf: [ROLE_IDS.PYTHON_SDK],
},
{
github: 'Nyholm',
discord: '466593085984342016',
memberOf: [ROLE_IDS.PHP_SDK],
},
{
github: 'Ololoshechkin',
memberOf: [ROLE_IDS.KOTLIN_SDK],
},
{
github: 'a-akimov',
discord: '1365254196621738116',
@ -120,10 +91,20 @@ export const MEMBERS: readonly Member[] = [
ROLE_IDS.WORKING_GROUPS,
],
},
{
github: 'CodeWithKyrian',
discord: '951883230250946633',
memberOf: [ROLE_IDS.PHP_SDK],
},
{
github: 'crondinini-ant',
memberOf: [],
},
{
github: 'D-McAdams',
discord: '1364696680980545697',
memberOf: [ROLE_IDS.AUTH_WG],
},
{
github: 'devcrocod',
memberOf: [ROLE_IDS.KOTLIN_SDK],
@ -135,9 +116,7 @@ export const MEMBERS: readonly Member[] = [
memberOf: [ROLE_IDS.MCPB_MAINTAINERS, ROLE_IDS.REGISTRY_MAINTAINERS],
},
{
github: 'dsp-ant',
email: 'david@modelcontextprotocol.io',
discord: '166107790262272000', // Example Discord user ID - replace with real ID
github: 'dsp',
memberOf: [
ROLE_IDS.AUTH_WG,
ROLE_IDS.LEAD_MAINTAINERS,
@ -154,7 +133,9 @@ export const MEMBERS: readonly Member[] = [
],
},
{
github: 'dsp',
github: 'dsp-ant',
email: 'david@modelcontextprotocol.io',
discord: '166107790262272000',
memberOf: [
ROLE_IDS.AUTH_WG,
ROLE_IDS.LEAD_MAINTAINERS,
@ -251,10 +232,20 @@ export const MEMBERS: readonly Member[] = [
email: 'justin@modelcontextprotocol.io',
memberOf: [ROLE_IDS.CORE_MAINTAINERS],
},
{
github: 'Kehrlann',
discord: '1112624611901837373',
memberOf: [ROLE_IDS.JAVA_SDK],
},
{
github: 'KKonstantinov',
memberOf: [ROLE_IDS.INSPECTOR_MAINTAINERS, ROLE_IDS.TYPESCRIPT_SDK],
},
{
github: 'Kludex',
discord: '247021664624312322',
memberOf: [ROLE_IDS.PYTHON_SDK],
},
{
github: 'koic',
discord: '880937364208361483',
@ -315,27 +306,27 @@ export const MEMBERS: readonly Member[] = [
github: 'mattt',
memberOf: [ROLE_IDS.SWIFT_SDK],
},
{
github: 'maxisbey',
memberOf: [ROLE_IDS.PYTHON_SDK],
},
{
github: 'mattzcarey',
memberOf: [ROLE_IDS.TYPESCRIPT_SDK],
},
{
github: 'maxisbey',
memberOf: [ROLE_IDS.PYTHON_SDK],
},
{
github: 'michaelneale',
memberOf: [ROLE_IDS.RUST_SDK],
},
{
github: 'movetz',
memberOf: [ROLE_IDS.SWIFT_SDK],
},
{
github: 'mikekistler',
discord: '915345005982408754',
memberOf: [ROLE_IDS.CSHARP_SDK],
},
{
github: 'movetz',
memberOf: [ROLE_IDS.SWIFT_SDK],
},
{
github: 'nickcoai',
discord: '1153783469860732968',
@ -345,6 +336,11 @@ export const MEMBERS: readonly Member[] = [
github: 'nicolas-grekas',
memberOf: [ROLE_IDS.PHP_SDK],
},
{
github: 'Nyholm',
discord: '466593085984342016',
memberOf: [ROLE_IDS.PHP_SDK],
},
{
github: 'ochafik',
discord: '1004897332069925024',
@ -363,7 +359,16 @@ export const MEMBERS: readonly Member[] = [
{
github: 'olaservo',
discord: '1079841769946095620',
memberOf: [ROLE_IDS.COMMUNITY_MANAGERS, ROLE_IDS.DOCS_MAINTAINERS, ROLE_IDS.INSPECTOR_MAINTAINERS, ROLE_IDS.MODERATORS],
memberOf: [
ROLE_IDS.COMMUNITY_MANAGERS,
ROLE_IDS.DOCS_MAINTAINERS,
ROLE_IDS.INSPECTOR_MAINTAINERS,
ROLE_IDS.MODERATORS,
],
},
{
github: 'Ololoshechkin',
memberOf: [ROLE_IDS.KOTLIN_SDK],
},
{
github: 'pcarleton',
@ -386,6 +391,10 @@ export const MEMBERS: readonly Member[] = [
github: 'petery-ant',
memberOf: [ROLE_IDS.SECURITY_WG],
},
{
github: 'pja-ant',
memberOf: [ROLE_IDS.CORE_MAINTAINERS],
},
{
github: 'pronskiy',
memberOf: [ROLE_IDS.PHP_SDK],
@ -397,8 +406,8 @@ export const MEMBERS: readonly Member[] = [
},
{
github: 'rdimitrov',
discord: '1088231882979815424',
email: 'radoslav@modelcontextprotocol.io',
discord: '1088231882979815424',
memberOf: [ROLE_IDS.MAINTAINERS, ROLE_IDS.REGISTRY_MAINTAINERS],
},
{
@ -414,19 +423,19 @@ export const MEMBERS: readonly Member[] = [
github: 'sdubov',
memberOf: [ROLE_IDS.KOTLIN_SDK],
},
{
github: 'stephentoub',
memberOf: [ROLE_IDS.CSHARP_SDK],
},
{
github: 'stallent',
discord: '1137898074086314136',
memberOf: [ROLE_IDS.SWIFT_SDK],
},
{
github: 'stephentoub',
memberOf: [ROLE_IDS.CSHARP_SDK],
},
{
github: 'tadasant',
discord: '400092503677599754',
email: 'tadas@modelcontextprotocol.io',
discord: '400092503677599754',
memberOf: [
ROLE_IDS.COMMUNITY_MANAGERS,
ROLE_IDS.MODERATORS,