Rewrite the contributor guide and tidy the repo docs - #416
Merged
Conversation
Update references in AGENTS.md now that it's no longer under docs/.
Avoid duplicating the summary list, which drifts from AGENTS.md as it changes.
Root bin/ holds tracked native libs, so only ignore */bin/.
The old file was mostly the generic contributing template: an empty "open a new issue" link, a bug-report section duplicating the issue forms, and commit rules that no longer matched the history — `build` listed as both a type and a scope, no `deps` scope, and a mandatory 20-character body that most `fix`/`chore` commits ignore. - add quick start, prerequisites, and the checks to run before pushing - lift the rules that actually block review to the top: never edit src/generated, never commit bin/ natives, one topic per PR, doclint - extend commit types to feat|fix|perf|refactor|docs|test|build|chore| revert, and scopes from 3 to 13 matching the module layout - add PR rules: the title must be a valid commit header since PRs are squash-merged, plus body sections, label mapping, and CI coverage - document the release procedure and the versioning scheme — MAJOR.MINOR tracks Dear ImGui, so the version can never signal a breaking change - point AGENTS.md and README at CONTRIBUTING.md as the commit/PR/release authority, and give the PR template matching sections Co-authored-by: Claude <noreply@anthropic.com>
A conventional header is a poor PR title: it describes the first or largest commit rather than the whole change, and it reads badly in the PR list where a reviewer is scanning for what a change does. The type is already carried by the label, so the prefix is redundant there. - title is now a descriptive sentence, sentence case, no prefix - the conventional header is written into the squash subject at merge time, so `main` history is unaffected - sync the rule across the PR template and AGENTS.md Co-authored-by: Claude <noreply@anthropic.com>
The repo now has a label per commit type (perf, refactor, test, build, revert added; chore's description narrowed to housekeeping so it no longer overlaps refactor), plus breaking-change. Collapsing five types into `chore` lost the distinction the types exist to make. - replace the many-to-one table with a direct type -> label mapping - `build(deps)` still takes `deps`, which Dependabot applies itself - breaking-change stacks on top of the type label; with the version pinned to Dear ImGui it is the only visible marker in the PR list Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Move
CONTRIBUTING.mdto the repo root, rewrite it into an actual contributor guide, and alignAGENTS.md,README.md, and the PR template with it.The old file was mostly the generic contributing template — an empty "open a new issue" link, a bug-report section duplicating the issue forms, and commit rules that had drifted from the real history (
buildlisted as both a type and a scope, nodepsscope, a mandatory 20-character body that mostfix/chorecommits ignore).What the rewrite adds:
--recurse-submodules, prerequisites, the checks to run before pushing.src/generated/java/, never commitbin/natives, one topic per PR, doclint must pass.feat|fix|perf|refactor|docs|test|build|chore|revert, scopes from 3 to 13 matching the module layout,!+BREAKING CHANGE:convention.MAJOR.MINORtracks Dear ImGui,PATCHis our own counter), the consequence that the version can never signal a breaking change, and the tag → CI → draft release → Maven Central procedure.Also on this branch:
CLAUDE.mdtrimmed to defer entirely toAGENTS.md, and per-modulebin/output from Eclipse/VS Code Java builds added to.gitignore.Type of change
Notes for reviewer
v1.92.0↔imgui1.92.7,v1.90.0↔1.90.9,v1.89.0↔1.89.9, andv1.87.0–v1.87.7on one upstream version. Worth confirming that is the intended rule and not just how it happened to land..github/workflows/ci.ymlandbuildSrc/scripts/publish.sh. Any manual step that lives only in your head is missing from it.perf,refactor,test,build,revertadded,chorenarrowed to housekeeping), plusbreaking-change. The label table in the guide is now a direct mapping.