mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-14 19:27:04 -04:00
* Release CI: macOS job on macos-15-xlarge Custom macOS larger runners in a runner group do not pick up jobs; the built-in M2 Pro label does. Only release.yml uses it, and the actions_macos_xl budget caps the monthly spend. Co-Authored-By: Claude Opus 5.5 <[email protected]> (cherry picked from commit90d60b0c98) * CI: tell actionlint about the org's macos-release runner label (#202) Co-authored-by: Claude Opus 5.5 <[email protected]> (cherry picked from commitddea3c72e0) * About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#196) * About: contributors compiled in from contributors.json (grab bag + table, sortable, name toggle) Adds About ▸ Contributors and About ▸ Models tabs per the craftrules standard (standards/contributors.md): contributors/contributors.json is generated by craftrules/scripts/contributors.py and baked into the binary by crates/ui-egui/build.rs as static tables; nothing is read at run time. 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 <[email protected]> * Contributors: self-submitted names in contributors/people.toml; AGENTS.md credit-yourself section build.rs reads contributors/people.toml next to the generated contributors.json and shows a name only for entries the generator verified as written by that person (craftrules standards/contributors.md). Co-Authored-By: Claude Opus 5.5 <[email protected]> * Contributors: regenerate (verified people.toml entries) Co-Authored-By: Claude Opus 5.5 <[email protected]> --------- Co-authored-by: Claude Opus 5.5 <[email protected]> (cherry picked from commit41e214c318) * M13: exit cleanly when stdout pipe closes (#203) Co-authored-by: Brandon Thomas <[email protected]> (cherry picked from commit1cf0d319e4) --------- Co-authored-by: Claude Opus 5.5 <[email protected]> Co-authored-by: Ayan <[email protected]>
56 lines
2.7 KiB
Markdown
56 lines
2.7 KiB
Markdown
# Contributors in the About window
|
|
|
|
**About ▸ Contributors** credits everyone who contributed to PdfCraft, and **About ▸ Models** credits
|
|
the AI models named in `Co-Authored-By` trailers. This follows the shared craftrules standard
|
|
[`standards/contributors.md`](https://github.com/storytold/craftrules/blob/main/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):
|
|
- [`contributors/contributors.json`](../contributors/contributors.json): commit stats per GitHub
|
|
username. **Generated** by `craftrules/scripts/contributors.py`; never hand-edit.
|
|
- [`contributors/people.toml`](../contributors/people.toml): the names people chose for
|
|
themselves. **Each contributor adds only their own entry**, in their own PR.
|
|
- 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 `@`.
|
|
|
|
## In PdfCraft
|
|
|
|
- The About window is the `Dialog::About` arm in `crates/ui-egui/src/dialogs.rs` (Help ▸ About, `help.about`).
|
|
|
|
## Credit yourself
|
|
|
|
Add your entry to `contributors/people.toml` in a PR you commit yourself (every field optional):
|
|
|
|
```toml
|
|
[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/`:
|
|
|
|
```sh
|
|
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)
|
|
|
|
```sh
|
|
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.
|