Skip to content

docs: add CLAUDE.md with a CHANGELOG brevity convention - #279

Merged
marius-bughiu merged 2 commits into
mainfrom
docs/claude-md-changelog-convention
Jul 18, 2026
Merged

docs: add CLAUDE.md with a CHANGELOG brevity convention#279
marius-bughiu merged 2 commits into
mainfrom
docs/claude-md-changelog-convention

Conversation

@marius-bughiu

Copy link
Copy Markdown
Owner

What

Adds a CLAUDE.md at the repo root (none existed) with guidance for AI coding agents, and — the motivating piece — a CHANGELOG brevity convention.

It deliberately does not duplicate CONTRIBUTING.md; it points there as the canonical contributor guide and only restates the load-bearing, easy-to-get-wrong conventions (net8.0 floor + #if guards, struct hashers as generic constraints, no-alloc hot paths, MinVer owns versioning) plus a build/test/layout quick-reference.

The CHANGELOG convention

The new ## CHANGELOG section says entries stay short and user-facing — what observably changed and why it matters to a caller, not an implementation walkthrough. No private field names, probe/bit-shift step lists, or JIT/codegen internals; one tight entry per change; end with Closes #NNN.

It also records the functional reason, not just style: .github/workflows/release.yml extracts each ## [X.Y.Z] section verbatim as the GitHub Release body, and GitHub caps that body — so an accumulation of paragraph-per-change entries risks exceeding the limit and breaking the release.

Context

🤖 Generated with Claude Code

…ntion

No CLAUDE.md existed. Add one oriented at AI coding agents: it points to
CONTRIBUTING.md as the canonical guide and restates the load-bearing
conventions (net8.0 floor, struct hashers, no-alloc hot paths, MinVer
owns versioning), plus a dedicated CHANGELOG section codifying the
brevity convention — entries stay short and user-facing, no private
field names or codegen internals — noting that release.yml extracts each
version section verbatim as the GitHub Release body, so terse sections
keep releases within GitHub's size limit.

Establishes the convention half of #278.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 18, 2026 16:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Adds a new CLAUDE.md at the repository root to guide AI coding agents, with emphasis on establishing a concise, user-facing CHANGELOG entry convention aligned with the repo’s release automation constraints.

Changes:

  • Introduces agent-focused repository guidance without duplicating CONTRIBUTING.md.
  • Documents build/test expectations and key coding constraints (net8.0 floor, #if guards, struct hashers, allocation avoidance, MinVer).
  • Establishes a CHANGELOG brevity convention to avoid exceeding GitHub Release body limits.

Comment thread CLAUDE.md Outdated
…s are equivalent

Addresses the review nit on #279: GitHub auto-closes on Closes/Fixes/Resolves
alike, so state that the repo standardizes on Closes for changelog consistency
rather than leaving the choice ambiguous.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 18, 2026 18:37
@marius-bughiu
marius-bughiu merged commit 08db985 into main Jul 18, 2026
7 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.

Comment thread CLAUDE.md

- `net8.0` is the floor. Shared code must not use net9/net10-only APIs unguarded — gate newer paths with `#if NET9_0_OR_GREATER` / `NET10_0_OR_GREATER` and keep a net8.0 fallback. The target list lives in `src/Directory.Build.props`.
- Coverage is gated in CI: keep line ≥ 95%, branch ≥ 90%.
- Every public type/member needs an XML doc comment (`GenerateDocumentationFile` is on; missing docs warn).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants