Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.<ext>`** 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<T>`). |
| [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. |

---
Expand All @@ -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`

Expand Down
21 changes: 21 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,24 @@ export class Settings extends Effect.Service<Settings>()("Settings", {

Secret values MUST be typed as redacted wrappers (`Config.redacted`, Pydantic `SecretStr`, Rust `secrecy::Secret<T>`). 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

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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).
Loading