AGENTS.md@packages/contractsA
AGENTS.md@packages/contracts from canonry/canonry is an AGENTS.md file: the standing instructions coding agents read in that repo.
mdr add canonry/canonry/packages/contracts/AGENTS.md@git:20261107.f5d4612Pins git:20261107.f5d4612 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 14 of 14 checks passed
- Kind
- AGENTS.md file
- Repository
- canonry/canonry
- Path
packages/contracts/AGENTS.md- Versions recorded
- 43
- Latest version
- git:20261107.f5d4612, committed Nov 7, 2026
- First version recorded
- Aug 5, 2026
- Size
- 50,485 bytes
- Repository stars
- 199
- License
- MIT
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
# contracts ## Purpose Shared DTOs, enums, Zod schemas, error codes, config validation, and **generic utilities** — the type and helper backbone of the monorepo. Every package imports from here. Never define shared types or generic helpers in consuming packages — see the "Shared Utilities" section in the root `AGENTS.md`. ## Key Files | File | Role | |------|------| | `src/operation-access.ts` | Shared stored, live, and write operation classification used by REST, CLI, and MCP metadata. Keep the explicit live and semantic route tables synchronized with OpenAPI paths. | | `src/errors.ts` | `AppError` class, `ErrorCode` union (27 codes), factory functions, and `describeError` — the shared way to render a caught `unknown` as text. Prefer it over `err instanceof Error ? err.message : String(err)` everywhere: that `String()` branch renders a thrown plain object as `[object Object]`, and the `no-base-to-string` lint rule only catches it where the value is typed `unknown`. `describeError` keeps the Error and string paths identical, reports null/undefined as `'unknown error'`, JSON-serializes anything else, and never throws. Note the one place it must NOT be used… …
Read the whole file at its exact version.
How to install
mdr add canonry/canonry/packages/contracts/AGENTS.md@sha256:4a4f0249adb299f6The line at the top of this page pins the label git:20261107.f5d4612, 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_lbv6yhilueviqtvv)
6 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 43 versions of this file, between Aug 5, 2026 and Nov 7, 2026, about one every 2 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261107.f5d4612 latest | 2026-11-07 | f5d4612 | 50,485 B | A | view · diff |
| git:20261102.485708a | 2026-11-02 | 485708a | 50,089 B | A | view · diff |
| git:20261101.422c745 | 2026-11-01 | 422c745 | 49,362 B | A | view · diff |
| git:20261031.d072bd7 | 2026-10-31 | d072bd7 | 48,874 B | A | view · diff |
| git:20261024.d05c2c6 | 2026-10-24 | d05c2c6 | 48,657 B | A | view · diff |
| git:20261022.8a7aeb5 | 2026-10-22 | 8a7aeb5 | 48,366 B | A | view · diff |
| git:20261022.53f7a5f | 2026-10-22 | 53f7a5f | 46,653 B | A | view · diff |
| git:20261022.e27d5bf | 2026-10-22 | e27d5bf | 46,324 B | A | view · diff |
| git:20261022.a0cad23 | 2026-10-22 | a0cad23 | 45,971 B | A | view · diff |
| git:20261021.3670fc2 | 2026-10-21 | 3670fc2 | 45,604 B | A | view · diff |
| git:20261015.c8ecbd8 | 2026-10-15 | c8ecbd8 | 44,938 B | A | view · diff |
| git:20261012.89a7b4b | 2026-10-12 | 89a7b4b | 44,928 B | A | view · diff |
| git:20261012.e8bc9e5 | 2026-10-12 | e8bc9e5 | 44,101 B | A | view · diff |
| git:20261009.3bf6bc3 | 2026-10-09 | 3bf6bc3 | 43,232 B | A | view · diff |
| git:20261008.27c13aa | 2026-10-08 | 27c13aa | 42,498 B | A | view · diff |
| git:20261008.e5577fd | 2026-10-08 | e5577fd | 42,040 B | A | view · diff |
| git:20261008.df2022e | 2026-10-08 | df2022e | 41,337 B | A | view · diff |
| git:20261008.6f387d8 | 2026-10-08 | 6f387d8 | 36,043 B | A | view · diff |
| git:20261005.0066267 | 2026-10-05 | 0066267 | 30,781 B | A | view · diff |
| git:20261005.6a2c5dd | 2026-10-05 | 6a2c5dd | 30,762 B | A | view · diff |
| git:20261004.07710f0 | 2026-10-04 | 07710f0 | 30,631 B | A | view · diff |
| git:20261002.fa1be43 | 2026-10-02 | fa1be43 | 30,370 B | A | view · diff |
| git:20260929.728d007 | 2026-09-29 | 728d007 | 30,088 B | A | view · diff |
| git:20260929.d88a56a | 2026-09-29 | d88a56a | 29,711 B | A | view · diff |
| git:20260928.927559d | 2026-09-28 | 927559d | 29,529 B | A | view · diff |
| git:20260928.0d21d82 | 2026-09-28 | 0d21d82 | 27,740 B | A | view · diff |
| git:20260928.54ba11c | 2026-09-28 | 54ba11c | 26,876 B | A | view · diff |
| git:20260928.6369ada | 2026-09-28 | 6369ada | 22,504 B | A | view · diff |
| git:20260928.035453b | 2026-09-28 | 035453b | 21,473 B | A | view · diff |
| git:20260921.f2d9ae1 | 2026-09-21 | f2d9ae1 | 19,526 B | A | view · diff |
| git:20260919.46b60a6 | 2026-09-19 | 46b60a6 | 19,219 B | A | view · diff |
| git:20260912.9cc37ab | 2026-09-12 | 9cc37ab | 12,312 B | A | view · diff |
| git:20260910.f243a53 | 2026-09-10 | f243a53 | 11,506 B | A | view · diff |
| git:20260910.2bcbc86 | 2026-09-10 | 2bcbc86 | 11,104 B | A | view · diff |
| git:20260909.c42eb1e | 2026-09-09 | c42eb1e | 10,894 B | A | view · diff |
| git:20260908.f9ba202 | 2026-09-08 | f9ba202 | 10,766 B | A | view · diff |
| git:20260908.a797639 | 2026-09-08 | a797639 | 10,397 B | A | view · diff |
| git:20260906.b5c915a | 2026-09-06 | b5c915a | 10,095 B | A | view · diff |
| git:20260820.8b2295d | 2026-08-20 | 8b2295d | 9,434 B | A | view · diff |
| git:20260817.52f9195 | 2026-08-17 | 52f9195 | 9,085 B | A | view · diff |
| git:20260816.aa9e4ab | 2026-08-16 | aa9e4ab | 8,729 B | A | view · diff |
| git:20260806.ea2c655 | 2026-08-06 | ea2c655 | 8,051 B | A | view · diff |
| git:20260805.68dbf62 | 2026-08-05 | 68dbf62 | 7,761 B | A | view |
Audit of the latest version
- pass: Size between 200 bytes and 200 KB (50485 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
canonry/canonry · 199 stars · license MIT · pushed 2026-11-08 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_lbv6yhilueviqtvv GET https://markdownregistry.com/api/v1/resolve?ref=canonry/canonry/packages/contracts/AGENTS.md GET https://markdownregistry.com/api/v1/blob/4a4f0249adb299f636d536644b4c6266fa69da0c75ad8ec130449af0b70fd069
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: how to write a good AGENTS.md · AGENTS.md vs CLAUDE.md · which agent file does what.