agentleFS
Sign inSign up

cadgenbench / rules

huggingface/cadgenbench/.cursor/rules/prose-audit.mdc

Auditable rules for prose on public-facing surfaces (READMEs, docs/, dataset cards, Space app text). Process docs under space-setup/ are exempt. Style basics (em-dashes, AI tells, lowercase) live in style.mdc, not duplicated here.

Cursor rule126 starsChanged 4 months ago
# CADGenBench: prose audit

Auditable rules for prose on public-facing surfaces (READMEs,
`docs/`, dataset cards, Space app text). Process docs under
`space-setup/` are exempt.

Style basics (em-dashes, AI tells, lowercase) live in
[style.mdc](./style.mdc), not duplicated here.

## adhere to HF benchmark conventions
- Default to the shape established by other HF benchmark surfaces.
  When something isn't otherwise pinned, do what they do.
- Reference Spaces and repos:
  - [adyen/DABstep](https://huggingface.co/spaces/adyen/DABstep)
    (leaderboard Space text, validation guidelines)
  - [Open LLM Leaderboard](https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard)
    (About / FAQ tone)
  - [huggingface/lighteval](https://github.com/huggingface/lighteval),
    [bigcode-project/bigcodebench](https://github.com/bigcode-project/bigcodebench)
    (benchmark README + docs/ layout)
- Short, concise, no fluff, user-friendly: document what the typical
  visitor of each repo / dataset / Space will do, and nothing extra.
- Order sections so the most common task scans first. Code repo:
  install + run, then internals. Dataset card: load + columns, then
  provenance. Space: submit + browse, then About / FAQ.
- Cut hedging, throat-clearing, bullet lists that exist to look
  thorough, repeated bold/italic emphasis, paragraphs that restate
  the section heading.

## describe what is, not what was
- Public surfaces describe the current contract. No change-log
  framing, no apology framing, no "previously / we used to" prose.
- Greppable tells (case-insensitive):
  `previously`, `used to`, `historically`, `originally`, `formerly`,
  `in the past`, `no longer`, `we now`, `we've moved`,
  `migrated from`, `removed`, `dropped`, `deprecated`.
- Release-history files (`CHANGELOG.md`, release notes) are exempt.
  Everything else: rewrite to describe the current state.

## don't define by absence
- Describe what something is, not what it isn't.
- Greppable tells (case-insensitive):
  `no separate`, `no need to`, `there is no`, `there's no`,
  `you don't have to`, `without having to`, `unlike`.
- Rewrite to the positive form. "Submissions land via the form" beats
  "no separate submission API to fill in".

## no false contrast
- "X not Y" / "X rather than Y" is only legitimate when Y is a real
  alternative a reader would genuinely consider (e.g. "the eval runs
  on the Space, not locally"). If Y is a strawman or an internal
  historical choice, cut the contrast and state the positive.
- Greppable tells (manual triage, many legitimate hits):
  ` not `, `rather than`, `instead of`, `as opposed to`.

## scope
- In scope:
  `cadgenbench/README.md`, `cadgenbench/docs/**/*.md`,
  `AI4Engineering/**/*.py` user-facing strings,
  `AI4Engineering/README.md`, dataset-card READMEs in
  `cadgenbench-data/`, `cadgenbench-data-gt/`,
  `cadgenbench-submissions/`.
- Out of scope:
  `space-setup/**` (process docs), `CHANGELOG.md`, release notes,
  test fixtures, code comments explaining historical decisions.

## audit recipe
- Run each greppable pattern above against the in-scope paths.
- For each hit: rewrite to a positive present-tense statement of the
  current contract, or confirm the contrast is genuinely useful to
  the reader. False-contrast hits are the largest bucket; most
  legitimate ` not ` uses survive review.

Discussion

Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.

Posts are public.Sign in to post

No one has posted yet. Be the first.