@@ -132,23 +132,30 @@ Like TC members, Repo captains are a subset of committers.
132
132
To become a captain for a project the candidate is expected to participate in that
133
133
project for at least 6 months as a committer prior to the request. They should have
134
134
helped with code contributions as well as triaging issues. They are also required to
135
- have 2FA enabled on both their GitHub and npm accounts. Any TC member or existing
136
- captain on the repo can nominate another committer to the captain role, submit a PR to
137
- this doc, in the ** Active Project Captains** section (maintaining the sort order) with
138
- the project, their GitHub handle and npm username (if different). The PR will require
139
- at least 2 approvals from TC members and 2 weeks hold time to allow for comment and/or
140
- dissent. When the PR is merged, a TC member will add them to the proper GitHub/npm groups.
135
+ have 2FA enabled on both their GitHub and npm accounts.
136
+
137
+ Any TC member or an existing captain on the ** same** repo can nominate another committer
138
+ to the captain role. To do so, they should submit a PR to this document, updating the
139
+ ** Active Project Captains** section (while maintaining the sort order) with the project
140
+ name, the nominee's GitHub handle, and their npm username (if different).
141
+ - Repos can have as many captains as make sense for the scope of work.
142
+ - A TC member or an existing repo captain ** on the same project** can nominate a new captain.
143
+ Repo captains from other projects should not nominate captains for a different project.
144
+
145
+ The PR will require at least 2 approvals from TC members and 2 weeks hold time to allow
146
+ for comment and/or dissent. When the PR is merged, a TC member will add them to the
147
+ proper GitHub/npm groups.
141
148
142
149
### Active Projects and Captains
143
150
144
151
- [ ` expressjs/badgeboard ` ] ( https://github.com/expressjs/badgeboard ) : @wesleytodd
145
- - [ ` expressjs/basic-auth-connect ` ] ( https://github.com/expressjs/basic-auth-connect ) : @UlisesGascon
146
- - [ ` expressjs/body-parser ` ] ( https://github.com/expressjs/body-parser ) : @wesleytodd , @jonchurch
152
+ - [ ` expressjs/basic-auth-connect ` ] ( https://github.com/expressjs/basic-auth-connect ) : @ulisesGascon
153
+ - [ ` expressjs/body-parser ` ] ( https://github.com/expressjs/body-parser ) : @wesleytodd , @jonchurch , @ ulisesGascon
147
154
- [ ` expressjs/compression ` ] ( https://github.com/expressjs/compression ) : @ulisesGascon
148
155
- [ ` expressjs/connect-multiparty ` ] ( https://github.com/expressjs/connect-multiparty ) : @ulisesGascon
149
156
- [ ` expressjs/cookie-parser ` ] ( https://github.com/expressjs/cookie-parser ) : @wesleytodd , @UlisesGascon
150
157
- [ ` expressjs/cookie-session ` ] ( https://github.com/expressjs/cookie-session ) : @ulisesGascon
151
- - [ ` expressjs/cors ` ] ( https://github.com/expressjs/cors ) : @jonchurch
158
+ - [ ` expressjs/cors ` ] ( https://github.com/expressjs/cors ) : @jonchurch , @ ulisesGascon
152
159
- [ ` expressjs/discussions ` ] ( https://github.com/expressjs/discussions ) : @wesleytodd
153
160
- [ ` expressjs/errorhandler ` ] ( https://github.com/expressjs/errorhandler ) : @ulisesGascon
154
161
- [ ` expressjs/express-paginate ` ] ( https://github.com/expressjs/express-paginate ) : @ulisesGascon
@@ -157,8 +164,8 @@ dissent. When the PR is merged, a TC member will add them to the proper GitHub/
157
164
- [ ` expressjs/flash ` ] ( https://github.com/expressjs/flash ) : @ulisesGascon
158
165
- [ ` expressjs/generator ` ] ( https://github.com/expressjs/generator ) : @wesleytodd
159
166
- [ ` expressjs/method-override ` ] ( https://github.com/expressjs/method-override ) : @ulisesGascon
160
- - [ ` expressjs/morgan ` ] ( https://github.com/expressjs/morgan ) : @jonchurch
161
- - [ ` expressjs/multer ` ] ( https://github.com/expressjs/multer ) : @LinusU
167
+ - [ ` expressjs/morgan ` ] ( https://github.com/expressjs/morgan ) : @jonchurch , @ ulisesGascon
168
+ - [ ` expressjs/multer ` ] ( https://github.com/expressjs/multer ) : @LinusU , @ ulisesGascon
162
169
- [ ` expressjs/response-time ` ] ( https://github.com/expressjs/response-time ) : @UlisesGascon
163
170
- [ ` expressjs/serve-favicon ` ] ( https://github.com/expressjs/serve-favicon ) : @ulisesGascon
164
171
- [ ` expressjs/serve-index ` ] ( https://github.com/expressjs/serve-index ) : @ulisesGascon
@@ -176,31 +183,31 @@ dissent. When the PR is merged, a TC member will add them to the proper GitHub/
176
183
- [ ` jshttp/etag ` ] ( https://github.com/jshttp/etag ) : @blakeembrey
177
184
- [ ` jshttp/forwarded ` ] ( https://github.com/jshttp/forwarded ) : @blakeembrey
178
185
- [ ` jshttp/fresh ` ] ( https://github.com/jshttp/fresh ) : @blakeembrey
179
- - [ ` jshttp/http-assert ` ] ( https://github.com/jshttp/http-assert ) : @wesleytodd , @jonchurch
180
- - [ ` jshttp/http-errors ` ] ( https://github.com/jshttp/http-errors ) : @wesleytodd , @jonchurch
186
+ - [ ` jshttp/http-assert ` ] ( https://github.com/jshttp/http-assert ) : @wesleytodd , @jonchurch , @ ulisesGascon
187
+ - [ ` jshttp/http-errors ` ] ( https://github.com/jshttp/http-errors ) : @wesleytodd , @jonchurch , @ ulisesGascon
181
188
- [ ` jshttp/media-typer ` ] ( https://github.com/jshttp/media-typer ) : @blakeembrey
182
189
- [ ` jshttp/methods ` ] ( https://github.com/jshttp/methods ) : @blakeembrey
183
190
- [ ` jshttp/mime-db ` ] ( https://github.com/jshttp/mime-db ) : @blakeembrey , @UlisesGascon
184
191
- [ ` jshttp/mime-types ` ] ( https://github.com/jshttp/mime-types ) : @blakeembrey , @UlisesGascon
185
192
- [ ` jshttp/negotiator ` ] ( https://github.com/jshttp/negotiator ) : @blakeembrey
186
- - [ ` jshttp/on-finished ` ] ( https://github.com/jshttp/on-finished ) : @wesleytodd
193
+ - [ ` jshttp/on-finished ` ] ( https://github.com/jshttp/on-finished ) : @wesleytodd , @ ulisesGascon
187
194
- [ ` jshttp/on-headers ` ] ( https://github.com/jshttp/on-headers ) : @blakeembrey
188
- - [ ` jshttp/proxy-addr ` ] ( https://github.com/jshttp/proxy-addr ) : @wesleytodd
195
+ - [ ` jshttp/proxy-addr ` ] ( https://github.com/jshttp/proxy-addr ) : @wesleytodd , @ ulisesGascon
189
196
- [ ` jshttp/range-parser ` ] ( https://github.com/jshttp/range-parser ) : @blakeembrey
190
197
- [ ` jshttp/statuses ` ] ( https://github.com/jshttp/statuses ) : @blakeembrey
191
198
- [ ` jshttp/type-is ` ] ( https://github.com/jshttp/type-is ) : @blakeembrey
192
199
- [ ` jshttp/vary ` ] ( https://github.com/jshttp/vary ) : @blakeembrey
193
200
- [ ` pillarjs/cookies ` ] ( https://github.com/pillarjs/cookies ) : @blakeembrey
194
201
- [ ` pillarjs/csrf ` ] ( https://github.com/pillarjs/csrf ) : @ulisesGascon
195
202
- [ ` pillarjs/encodeurl ` ] ( https://github.com/pillarjs/encodeurl ) : @blakeembrey
196
- - [ ` pillarjs/finalhandler ` ] ( https://github.com/pillarjs/finalhandler ) : @wesleytodd
203
+ - [ ` pillarjs/finalhandler ` ] ( https://github.com/pillarjs/finalhandler ) : @wesleytodd , @ ulisesGascon
197
204
- [ ` pillarjs/hbs ` ] ( https://github.com/pillarjs/hbs ) : @ulisesGascon
198
205
- [ ` pillarjs/multiparty ` ] ( https://github.com/pillarjs/multiparty ) : @blakeembrey
199
206
- [ ` pillarjs/parseurl ` ] ( https://github.com/pillarjs/parseurl ) : @blakeembrey
200
207
- [ ` pillarjs/path-to-regexp ` ] ( https://github.com/pillarjs/path-to-regexp ) : @blakeembrey
201
208
- [ ` pillarjs/request ` ] ( https://github.com/pillarjs/request ) : @wesleytodd
202
209
- [ ` pillarjs/resolve-path ` ] ( https://github.com/pillarjs/resolve-path ) : @blakeembrey
203
- - [ ` pillarjs/router ` ] ( https://github.com/pillarjs/router ) : @wesleytodd
210
+ - [ ` pillarjs/router ` ] ( https://github.com/pillarjs/router ) : @wesleytodd , @ ulisesGascon
204
211
- [ ` pillarjs/send ` ] ( https://github.com/pillarjs/send ) : @blakeembrey
205
212
- [ ` pillarjs/understanding-csrf ` ] ( https://github.com/pillarjs/understanding-csrf ) : @ulisesGascon
206
213
0 commit comments