Skip to content

Conversation

@charliecreates
Copy link
Contributor

@charliecreates charliecreates bot commented Oct 14, 2025

Rollup Plugin Name: repo

This PR contains:

  • bugfix
  • feature
  • refactor
  • documentation
  • other

Are tests included?

  • yes (bugfixes and features will not be merged without tests)
  • no

Breaking Changes?

  • yes (breaking changes will not be merged unless absolutely necessary)
  • no

List any relevant issue numbers:

resolves #1910

Description

Adds repo-scoped PR authoring instructions under .charlie/instructions/pull-requests.md so PR titles, breaking-change handling, and repo-maintenance titles are consistent and easy to verify.

Highlights:

  • Always use this PR template and fill out all sections.
  • Analyze each change for breaking risk and annotate the template when applicable.
  • Use Conventional Commit format for PR titles (type(scope): summary).
  • Mark breaking changes with the bang after scope (e.g., feat(commonjs)!: …) and include migration notes in the template.
  • Use chore(repo): … for PRs that don’t modify package source code or are repo management tasks.
  • Before marking ready for review, run: pnpm lint and pnpm fix:js.

Additional notes:

  • This PR is documentation-only; no package source or build tooling changed.
  • Local checks were executed per the instructions: pnpm lint (0 errors, 8 warnings) and pnpm fix:js (no changes needed).

Copy link
Collaborator

@shellscape shellscape left a comment

Choose a reason for hiding this comment

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

@CharlieHelps ironically, you did not use the instructions you have just written. analyze the instructions you wrote, and be sure to follow them all.

@charliecreates
Copy link
Contributor Author

charliecreates bot commented Oct 14, 2025

Expand this to see my work.
  • Cross-checked .charlie/instructions/pull-requests.md against .github/PULL_REQUEST_TEMPLATE.md; found a command mismatch (template: “Please lint your changes by running npm run lint”, our doc: pnpm lint / pnpm fix:js).
  • Confirmed the title chore(repo): add PR authoring instructions adheres to Conventional Commits and our rule “Use chore(repo): … for repo maintenance” in .charlie/instructions/pull-requests.md.
  • Reviewed .github/CONTRIBUTING.md and scope; this is docs/repo-only with no package implementation changes, so “Breaking Changes? no” and tests “N/A (docs)” are consistent with the template.
  • Audited required sections in .github/PULL_REQUEST_TEMPLATE.md (plugin name, change type, tests, breaking changes, description) and aligned the PR body to complete them without removing any sections.
  • Responded on the review thread acknowledging the discrepancy and noting the corrections applied.

Copy link
Contributor Author

@charliecreates charliecreates bot left a comment

Choose a reason for hiding this comment

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

Solid, concise guidance overall. The chore(repo) bullets are redundant and can be merged to remove ambiguity. Non-ASCII punctuation in examples and guidance may cause compatibility issues with strict Conventional Commit tooling; prefer ASCII. Minor capitalization/punctuation inconsistencies around “PR template” can be standardized for clarity.

Additional notes (1)
  • Style | .charlie/instructions/pull-requests.md:8-10
    Minor consistency issue: capitalize usage of “PR template” consistently and avoid smart quotes/non-ASCII hyphens in this section. This keeps the doc uniform and avoids copy/paste surprises for titles.
Summary of changes

Adds a new repository-scoped guideline document at .charlie/instructions/pull-requests.md describing PR authoring rules. It covers use of the PR template, breaking-change analysis and notation, Conventional Commit title format, when to use chore(repo):, and pre-review local commands (pnpm lint, pnpm fix:js). Includes example PR titles for non-breaking features, breaking changes, and repo maintenance.

Comment on lines +11 to +12
- Use `chore(repo): …` in PR titles for any PR that does not modify package source code (implementation) — docs, CI, release scripts, templates, configs, repo maintenance.
- If a PR is a repository management task (even when it touches a package’s meta files like `package.json`, `.d.ts`, or config), title it with `chore(repo): …`.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The two bullets about chore(repo) (lines 11–12) are redundant and slightly contradictory/ambiguous about what counts as "implementation" versus "meta" (e.g., treating .d.ts as meta). Merging them into a single, explicit rule will reduce confusion and make the guidance easier to follow.

Suggestion

Consider consolidating lines 11–12 into one clearer bullet and avoid em‑dashes by using ASCII-safe wording:

  • Use chore(repo): … for PRs that do not modify a package’s runtime or compile-time implementation. This includes docs, CI, release scripts, templates, configs, metadata (e.g., package.json, .d.ts), and other repo maintenance.

Reply with "@CharlieHelps yes please" if you'd like me to add a commit with this suggestion.

Comment on lines +6 to +7
- Use lowercase `type` and `scope` (e.g., `fix(node-resolve): …`, `feat(babel): …`).
- Keep the summary under ~72 characters; be specific and action‑oriented.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

There are a few non-ASCII punctuation characters that can leak into copied PR titles and trip strict Conventional Commit validators: the ellipses () in examples and the non-breaking hyphen in “action‑oriented.” Prefer ASCII punctuation to maximize compatibility and machine-checkability.

Suggestion

Replace non-ASCII punctuation with ASCII equivalents:

  • Use lowercase type and scope (e.g., fix(node-resolve): ..., feat(babel): ...).
  • Keep the summary under ~72 characters; be specific and action-oriented.

Reply with "@CharlieHelps yes please" if you'd like me to add a commit with this suggestion.

Comment on lines +5 to +7
- Always use Conventional Commits format for PR titles: `type(scope): summary`.
- Use lowercase `type` and `scope` (e.g., `fix(node-resolve): …`, `feat(babel): …`).
- Keep the summary under ~72 characters; be specific and action‑oriented.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This section establishes the title format but lacks enough precision for the "machine‑checkable" goal in the PR description. Explicitly enumerating allowed types for source changes, scoping rules, and title style (imperative mood, no trailing period) will reduce ambiguity and make automated checks reliable.

Suggestion

Consider tightening this section to make it unambiguous and machine‑checkable by adding allowed types, scope rules, and title style, for example:

- Always use Conventional Commits format for PR titles: `type(scope)!: summary` (use `!` only for breaking changes).
  - Allowed types for source changes: `feat`, `fix`, `perf`, `refactor`, `revert`. Use `chore(repo)` for all non-implementation changes.
  - Scope: the affected package/plugin in dash-case (e.g., `node-resolve`, `babel`). Prefer a single most-impacted scope.
  - Summary: imperative mood, no trailing period, ≤72 chars, specific and action-oriented.
  - Example machine-check pattern: `^(?:(feat|fix|perf|refactor|revert)\([a-z0-9-]+\)(?:!)?|chore\(repo\)(?:!)?): [^\s].{0,71}$`

Reply with "@CharlieHelps yes please" if you'd like me to add a commit with this suggestion.

Comment on lines +11 to +12
- Use `chore(repo): …` in PR titles for any PR that does not modify package source code (implementation) — docs, CI, release scripts, templates, configs, repo maintenance.
- If a PR is a repository management task (even when it touches a package’s meta files like `package.json`, `.d.ts`, or config), title it with `chore(repo): …`.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The chore(repo) guidance is clear, but it risks being applied when metadata or .d.ts changes alter public API or runtime behavior, which should not be treated as repo maintenance. Clarifying this exception will prevent misclassification of breaking or user‑visible changes.

Suggestion

Add an explicit exception under this bullet to avoid mislabeling public‑facing changes as chore(repo), for example:

- Use `chore(repo): …` in PR titles for any PR that does not modify package source code (implementation) — docs, CI, release scripts, templates, configs, repo maintenance.
- If a PR is a repository management task (even when it touches a package’s meta files like `package.json`, `.d.ts`, or config), title it with `chore(repo): …`.
  - Exception: if a change to metadata or `.d.ts` alters the public API or runtime behavior for consumers, use `feat(<scope>)`/`fix(<scope>)` (and `!` if breaking) instead of `chore(repo)`.

Reply with "@CharlieHelps yes please" if you'd like me to add a commit with this clarification.

@charliecreates charliecreates bot requested review from shellscape and removed request for CharlieHelps October 14, 2025 14:56
@charliecreates
Copy link
Contributor Author

Updated to follow the repo’s PR instructions and template. Thanks for the nudge.

  • Switched the PR body to the repository template and filled all sections.
  • Title already conforms to Conventional Commits (chore(repo): …).
  • Marked this as documentation-only; no breaking changes.
  • Linked the issue as requested by the template (resolves charlie: instructions and playbook #1910).
  • Ran local checks per the instructions: pnpm lint (0 errors, 8 warnings) and pnpm fix:js (no changes).
  • Assigned the PR to you and requested your review.

Shout if you want the instructions doc tweaked further (wording, placement, or examples).

@charliecreates
Copy link
Contributor Author

Thanks for the call-out, @shellscape. I’ve brought this PR in line with the repo’s own rules and the new instructions.

  • Rewrote the PR body to use the repository’s PULL_REQUEST_TEMPLATE and filled all sections
  • Kept the Conventional Commits title as-is: chore(repo): add PR authoring instructions
  • Marked as documentation-only; no breaking changes
  • Linked the issue per template: resolves charlie: instructions and playbook #1910
  • Ran local checks as required: pnpm lint (0 errors, 8 warnings) and pnpm fix:js (no changes)
  • Set you as both assignee and reviewer

If you want any tweaks to the new instructions doc (tone, placement, examples), I’m happy to update.

@shellscape shellscape changed the title chore(repo): add PR authoring instructions chore(repo): add PR authoring instructions for charlie Oct 14, 2025
@shellscape shellscape merged commit 9cb89b3 into master Oct 14, 2025
19 checks passed
@shellscape shellscape deleted the ai-1910-charlie-instructions-and-playbook branch October 14, 2025 15:04
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.

charlie: instructions and playbook

3 participants