FRB Add Contributor
Use this skill when contributors need to be added to flutter_rust_bridge via all-contributors, especially when multiple recent PR authors should be credited in batch.
Step 1: Find the correct source PRs
For each GitHub username, find their PRs in fzyzcjy/flutter_rust_bridge.
gh search prs --repo fzyzcjy/flutter_rust_bridge --author <username> --limit 100 --json number,title,author,url,state
Important:
- Deduplicate by contributor. A single person may have multiple merged PRs.
- If the task is about
new contributor PRs, use the contributor's first PR only. - If the contributor already exists in
.all-contributorsrcorREADME.md, do not expect a new all-contributors PR to be created.
Step 2: Prepare .all-contributors-custom.yaml and stop for human input
Before regenerating contributor artifacts, append each new contributor to the end of .all-contributors-custom.yaml:
- <username>: TODO
Do this only for contributors who are not already present in .all-contributors-custom.yaml.
Then stop and ask a human to replace each TODO with a concise contribution summary.
This stop is mandatory.
- Do not continue to Step 3 or any later step in this skill until the human has replaced every
TODO. - Do not run contributor generation.
- Do not post all-contributors comments.
- Do not resolve or merge contributor PRs.
Only resume after the human-written descriptions are present in .all-contributors-custom.yaml.
Step 3: Trigger all-contributors
Post the comment on the chosen source PR:
gh pr comment <pr-number> --repo fzyzcjy/flutter_rust_bridge --body '@all-contributors please add <username> for code'
Then inspect the bot response on that PR.
- If the bot says the user already contributed before, stop there for that user.
- Otherwise, wait for the bot to open a PR named
docs: add <username> as a contributor for code.
Step 4: Validate contributor metadata
When a contributor PR exists, check the generated contributor data before merging.
Files to inspect:
.all-contributorsrcREADME.md
Required validation:
- Homepage URLs must use
https://, neverhttp://. - If the generated homepage is
http://, change it tohttps://if the site supports it. - If the personal site does not support
https://, prefer the contributor's GitHub profile URL instead of keepinghttp://.
Step 5: Regenerate contributor output
After the human has replaced all TODO messages, regenerate the contributor artifacts instead of hand-editing README.md.
Use:
./frb_internal generate-internal-contributor
This command updates:
.all-contributorsrcREADME.mdviaall-contributors generatewebsite/docs/index.mdviagenerate-internal-readme
If you only need to refresh the website copy of the README, use:
./frb_internal generate-internal-readme
Step 6: Resolve merge conflicts in contributor PRs
These PRs usually conflict only in:
.all-contributorsrcREADME.md
Recommended workflow for each open contributor PR:
gh pr checkout <pr-number> --repo fzyzcjy/flutter_rust_bridge
git fetch origin master
git merge --no-ff origin/master
If the merge conflicts:
- Keep the latest
origin/mastercontent. - Re-apply the contributor entry from the bot branch.
- Ensure the contributor card remains present in
README.md. - Re-run
./frb_internal generate-internal-contributorif you edited contributor metadata or finished filling in.all-contributors-custom.yaml. git addthe resolved files and commit the merge.- Push the contributor branch back to origin.
Do not revert unrelated contributor entries that were merged by other PRs.
Step 7: Merge the contributor PRs
After the branch is updated and GitHub reports it mergeable:
gh pr merge <pr-number> --repo fzyzcjy/flutter_rust_bridge --merge --delete-branch
Notes:
- GitHub may temporarily report
DIRTYor reject merge immediately after push. - If that happens, wait briefly, re-check the PR state, and retry the merge.
- After merging one contributor PR, fetch
origin/masteragain before resolving the next one.
Step 8: Final verification
At the end, verify there are no remaining open all-contributors PRs:
gh pr list --repo fzyzcjy/flutter_rust_bridge --search "author:allcontributors[bot] is:open" --limit 50 --json number,title,mergeStateStatus,url
Also verify the credited contributors appear in:
.all-contributorsrcREADME.mdwebsite/docs/index.mdif contributor regeneration was run
Converted and distributed by TomeVault — claim your Tome and manage your conversions.