From f0ef349241a391275a44bf7444d8d2ab919c280a Mon Sep 17 00:00:00 2001 From: cooper <1325802+czxtm@users.noreply.github.com> Date: Mon, 8 Jun 2026 09:13:42 -0700 Subject: [PATCH] docs: sync ADR-0006 and new UI skills from darkmatter/skills catalog Add ADR-0006 (README minimum standard) to both CLAUDE.md and AGENTS.md. Add shadcn-registry-first and ui-component-architecture to the UI/Frontend skills section. Add working convention #8 for Standard Readme compliance. --- AGENTS.md | 3 ++- CLAUDE.md | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 0cc4d29..95fd4b9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -17,6 +17,7 @@ Full details: [darkmatter/skills](https://github.com/darkmatter/skills) | [0003](https://github.com/darkmatter/skills/blob/main/docs/adr/0003-protobuf-as-service-source-of-truth.md) | Cross-language types use **Protobuf + `buf`**. Default transport: **ConnectRPC**. Generated code is committed. `buf lint` + `buf breaking` in CI. | | [0004](https://github.com/darkmatter/skills/blob/main/docs/adr/0004-no-reinvention.md) | **No reinvention.** Check for existing libraries before implementing. A dependency beats a private reimplementation. | | [0005](https://github.com/darkmatter/skills/blob/main/docs/adr/0005-typed-settings-module-decoupled-from-provider.md) | **One typed `src/settings.`** per binary. Only place that reads raw env. Validates at startup. Decoupled from provider. Secret values must use redacted wrappers (`Config.redacted`, `SecretStr`, `secrecy::Secret`). | +| [0006](https://github.com/darkmatter/skills/blob/main/docs/adr/0006-readme-minimum-standard.md) | **README minimum standard.** Every non-trivial repo README MUST follow Standard Readme: title, install, usage/quickstart, command surface (ADR-0002), configuration, test command, contributing, license — all copy/paste-able from repo root. | | OTel | App code imports only **OpenTelemetry SDKs**. Provider wiring (`@sentry/*`, PostHog, etc.) lives in shared packages only. | --- @@ -35,7 +36,7 @@ Full details: [darkmatter/skills](https://github.com/darkmatter/skills) **Workflow:** `finishing-a-development-branch`, `dm-skill-creator`, `find-skills`, `run-meeting-summary` -**UI:** `frontend-design`, `ui-ux-pro-max`, `vercel-react-best-practices`, `kickoff-dm-design` +**UI:** `frontend-design`, `ui-ux-pro-max`, `vercel-react-best-practices`, `kickoff-dm-design`, `shadcn-registry-first`, `ui-component-architecture` **Platform:** `nextjs-to-rwsdk-migration`, `openchronicle-setup`, `neon-postgres` diff --git a/CLAUDE.md b/CLAUDE.md index 0a90ddd..e6fbff0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -107,6 +107,24 @@ export class Settings extends Effect.Service()("Settings", { Secret values MUST be typed as redacted wrappers (`Config.redacted`, Pydantic `SecretStr`, Rust `secrecy::Secret`). Plain string typing for a secret is a defect. +### ADR-0006: README minimum standard +**Status:** Accepted | [Full ADR](https://github.com/darkmatter/skills/blob/main/docs/adr/0006-readme-minimum-standard.md) + +Every non-trivial project README MUST follow [Standard Readme](https://github.com/RichardLitt/standard-readme/blob/main/spec.md) and include these sections in order: + +1. **Title + short description** — one line, matches repo/package name +2. **Long description / Background** — what it is, who uses it, scope boundaries +3. **Table of contents** — required for READMEs over 100 lines +4. **Install** — copy/paste-able command block for host tools and prerequisites +5. **Usage** — copy/paste-able quickstart from fresh clone to a useful result +6. **Development command surface** — aligned with ADR-0002 (`install`, `setup`, `server/run`, `test`, `build`, `ci`, `console`) +7. **Configuration and secrets** — where env vars, local config, and secrets come from (no secret values) +8. **Testing / verification** — the command a contributor runs to confirm the checkout works +9. **Contributing** — where questions go, PR policy, contribution requirements +10. **License** — last section, states license or `UNLICENSED` + +All commands must run as written from the repo root. Documentation-only repos may omit runnable sections if they say so explicitly. + ### OTel-only observability **Status:** Accepted @@ -168,6 +186,8 @@ Team-wide skills distribute from [darkmatter/skills](https://github.com/darkmatt | `vercel-react-best-practices` | React/Next.js performance | | `nextjs-to-rwsdk-migration` | Port Next.js App Router to RedwoodSDK on Cloudflare Workers | | `kickoff-dm-design` | Design-room kickoff: Linear ticket + Slack post from a Claude Design URL | +| `shadcn-registry-first` | Install from shadcn registry before hand-rolling; build 3+ variations for comparison | +| `ui-component-architecture` | Keep screens thin; reuse `@repo/ui` primitives, graduate reusables to shared package | ### Browser automation @@ -214,3 +234,4 @@ These are **not task skills** — they are consumed by the agent runtime to conf 5. **Effect is the default for TypeScript services.** See `effect-typescript` skill and ADR-0005. 6. **Protobuf when crossing language boundaries.** Use `buf`, commit generated code (ADR-0003). 7. **One settings module per binary.** No scattered `process.env` reads (ADR-0005). +8. **Every project README follows Standard Readme.** Title, install, usage/quickstart, command surface, config, test command, contributing, license — all copy/paste-able (ADR-0006).