Files
cadcraft/docs/contributors.md
Brandon ThomasandClaude Opus 5.5 ef1b55dca6 About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#3)
* About: contributors compiled in from contributors.json (grab bag + table, sortable, name toggle)

Replaces the TSV files and `cargo xtask contributors` with the craftrules standard
(standards/contributors.md): contributors/contributors.json is generated by
craftrules/scripts/contributors.py and baked into the binary by build.rs as static tables.
Each contributor line: @username, opt-in display/real name, PRs, commits, lines +/−/Δ,
binary assets +/−, first/last commit. Sortable by every column; alphabetical ignores
case and the leading @.

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

* Contributors docs: craftrules is two levels up (../../craftrules)

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

* Contributors: self-submitted names in contributors/people.toml, read by build.rs

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

* Contributors: regenerate (people_entry verified)

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

* AGENTS.md: contributor credits section (agents offer to credit their own human only); docs

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

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 21:16:30 -04:00

2.5 KiB

Contributors in the About window

About ▸ Contributors credits everyone who contributed to CADCraft, and About ▸ Models credits the AI models named in Co-Authored-By trailers. This follows the shared craftrules standard standards/contributors.md; this page is the local copy of the decision.

Decision

  • Two files, both compiled into the binary by the UI crate's build.rs (nothing is read from disk or the network at run time; the web build has them too):
  • Each contributor gets one line: GitHub username (always), display name (opt-in, or their synced GitHub profile name), real name (only if they told us), merged PRs, commits, lines added, lines deleted, binary assets added, binary assets removed, first and last commit date.
  • The list is shown as a grab bag (names flowing as text) or a table, in the same order. It sorts by name, PRs, commits, lines added, lines deleted, line delta, binary assets added/removed, first or last commit date. The name toggle cycles Username → Display name → Real name; a missing name falls back to @username. Alphabetical sorting is case-insensitive and ignores the @.

Credit yourself

Add your entry to contributors/people.toml in a PR you commit yourself (every field optional):

[people.your-github-username]
real_name = "Your Name"
display_name = "Nickname"
sync_github_name = true   # use the name on your public GitHub profile as display name

or, with craftrules checked out next to craft-apps/:

python3 ../../craftrules/scripts/contributors.py --add-me . --real-name "Your Name" --sync-github-name

Names show after the next refresh: the script checks that each entry was committed by its own user (or by a maintainer with a consent_source). Delete your entry to remove your names.

Refreshing (maintainers)

python3 ../../craftrules/scripts/contributors.py .           # regenerate + verify; needs git, Python 3.11+, gh
python3 ../../craftrules/scripts/contributors.py --check .   # verify people.toml only

Commit the updated contributors/contributors.json. Git author names and emails are never recorded.