41-pull-request-title

A set of rules for writing pull request titles, using Conventional Commits, a shared format such as `fix(web): handle timeout`.

In plain words
What is it for?
It helps write titles with a change type, project area, and short English summary. It also covers titles for breaking changes, which may require users to update their code.
Why use it?
It removes vague or inconsistent titles and makes changes easier to understand, review, and check automatically.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/gurezo/web-serial-rxjs/41-pull-request-title
Clone the repo
git clone --depth 1 https://github.com/gurezo/web-serial-rxjs

Made for: Cursor.

Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 479 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.00479
Opus 5 $0.00000 $0.00239
Sonnet 5 $0.00000 $0.00096
Haiku 4.5 $0.00000 $0.00048

Measured yesterday against content hash f3994253cd8c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

41-pull-request-title scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/commits/41-pull-request-title.mdc · 59 lines

What it actually says

Pull Request Title Rules

PR タイトルは Conventional Commits に統一する。GitHub Actions の commitlint ワークフローは PR に含まれる全コミットを検証するが、PR タイトル自体も同じ形式で揃える。

形式

<type>(<scope>): <summary>
  • 小文字の type / scope
  • summary は英語、命令形、末尾ピリオドなし。
  • summary は 72 文字以内。
  • 複数の変更を含む PR では代表的な type / scope を選ぶ。

scope の選び方

breaking change を含む PR

破壊的変更がある場合は PR 本文の footer に BREAKING CHANGE: を記載する。PR タイトルに ! は付けない。

本文では PR テンプレートの "API / Compatibility" セクションで Migration notes を必ず記載する。

良い例

feat(web-serial-rxjs): add SerialSession API
fix(example-react): handle StrictMode remount in useSerialSession
docs(workspace): update readme quick start
test(example-angular): add disconnect tests
ci(workspace): update npm publish workflow

悪い例

update files
fix issue
WIP
Added new component
feat: Added New Feature.
feat(web-serial-rxjs)!: change api

参照

  • .cursor/rules/commits/40-conventional-commits.mdc
  • .cursor/rules/nx/30-nx-project-scope.mdc
  • .github/pull_request_template.md
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 59 lines · 0 tokens per session scan A f3994253cd8c

Subscribe to this mod's changes

41-pull-request-title is a cursor rule published in the GitHub repository gurezo/web-serial-rxjs (2 stars, last pushed 4d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 479 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.