Your calm window into the Atmosphere. morgen.blue
rss atproto
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs: tighten testing guidance in CLAUDE.md

Add guidance to extract shared setup into traits/helpers and to test
with senior-dev judgment over exhaustive edge-case enumeration.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

+2 -5
+2 -5
CLAUDE.md
··· 13 13 ## Tooling 14 14 15 15 - **Package manager: bun only.** Never use npm, yarn, or pnpm for dependency changes. All install/run/build commands must use `bun`. PHP deps via Composer. 16 - - **Never read or search inside `node_modules/` or `vendor/`.** Treat as off-limits. 17 16 - **Never use inline eval** (`node -e`, `bun -e`, or equivalent). Don't create temporary files to work around this. To investigate JS package APIs, use [npmx.dev](https://npmx.dev) instead. 18 17 - **Wayfinder over hardcoded URLs.** Import route helpers from `@/routes/*` and action helpers from `@/actions/*`. Re-run `php artisan wayfinder:generate` after route or controller changes. 19 18 - **Inertia + React pages live at `resources/js/pages/`.** Kebab-case filenames, default export a component. ··· 23 22 - Use **Red/Green TDD** as the standard development paradigm. 24 23 - **Pest** for backend tests (`tests/Feature`, `tests/Unit`). Run with `php artisan test --compact` — add `--filter=<name>` to scope. 25 24 - Prefer feature tests over unit tests unless the logic is genuinely pure. 25 + - **Extract shared setup into traits** (or Pest `beforeEach`/helpers) instead of repeating arrange code across individual test cases. Reach for a trait the second time you'd copy-paste setup. 26 + - **Test like an experienced senior dev**: focus on meaningful behavior and likely failure modes, not exhaustive edge-case enumeration. Each test should earn its place. 26 27 - No frontend test runner is installed yet; add Vitest when the first interaction-worthy UI lands. 27 28 28 29 ## Verification ··· 48 49 - [ATProto OAuth](https://atproto.com/specs/oauth), [ATProto permissions](https://atproto.com/specs/permission) 49 50 - [revolution/laravel-bluesky docs](https://github.com/invokable/laravel-bluesky/blob/main/docs/socialite.md) 50 51 - Skyreader lexicons — `lexicons/app/skyreader/` 51 - 52 - ## Laravel Boost note 53 - 54 - `laravel/boost` is installed and its `boost:update` hook runs on every `composer install/require/update`. That hook rewrites parts of this file. If it clobbers important content, recover from git. Long-term options: uninstall Boost, or merge Boost's guideline block into this file intentionally.