fix(docs): fix formatting issues in README.md
- adapt meta-/code-/obs- rules to the local Python benchmark pipeline - replace db-sql-ddl, code-config-env-scope, test-e2e-pytest with pipeline equivalents - add code-python-style, data-determinism, data-naming-units, bench-methodology, build-pipeline-tasks - normalize specs and README typography to ASCII per code-data-formatting - rewrite root CLAUDE.md trigger table; add .cursorrules and .gitignore - specs: pipeline plan and task specs 00-11 - rules: 19 binding rule files adapted for this project - docs: CLAUDE.md rule-trigger table - config: .cursorrules commit convention, .gitignore excluding out/ and .venv/ - docs: rewrite README.md with pipeline diagrams, setup guide, result placeholders - config: requirements.txt for the closed dependency list - datagen: make_lab_config.py writes out/config/lab_config.yaml and .done marker
This commit is contained in:
62
docs/rules/meta-cursor-rules.md
Normal file
62
docs/rules/meta-cursor-rules.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Meta / Cursor rule artifact - commit-message generation
|
||||
|
||||
**Binding** for keeping Cursor's commit-message generation aligned with this
|
||||
project's commit convention.
|
||||
|
||||
The development environment is the Cursor IDE with the Claude Code extension.
|
||||
Claude Code reads the root `CLAUDE.md` and `docs/rules/` directly and needs no
|
||||
`.cursorrules`. Cursor's OWN built-in AI (Chat/Composer and the SCM "sparkle"
|
||||
commit-message generator) does not read those files - it reads `.cursorrules`.
|
||||
Since the user creates all commits themselves (see
|
||||
[`meta-git-commits.md`](meta-git-commits.md)) and may use the one-click SCM
|
||||
generator to draft the message, `.cursorrules` must exist and must encode the
|
||||
commit convention.
|
||||
|
||||
This project ships a SINGLE Cursor rules file: the root
|
||||
[`.cursorrules`](../../.cursorrules). There is no `.cursor/rules/*.mdc`
|
||||
directory here, and none should be added. All Cursor rule content lives in
|
||||
`.cursorrules`.
|
||||
|
||||
---
|
||||
|
||||
## 1. The requirement
|
||||
|
||||
`.cursorrules` MUST encode this project's commit-message convention so that
|
||||
Cursor's generator emits conforming messages. The authoritative convention
|
||||
lives in [`meta-git-commits.md`](meta-git-commits.md); `.cursorrules` mirrors
|
||||
it as plain-text instructions to the generator.
|
||||
|
||||
The failure mode this rule prevents: a missing or stale `.cursorrules`, so the
|
||||
one-click SCM generator falls back to Cursor defaults and emits unprefixed junk
|
||||
(`Update files`, `Improve project`).
|
||||
|
||||
## 2. What `.cursorrules` must encode
|
||||
|
||||
1. **First-line format** - `type(scope): description`, lowercase imperative
|
||||
summary in English, under 72 chars, no trailing period.
|
||||
2. **Allowed types (closed list)** - `feat fix perf refactor security docs ci
|
||||
chore test`.
|
||||
3. **Allowed scopes (closed list)** - `specs rules docs config datagen convert
|
||||
bench report tools all`, with the area mapping from
|
||||
[`meta-git-commits.md`](meta-git-commits.md).
|
||||
4. **Coverage rule** - the subject is only a title; multi-area diffs need a
|
||||
blank line and a 2-6 bullet body covering every meaningful changed area; use
|
||||
`all` when no narrower scope honestly fits; split unrelated work.
|
||||
5. **Anti-examples** - forbid vague/unprefixed lines (`Update files`, `Improve
|
||||
project`, `clarify rules`).
|
||||
6. **Allowed special forms** - `Merge ...` commits are allowed as-is;
|
||||
`release(scope): vX.Y.Z` is allowed for releases.
|
||||
|
||||
## 3. Keeping the mirror in sync
|
||||
|
||||
No commit-msg hook is installed in this repository; the convention is enforced
|
||||
by review. `.cursorrules` and [`meta-git-commits.md`](meta-git-commits.md)
|
||||
must agree: same type list, same scope list, same first-line format. If the
|
||||
convention changes, update both files in the same change set.
|
||||
|
||||
## 4. Scope boundary
|
||||
|
||||
This rule governs the commit-message *convention materialization* - not who may
|
||||
create commits. Commit authorship is governed by
|
||||
[`meta-git-commits.md`](meta-git-commits.md): rules files describe the
|
||||
convention; only the user creates actual commits.
|
||||
Reference in New Issue
Block a user