From 4aaac690e437b742b8eafaca938cb36211468837 Mon Sep 17 00:00:00 2001 From: sean Date: Wed, 14 Oct 2026 18:06:15 +0100 Subject: [PATCH] chore(app): unit tests are found by pattern, so the test script stops conflicting The test script listed every file by hand, so every branch that added a test conflicted with every other, and resolving those conflicts dropped files: four (mermaid, code-blocks, box-routes, skills-notice-model, 45 tests) had stopped running. `pnpm test` now runs src/lib/**/*.test.ts; the theme contrast test stays with check:themes. Co-Authored-By: Claude Opus 5.5 --- .claude/skills/integrate-branches/SKILL.md | 1 - AGENTS.md | 2 +- app/package.json | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.claude/skills/integrate-branches/SKILL.md b/.claude/skills/integrate-branches/SKILL.md index 08fbc482..8c55d65c 100644 --- a/.claude/skills/integrate-branches/SKILL.md +++ b/.claude/skills/integrate-branches/SKILL.md @@ -17,7 +17,6 @@ description: Merge several feature branches (often from parallel agents) into on Don't rebase other people's branches. `git merge-tree --write-tree origin/main origin/` previews the conflicts. 3. **Resolve the usual conflicts:** - `docs/changelog.mdx`: keep every bullet from both sides under `## Unreleased`. - - `app/package.json` `"test"`: the union of both file lists. It stays the last key, with no trailing comma; check with `node -e "require('./app/package.json')"`. - Other `package.json` scripts and dependencies: keep both sides. - Mocks (`app/src/lib/mock*.ts`) and capability lists: the union of both. - Real code: keep both intents. Read both sides; don't pick one. diff --git a/AGENTS.md b/AGENTS.md index 4713dc97..294ca554 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -29,7 +29,7 @@ Browser tests: run the specs you touched, not the whole suite (`E2E_PORT=14xx np - **Ports:** 1420 is the dev app and 1377–1379 the laptop agent: never use or kill them. Vite and Playwright use `E2E_PORT` in 1421–1439, and you check the port is free first. - **Hands off:** never touch `~/.berth`, `~/Library/Application Support/berth` or the `dev.berth.berthd` launchd job. Kill only PIDs you started; no `pkill node`/`vite`/`next-server`. - **No symlinked `node_modules`** (pnpm breaks without a TTY). Install per worktree. -- **New unit test files** go into `app/package.json`'s `"test"` script list. It's the last key, with no trailing comma; keep the JSON valid. +- **New unit test files** go in `app/src/lib/` as `*.test.ts`; `pnpm test` finds them there (`src/lib/**/*.test.ts`). Don't list them in `package.json`. - **No `title=` attributes** in the app (`check:titles`); use ``. - **MDX:** a bare `` in prose is parsed as a tag and breaks the docs build. Wrap it in backticks. - **Changelog:** every user-visible change gets a bullet under `## Unreleased` in `docs/changelog.mdx`, in plain words. diff --git a/app/package.json b/app/package.json index d78b6bf4..a6a7b31d 100644 --- a/app/package.json +++ b/app/package.json @@ -23,7 +23,7 @@ "perf:guard": "node perf/guard.mjs", "perf:soak": "node perf/soak.mjs", "perf:terminals": "node perf/terminals.mjs", - "test": "node --experimental-strip-types --test src/lib/layout.test.ts src/lib/orchestrate-core.test.ts src/lib/groups.test.ts src/lib/screen.test.ts src/lib/removing.test.ts src/lib/conversation-store.test.ts src/lib/wheel.test.ts src/lib/browser-url.test.ts src/lib/terminal.test.ts src/lib/predict.test.ts src/lib/browser-sandbox.test.ts src/lib/requirements.test.ts src/lib/diagnostics.test.ts src/lib/preview-frames.test.ts src/lib/home-layout.test.ts src/lib/header-picture.test.ts src/lib/file-match.test.ts src/lib/markdown-html.test.ts src/lib/file-refs.test.ts src/lib/file-marks.test.ts src/lib/syntax-colors.test.ts src/lib/draft-text.test.ts src/lib/derive.test.ts src/lib/tree-model.test.ts src/lib/team-ref.test.ts src/lib/agent-messages.test.ts src/lib/page-loads.test.ts src/lib/devtools-model.test.ts src/lib/sidebar-width.test.ts src/lib/local-titles.test.ts src/lib/net.test.ts src/lib/share.test.ts src/lib/palette-shortcuts.test.ts src/lib/art/chart-spec.test.ts src/lib/art/gist.test.ts src/lib/art/vdiff.test.ts src/lib/term-output.test.ts src/lib/term-links.test.ts src/lib/poll.test.ts src/lib/whats-new.test.ts src/lib/platform.test.ts src/lib/processes.test.ts src/lib/link.test.ts src/lib/worktree-tree.test.ts src/lib/review-link.test.ts src/lib/login-url.test.ts src/lib/team-suggest-model.test.ts src/lib/last-of.test.ts src/lib/css-has.test.ts ../site/review/review.test.mjs src/lib/linear-issues.test.ts src/lib/marketplace.test.ts scripts/build-marketplace.test.mjs src/lib/leadline.test.ts src/lib/helper-path.test.ts src/lib/plugin-helpers.test.ts src/lib/database.test.ts src/lib/command-rank.test.ts src/lib/browser-tabs.test.ts src/lib/callouts.test.ts src/lib/repo-refs.test.ts src/lib/chat-table.test.ts src/lib/test-results.test.ts src/lib/box-defaults-core.test.ts" + "test": "node --experimental-strip-types --test 'src/lib/**/*.test.ts'" }, "dependencies": { "@base-ui/react": "^1.8.0",