ui-spa Cursor ruleA
ui-spa from coddy-project/coddy-agent is a Cursor rule: instructions the Cursor agent follows in that repo.
mdr add coddy-project/coddy-agent/.cursor/rules/ui-spa.mdc@git:20261020.dcb923aPins git:20261020.dcb923a in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 14 of 14 checks passed
- Kind
- Cursor rule
- Repository
- coddy-project/coddy-agent
- Path
.cursor/rules/ui-spa.mdc- Versions recorded
- 28
- Latest version
- git:20261020.dcb923a, committed Oct 20, 2026
- First version recorded
- Sep 24, 2026
- Size
- 58,761 bytes
- Repository stars
- 178
- License
- MIT
Embedded SPA chat UI conventions (thinking row, context meter, rebuild).
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Embedded UI (`external/ui`)
- Rebuild **`go:embed`** assets after UI changes: **`make build TAGS="http ui"`** (runs **`ui-build`**).
- **Prettier** - the SPA is Prettier-clean at the project's defaults (no config file; **`external/ui/.prettierignore`** keeps the build output and the vendored grammars out). Format what you touch with **`cd external/ui && npx prettier --write <file>...`**, or the whole tree with **`npm run fmt`**. **`make ui-format-check`** checks the whole tree: the pre-commit gate runs it whenever a commit stages SPA files (**`CODDY_HOOK_FORMAT`**, **`scripts/checks.sh`**), and so does CI's Lint job.
- **Thinking disclosure row** - duration must sit **next to** the **thinking** label, not at the trailing edge of the column. Markup keeps **`.thinking-dur`** inside **`.thinking-left`** in **`ThinkingMessage.tsx`**. Styles use **`.thinking-left { gap: 0 5px; }`** in **`styles.css`**. Do not drive label vs timer spacing with **`justify-content: space-between`** on **`summary.thinking-summary`**. The reasoning tokens (**`.thinking-tokens`**, the live line's short count, the exact number in its **`title`**) follow the duration inside **`.thinking-left`**, apart from…
…Read the whole file at its exact version.
How to install
mdr add coddy-project/coddy-agent/.cursor/rules/ui-spa.mdc@sha256:24b94cb89d255b52The line at the top of this page pins the label git:20261020.dcb923a, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_gcgitxt3ipkkd6p7)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 28 versions of this file, between Sep 24, 2026 and Oct 20, 2026, more than one a day.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261020.dcb923a latest | 2026-10-20 | dcb923a | 58,761 B | A | view · diff |
| git:20261019.0128fd9 | 2026-10-19 | 0128fd9 | 58,639 B | A | view · diff |
| git:20261019.65aa618 | 2026-10-19 | 65aa618 | 58,332 B | A | view · diff |
| git:20261018.d929595 | 2026-10-18 | d929595 | 56,761 B | A | view · diff |
| git:20261018.266d361 | 2026-10-18 | 266d361 | 55,222 B | A | view · diff |
| git:20261014.365d4d9 | 2026-10-14 | 365d4d9 | 53,065 B | A | view · diff |
| git:20261014.fadc2fb | 2026-10-14 | fadc2fb | 52,010 B | A | view · diff |
| git:20261014.ebcbc6b | 2026-10-14 | ebcbc6b | 51,997 B | A | view · diff |
| git:20261013.2b00bb0 | 2026-10-13 | 2b00bb0 | 52,693 B | A | view · diff |
| git:20261013.6938a02 | 2026-10-13 | 6938a02 | 54,567 B | A | view · diff |
| git:20261010.79dc4ae | 2026-10-10 | 79dc4ae | 51,638 B | A | view · diff |
| git:20261009.654c9d1 | 2026-10-09 | 654c9d1 | 50,046 B | A | view · diff |
| git:20261009.8cfbf3f | 2026-10-09 | 8cfbf3f | 49,891 B | A | view · diff |
| git:20261008.6e35661 | 2026-10-08 | 6e35661 | 46,891 B | A | view · diff |
| git:20261008.d5a75f1 | 2026-10-08 | d5a75f1 | 46,798 B | A | view · diff |
| git:20261008.3d8aed9 | 2026-10-08 | 3d8aed9 | 47,133 B | A | view · diff |
| git:20261008.ec58209 | 2026-10-08 | ec58209 | 45,704 B | A | view · diff |
| git:20261008.5eae25c | 2026-10-08 | 5eae25c | 45,903 B | A | view · diff |
| git:20261003.6804b95 | 2026-10-03 | 6804b95 | 30,105 B | A | view · diff |
| git:20261003.1568dd5 | 2026-10-03 | 1568dd5 | 30,079 B | A | view · diff |
| git:20260928.b0f2ca9 | 2026-09-28 | b0f2ca9 | 28,535 B | A | view · diff |
| git:20260928.6b2e85f | 2026-09-28 | 6b2e85f | 28,218 B | A | view · diff |
| git:20260927.655ed8d | 2026-09-27 | 655ed8d | 26,813 B | A | view · diff |
| git:20260926.0d8a136 | 2026-09-26 | 0d8a136 | 26,780 B | A | view · diff |
| git:20260926.0e6bcf8 | 2026-09-26 | 0e6bcf8 | 26,558 B | A | view · diff |
| git:20260926.bba42ff | 2026-09-26 | bba42ff | 25,040 B | A | view · diff |
| git:20260926.b136cd1 | 2026-09-26 | b136cd1 | 24,284 B | A | view · diff |
| git:20260924.cfa2a68 | 2026-09-24 | cfa2a68 | 23,560 B | A | view |
Audit of the latest version
- pass: Size between 200 bytes and 200 KB (58761 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
coddy-project/coddy-agent · 178 stars · license MIT · pushed 2026-10-20 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_gcgitxt3ipkkd6p7 GET https://markdownregistry.com/api/v1/resolve?ref=coddy-project/coddy-agent/.cursor/rules/ui-spa.mdc GET https://markdownregistry.com/api/v1/blob/24b94cb89d255b52917d40f9ea6e4b414e731976427066dcb1e4282b5c8cc0c4
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: Cursor rules vs AGENTS.md · which agent file does what.