Commit graph

55 commits

Author SHA1 Message Date
David Soria Parra
52112dfb4f
Add Discord IDs for 30 users
Automated matching found 18 users by username/display name:
- CodeWithKyrian, Kehrlann, Kludex, Nyholm, asklar, baxen
- carlpeaslee, evalstate, felixweinberger, jba, jerome3o-anthropic
- joan-anthropic, jonathanhefner, ochafik, olaservo, stallent
- tadasant, topherbullock

Manually provided IDs for 12 users:
- D-McAdams, a-akimov, aaronpk, atesgoral, domdomegg, findleyr
- koic, mikekistler, pederhp, sambhav, toby, tzolov

Claude-Generated-By: Claude Code (cli/claude-opus-4-5=100%)
Claude-Steers: 2
Claude-Permission-Prompts: 7
Claude-Escapes: 0
2026-01-15 14:01:26 +00:00
Liad Yosef
1ee90512f0
chore: add apps-wg and discord/github for liad (#32)
* chore: add apps-wg and discord/github for liad

* Update src/config/roles.ts

Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>

* fix: PR comments

* minor: comment

---------

Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
2026-01-15 00:03:50 +00:00
Tadas Antanavicius
95bcd72877
Add gateways-ig, roles for Tadas (#30)
* Add

* Missing comma

* Add Discord ID

* Prettier
2026-01-14 23:59:37 +00:00
David Soria Parra
c92a40849e
Handle missing Discord members gracefully
When a user with a Discord ID leaves the server (or the ID is invalid),
the sync now logs a warning and continues instead of failing the entire
deploy. This prevents deploys from breaking when someone leaves Discord.

The memberNotFound flag is tracked in Pulumi state so we can identify
stale Discord IDs.

Claude-Generated-By: Claude Code (cli/claude-opus-4-5=100%)
Claude-Steers: 0
Claude-Permission-Prompts: 0
Claude-Escapes: 0
2026-01-14 21:39:53 +00:00
David Soria Parra
9fb0db9f9c
Remove invalid Discord ID for ihrpr
The Discord ID 1086709448816468038 is not a member of the MCP Discord
server, causing deploy failures with 'Unknown Member (code: 10007)'

Claude-Generated-By: Claude Code (cli/claude-opus-4-5=100%)
Claude-Steers: 1
Claude-Permission-Prompts: 2
Claude-Escapes: 0
2026-01-14 21:30:24 +00:00
Kurtis Van Gent
3b45cbf787
add discord id for kurtisvg (#33) 2026-01-14 12:57:38 -08:00
Den Delimarsky
29f1d92c22
Core Maintainer Discord IDs (#29)
* Add Discord user IDs

* Update users.ts

* Update member roles and remove 'dend' from users config

Removed the user 'dend' from the MEMBERS list. Updated roles for 'ihrpr', 'localden', and 'nickcoai' to reflect new responsibilities and group memberships.

* Update formatting based on prettier

---------

Co-authored-by: Den Delimarsky <53200638+localden@users.noreply.github.com>
Co-authored-by: Den Delimarsky <den@anthropic.com>
2026-01-14 20:55:22 +00:00
Alex Hancock
6db46ea763
chore: add discord identifier for myself (#31)
* chore: add discord identifier for myself

* Update src/config/users.ts

---------

Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
2026-01-14 19:52:34 +00:00
Cliff Hall
4c01df2c83
Updated user Cliff Hall (#25)
* Updated user Cliff Hall

- Add email address
- Add discord user id
- Add missing role.REFERENCE_SERVERS_MAINTAINERS

* Updated user Cliff Hall

- Add missing role MAINTAINERS

* Updated user Cliff Hall

- Add missing role WORKING_GROUPS

* Prettier
2026-01-14 09:54:27 +00:00
David Soria Parra
ac93a40b92
Remove automatic refresh from deploy flow
Refresh before every deploy adds latency without much benefit since
infrastructure is fully managed via code. The refresh target remains
available for manual use when drift is suspected.

Claude-Generated-By: Claude Code (cli/claude-opus-4-5=100%)
Claude-Steers: 2
Claude-Permission-Prompts: 0
Claude-Escapes: 0
2026-01-14 09:50:37 +00:00
Radoslav Dimitrov
a3269d383d
Add Discord ID to user configuration for Rado (#28)
* Add Discord ID to user configuration for Rado

* Update src/config/users.ts

---------

Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
2026-01-14 09:48:16 +00:00
Christopher Hertel
9cd19af177
Update discord & email for chr-hertel (#27)
* Update discord & email for chr-hertel

* Update src/config/users.ts

---------

Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
2026-01-14 09:46:31 +00:00
Luca Chang
12e0417716
Add LucaButBoring (#24) 2026-01-14 09:45:17 +00:00
David Soria Parra
a1e9b03831
Skip preview workflow for fork PRs
Fork PRs don't have access to repository secrets, causing the GCP
auth and PR comment steps to fail. Instead of failing, skip the
preview job entirely for fork PRs. The job will show as 'skipped'
rather than 'failed', allowing fork PRs to be merged based on
the CI check alone.

Claude-Generated-By: Claude Code (cli/claude-opus-4-5=100%)
Claude-Steers: 2
Claude-Permission-Prompts: 1
Claude-Escapes: 0
2026-01-14 09:44:26 +00:00
Caitie McCaffrey
4e08d76e95
Add user caitiem20 (#26)
* Add user caitiem20

* removing duplicate caitie

* ran prettier
2026-01-14 09:43:11 +00:00
David Soria Parra
4177552a61
Add dsp-ant to lead-maintainers 2026-01-13 23:35:18 +00:00
David Soria Parra
f960494174
Add Discord role sync with role-centric architecture (#22)
* Add Discord role sync with role-centric architecture

This refactors the access management to use a role-centric model where
each role explicitly defines which platforms it exists on (GitHub,
Discord, Google).

Key changes:
- Add Discord role sync via Pulumi Dynamic Provider
- Replace groups.ts with roleIds.ts + roles.ts for type-safe role definitions
- Use ROLE_IDS constants to prevent typos in memberOf references
- Each role has platform-specific config (github/discord/google keys)
- Discord-only roles (e.g., administrators) and GitHub-only roles
  (e.g., typescript-sdk-auth) are now explicitly modeled
- Add PR preview workflow to show Pulumi changes before merge
- Add test-config.ts for config structure validation
- Fix typo: docs-maintaners -> docs-maintainers

Discord roles will match existing server roles:
- administrators, lead maintainers, core maintainers
- sdk maintainers, working groups, interest groups
- etc.

Requires new GitHub secrets:
- DISCORD_BOT_TOKEN
- DISCORD_GUILD_ID

* Fix GitHub team ordering and make Discord integration optional

- Add topological sort for GitHub teams to ensure parent teams are
  created before child teams, fixing the registry-wg parentTeamId issue
- Make Discord integration optional by using config.get() instead of
  config.require(), allowing CI preview to succeed without Discord secrets
- Add sortRolesByGitHubDependency() utility function in config/utils.ts

Claude-Generated-By: Claude Code (cli/claude-opus-4-5=20%)
Claude-Steers: 2
Claude-Permission-Prompts: 1
Claude-Escapes: 0

* Reconcile Discord roles for listed users

Replace per-role-membership approach with per-user role sync that:
- Adds missing roles users should have
- Removes managed roles users shouldn't have
- Only touches roles defined in config (won't affect admin roles, etc.)

Users not in config remain untouched.

Claude-Generated-By: Claude Code (cli/claude-opus-4-5=100%)
Claude-Steers: 4
Claude-Permission-Prompts: 1
Claude-Escapes: 0

* Fix descriptions to match existing resources

* Cache Pulumi plugins and fix GITHUB_TOKEN for pulumi install

* Remove accidentally committed state backup

* Use github.token for pulumi install

* Fix formatting

Fix deploy: add pulumi login before config set

Fix deploy: set PULUMI_CONFIG_PASSPHRASE_FILE for config commands

Import existing docs-maintainers team (remove after deploy)

Remove docs-maintainers import workaround

Add docs-maintainers cleanup to state cleanup

Add pulumi refresh before up to sync state with reality

Rename Discord roles to add (synced) suffix

Cleanup Makefile and add lead-maintainers GitHub team
2026-01-13 23:35:18 +00:00
Paul Carleton
f0336a9991
Add movetz and stallent as Swift SDK maintainers (#21)
* Add movetz and stallent as Swift SDK maintainers

Adding Maksym Mova (MacPaw) and Stephen Tallent (Mercury.io) as new
maintainers for the Swift SDK, as discussed in the SDK working group.

* Set up tiered access: admins + contributor team

- movetz and stallent get admin access directly
- swift-sdk team grants push access (for future contributors)

This follows the pattern used by go-sdk and rust-sdk.

* Preserve mattt as admin
2026-01-13 14:25:30 +00:00
Ola Hungerford
7281f0dc21
Add a-akimov to docs-maintaners, tighten inspector/servers permissions (#19)
* Add evalstate and cliffhall to docs-maintaners team

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

* Add a-akimov to docs-maintaners team, tighten inspector/servers permissions

- Add a-akimov to docs-maintaners team (replaces direct repo access)
- Remove a-akimov direct push from quickstart-resources (now via team)
- Remove interest groups from inspector push access (ig-financial-services, interest-groups)
- Remove working-groups umbrella from inspector push access
- Remove docs-maintaners from inspector push access
- Remove interest groups from servers push access (ig-financial-services, interest-groups)
- Remove working-groups umbrella from servers push access

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-13 11:22:41 +00:00
David Soria Parra
0c010f3fcd
remove inna from core maintainers as per her own wish 2026-01-13 10:50:42 +01:00
David Soria Parra
6aa2a38d11
add kurtis and caitie to core maintainers as per decision of core maintainers 2026-01-13 10:50:18 +01:00
Ateş Göral
d12eeca002
Add jonathanhefner to ruby-sdk (#20) 2026-01-06 21:21:35 +00:00
David Soria Parra
fbc185181f
Remove bolinfest from rust-sdk group, keep direct push access
bolinfest should have push access to rust-sdk, not admin. Direct
access is already configured in repoAccess.ts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 17:57:16 +00:00
David Soria Parra
22972bf885
Add bolinfest to rust-sdk group
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 17:54:54 +00:00
David Soria Parra
27f046e66d
Add state cleanup before deploy to remove orphaned core team
The 'core' team was deleted from GitHub but still exists in Pulumi
state. Add cleanup-state target that runs before deploy to remove
these orphaned resources.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 17:50:48 +00:00
David Soria Parra
c47f7692c3
Use GITHUB_TOKEN env var for Pulumi GitHub provider
Pass the token via GITHUB_TOKEN environment variable which the Pulumi
GitHub provider reads automatically. Remove the one-time migration
workflow since state cleanup already succeeded.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 17:48:40 +00:00
David Soria Parra
609880c57f
Add one-time migration workflow to set GitHub token and clean up state
- Add migrate-state.yml workflow (manual trigger) that:
  - Sets github:token in Pulumi config from PULUMI_GITHUB_TOKEN secret
  - Cleans up orphaned 'core' team memberships from state
  - Commits the updated Pulumi.prod.yaml back to repo
- Revert deploy.yml to use encrypted token from Pulumi config

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 17:46:16 +00:00
David Soria Parra
dd446c3dab
Use GitHub secret for Pulumi GitHub token instead of encrypted config
Move GitHub token from Pulumi encrypted config to GitHub Actions secret
(PULUMI_GITHUB_TOKEN) for better secret management. The token is passed
via GITHUB_TOKEN env var which the Pulumi GitHub provider reads automatically.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 17:40:00 +00:00
David Soria Parra
fc9e1bae13
fix 2025-12-13 10:31:51 +00:00
David Soria Parra
3c1d641add
Add prettier formatting and CI validation checks
- Add prettier with consistent formatting config
- Add format and format:check npm scripts
- Add prettier pre-commit hook
- Add validation and formatting checks to CI workflow
- Reformat all TypeScript and JSON files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 10:01:28 +00:00
David Soria Parra
680934d3a8
Fix deployment: remove stale 'core' team references and add validation
PR #17 removed the 'core' group but left references in repoAccess.ts,
causing deployments to fail since Nov 25th.

Changes:
- Remove 'core' team references from 6 repositories in repoAccess.ts
- Replace with 'core-maintainers' to maintain equivalent permissions
- Add scripts/validate-config.ts to validate all team references
- Add pre-commit hook to run validation on config changes
- Add npm run validate script

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 09:58:49 +00:00
David Soria Parra
8d0a1bc7a1
fix 2025-12-13 09:48:13 +00:00
David Soria Parra
e9821691b9
add michael bolin from openai as a rust sdk maintainer 2025-12-13 09:42:56 +00:00
David Soria Parra
e20b61b605
fix 2025-12-01 17:11:00 +00:00
David Soria Parra
524a045a20
give akimov write access 2025-12-01 14:40:45 +00:00
adam jones
7b068c2d33
Remove core group (#17) 2025-11-25 17:29:55 +00:00
joan-anthropic
e469f7ea0a
fix typo; (#16) 2025-11-14 21:09:43 +00:00
joan-anthropic
0377e271ea
Add felixreiseberg and marshallofsound to mcpb-maintainers (#15)
Adds Felix (felixreiseberg) and Sam (marshallofsound) as maintainers for the Model Context Protocol Bundle (MCPB) project.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-14 20:15:26 +00:00
Felix Weinberger
d0cb7df92f
Add KKonstantinov and mattzcarey to typescript-sdk (#13) 2025-11-13 11:22:38 +00:00
adam jones
9699fbb3ca
Add MCPB maintainers group (#12)
Creates a new mcpb-maintainers team under the steering committee with Joan Xie (joan-anthropic), Adam Jones (domdomegg), and Alex Sklar (asklar) as initial maintainers.
2025-11-11 12:49:15 +00:00
David Soria Parra
eb56e470d8
make max a python sdk maintianer 2025-11-07 16:31:52 +00:00
Sambhav Kothari
96279fb128
Add Peder to FSIG (#11) 2025-11-04 16:58:43 +00:00
bhosmer-ant
0c72db3ac9
add bhosmer-ant to typescript-sdk, python-sdk (#10) 2025-10-25 16:51:51 +01:00
Ola Hungerford
e6f5f446fb
Add inspector maintainer group (#9) 2025-10-20 11:58:47 -07:00
Paul Carleton
55fe24b3fa
Grant auth-wg maintainers admin on ext-auth repository (#8)
* grant auth-wg admin on ext-auth

* add pcarleton to auth-wg
2025-10-14 15:38:07 +01:00
Ola Hungerford
db8d9eae6c
Add evalstate and cliffhall to docs-maintaners team (#7)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-08 00:28:40 +01:00
David Soria Parra
6e41d744aa
Add a-akimov to quickstart-resources; Add pre-commit hooks for code quality (#6)
* give akimov triage on quickstart-resources

* Add pre-commit hooks for code quality

Includes standard checks (trailing whitespace, EOF, YAML, merge conflicts) and TypeScript type checking. Expensive checks like Pulumi preview are intentionally excluded for CI instead.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-06 21:04:04 +01:00
David Soria Parra
45497bf4e5
give akimov triage on quickstart-resources 2025-10-06 13:40:06 +02:00
adam jones
7883dbc5e3
Migrate GitHub teams to infrastructure-as-code (#5)
* Migrate GitHub teams to infrastructure-as-code

- Add 25 teams with proper hierarchy (steering-committee, SDK teams, working groups, interest groups)
- Add 67 team members with their assignments
- Add repository access configuration for all 21 repositories
- Refactor github.ts to use config-driven approach with repoAccess.ts
- Mark all MCP teams as GitHub-only with onlyOnPlatforms
- Use RepositoryCollaborators for authoritative access management

Note: GitHub Projects V2 permissions are not yet supported by Pulumi and must be managed manually. See https://github.com/pulumi/pulumi-github/issues/1006

* Add individual user collaborators to repository access

Preserves direct collaborator access for users who have explicit permissions outside of team membership, including:
- jspahrsummers: admin on multiple core repos
- Go SDK collaborators (neild, rsc, rolandshoemaker, h9jiang)
- C# SDK collaborators (jeffhandley, MackinnonBuck, jozkee, localden, PederHP)
- Rust SDK collaborators (jamadeo, jokemanfire, 4t145)
- Inspector collaborators (richardkmichael, olaservo, an-dustin, ashwin-ant)
- Financial services IG collaborators (aniabot, imfing, sambhav, KengoA, nitsanh)
- And others

Without this, RepositoryCollaborators (authoritative mode) would remove all individual user access.
2025-10-03 22:02:52 +00:00
adam jones
5b2b01db21
Use intermediate env var for Pulumi passphrase (#4)
Addresses security concern where secrets were directly interpolated in
run commands. Following GitHub's security best practices, the secret is
now passed through an intermediate environment variable before being
written to the file.

This maintains compatibility with the existing Makefile workflow while
reducing the risk of accidental secret disclosure.
2025-10-01 01:08:42 +01:00