GitHub as Codician: community setup, and awesome-list suggestions #315
Intentwhat this change is meant to do
Post the launch's GitHub Discussions welcome and pinned roadmap issue as the Codician account through the mirror token, instead of leaving them as manual steps for Can.
Auto-merge didn't turn on by itself (branch rule main auto-merges test-bot's pull requests): the pull request changes workflow file .github/workflows/github-community.yml; CI can't gate a change to itself, so a person must merge it. A person can merge it.
cnbrkdmrci merged commit fa645f8 into main
Pull request successfully merged and closed
cnbrkdmrci merged fa645f8 into main
Sign in to join the conversation.
Requested by Can · project thread
#What this changes
Adds a GitHub community setup workflow (workflow_dispatch only, Diffinery only,
github-mirrorenvironment) that runsscripts/github-community.mjswithMIRROR_TOKEN, so everything it posts on github.com/codician-team/diffinery shows the Codician account that owns the token, never a person:roadmap,help wanted,good first issuescripts/github-community/welcome-discussion.md)scripts/github-community/roadmap-issue.md)Each step looks first and only creates what is missing, so a second run changes nothing. A step the token isn't allowed to do (for example turning Discussions on needs Administration write) is reported with the permission it needs in the job summary, and the other steps still run. GitHub has no API to pin a discussion or edit discussion categories, so those are left as they are. A
dry_runinput reports without changing anything.#Second job: suggest Diffinery to awesome lists
Also adds Suggest Diffinery to awesome lists (
.github/workflows/awesome-lists.yml, same rules: workflow_dispatch only, Diffinery only,github-mirrorenvironment). It runsscripts/awesome-lists.mjswith a new secret,OUTREACH_TOKEN: a classic personal access token of the Codician GitHub account with only thepublic_reposcope. A classic token is needed because GitHub's fine-grained tokens can't contribute to public repositories the account isn't a member of, soMIRROR_TOKENcan't do it.For each list in
scripts/awesome-lists/lists.mjsit forks the list, adds one line where that list's contributing rules say, and opens a pull request as Codician. The lines and bodies were written against each list's rules as of 2026-10-25:A list that already mentions Diffinery, or where Codician's pull request is open or was closed, is left alone, so running it again is safe. Inputs:
lists(ids, orduefor all) anddry_run. Writes go through git objects because punkpeye's README is over 1 MB.This changes a workflow file, so it needs a person's Merge (squash). After the merge, the launch thread dispatches the community job, and the awesome-lists job once
OUTREACH_TOKENis in thegithub-mirrorenvironment.#How it was tested
MIRROR_TOKENit prints a notice and exits 0.node --checkpasses.#Checklist
pnpm -r typecheckandpnpm -r testpass (no app code changed)apps/diffinery/docs(none: repository tooling only)apps/diffinery/migrations(none)🤖 Generated with Claude Code
https://claude.ai/code/session_0156222tQpRPtP1Em3kEeZnK