access/src/config/groups.ts
2025-11-25 17:29:55 +00:00

187 lines
No EOL
4.7 KiB
TypeScript

import { defineGroups } from './utils';
// NOTE: For GitHub teams, only the first memberOf will be used as the parent team.
// GitHub only supports one parent team per team.
//
// Email groups (isEmailGroup: true) accept emails from anyone (including external users)
// and notify group members for each email.
//
// Groups are created on all platforms (GitHub and Google) by default.
// To limit a group to specific platforms, set the onlyOnPlatforms array (e.g., onlyOnPlatforms: ['google']).
export const GROUPS = defineGroups([
// MCP Organization Structure
{
name: 'steering-committee',
description: 'MCP Steering Committee',
onlyOnPlatforms: ['github'],
},
{
name: 'core-maintainers',
description: 'Core maintainers',
memberOf: ['steering-committee'],
onlyOnPlatforms: ['github'],
},
{
name: 'moderators',
description: 'Community moderators',
memberOf: ['steering-committee'],
onlyOnPlatforms: ['github'],
},
{
name: 'docs-maintaners',
description: 'MCP docs maintainers',
memberOf: ['steering-committee'],
onlyOnPlatforms: ['github'],
},
{
name: 'inspector-maintainers',
description: 'MCP Inspector maintainers',
memberOf: ['steering-committee'],
onlyOnPlatforms: ['github'],
},
{
name: 'mcpb-maintainers',
description: 'MCPB (Model Context Protocol Bundle) maintainers',
memberOf: ['steering-committee'],
onlyOnPlatforms: ['github'],
},
// SDK Maintainers
{
name: 'sdk-maintainers',
description: 'Authors and maintainers of official MCP SDKs',
memberOf: ['steering-committee'],
onlyOnPlatforms: ['github'],
},
{
name: 'csharp-sdk',
description: 'Official C# SDK maintainers',
memberOf: ['sdk-maintainers'],
onlyOnPlatforms: ['github'],
},
{
name: 'go-sdk',
description: 'The Go SDK Team',
memberOf: ['sdk-maintainers'],
onlyOnPlatforms: ['github'],
},
{
name: 'java-sdk',
description: 'Official Java SDK maintainers',
memberOf: ['sdk-maintainers'],
onlyOnPlatforms: ['github'],
},
{
name: 'kotlin-sdk',
description: 'Official Kotlin SDK maintainers',
memberOf: ['sdk-maintainers'],
onlyOnPlatforms: ['github'],
},
{
name: 'php-sdk',
description: 'Official PHP SDK maintainers',
memberOf: ['sdk-maintainers'],
onlyOnPlatforms: ['github'],
},
{
name: 'python-sdk',
description: 'Official Python SDK maintainers',
memberOf: ['sdk-maintainers'],
onlyOnPlatforms: ['github'],
},
{
name: 'python-sdk-auth',
description: 'Auth related owners',
memberOf: ['python-sdk'],
onlyOnPlatforms: ['github'],
},
{
name: 'ruby-sdk',
description: 'Official Ruby SDK maintainers',
memberOf: ['sdk-maintainers'],
onlyOnPlatforms: ['github'],
},
{
name: 'rust-sdk',
description: 'Official Rust SDK maintainers',
memberOf: ['sdk-maintainers'],
onlyOnPlatforms: ['github'],
},
{
name: 'swift-sdk',
description: 'Official Swift SDK maintainers',
memberOf: ['sdk-maintainers'],
onlyOnPlatforms: ['github'],
},
{
name: 'typescript-sdk',
description: 'Official TypeScript SDK',
memberOf: ['sdk-maintainers'],
onlyOnPlatforms: ['github'],
},
{
name: 'typescript-sdk-auth',
description: 'Code owners for auth in Typescript SDK',
memberOf: ['typescript-sdk'],
onlyOnPlatforms: ['github'],
},
// Working Groups
{
name: 'working-groups',
description: 'MCP Working Groups',
memberOf: ['steering-committee'],
onlyOnPlatforms: ['github'],
},
{
name: 'auth-wg',
description: 'Authentication Working Group',
memberOf: ['working-groups'],
onlyOnPlatforms: ['github'],
},
{
name: 'registry-wg',
description: 'Official registry builders and maintainers',
memberOf: ['working-groups'],
},
{
name: 'security-wg',
description: 'Security Working Group',
memberOf: ['working-groups'],
onlyOnPlatforms: ['github'],
},
{
name: 'transport-wg',
description: 'Transport Working Group',
memberOf: ['working-groups'],
onlyOnPlatforms: ['github'],
},
// Interest Groups
{
name: 'interest-groups',
description: 'Interest Groups',
memberOf: ['steering-committee'],
onlyOnPlatforms: ['github'],
},
{
name: 'ig-financial-services',
description: 'Financial Services Interest Group',
memberOf: ['interest-groups'],
onlyOnPlatforms: ['github'],
},
// Email-only groups
{
name: 'antitrust',
description: 'Antitrust compliance contacts',
isEmailGroup: true,
onlyOnPlatforms: ['google'],
},
{
name: 'catch-all',
description: 'Catch-all email group',
isEmailGroup: true,
onlyOnPlatforms: ['google'],
},
] as const);