Skip to content

chore(dx): refresh CLAUDE.md, consolidate commands behind make, add editor config#6

Merged
offendingcommit merged 2 commits intomainfrom
docs/claude-md-refresh
May 3, 2026
Merged

chore(dx): refresh CLAUDE.md, consolidate commands behind make, add editor config#6
offendingcommit merged 2 commits intomainfrom
docs/claude-md-refresh

Conversation

@offendingcommit
Copy link
Copy Markdown
Owner

@offendingcommit offendingcommit commented May 3, 2026

Summary

The original goal was a stale-CLAUDE.md fix; while in there, bundled the rest of the contributor onboarding gaps that were tripping people up.

What changed

Docs

  • CLAUDE.md — Refreshed for monorepo reality: correct commands, packages/{web,desktop} structure, conventions (catalog refs, commitlint 100-char body limit, semantic-release flow, gh account).
  • CONTRIBUTING.md — Fixed the same pnpm dev lie; lead with make bootstrap + make dev-web; link to Tauri prereqs; reference make help.

Single command interface — make

  • Makefile is now the canonical entry point. CI calls the same targets (make ci-web, make ci-desktop), so anything that passes locally passes in CI.
  • Targets delegate to pnpm scripts → turborepo. Turbo is preserved (cache + filtering).
  • make help self-documents every target.

New scripts

  • pnpm bootstrap (make bootstrap) — install deps + Playwright Chromium with system deps.
  • pnpm dev:web / pnpm dev:desktop — no more typing pnpm --filter @openconcho/web dev.
  • pnpm check — lint + typecheck + test in one shot.
  • pnpm ci:web / pnpm ci:desktop — what CI runs.
  • pnpm lint:fix / pnpm format — Biome auto-fix at the root.

Toolchain alignment

  • .nvmrc pins Node 24 (matches the CI setup action).
  • engines field signals Node ≥22 / pnpm ≥10.
  • packageManager already pinned pnpm exactly.

Editor experience

  • .editorconfig — tabs, LF, trim trailing whitespace, UTF-8.
  • .vscode/extensions.json — recommends Biome, Tauri, rust-analyzer, Tailwind, EditorConfig, Playwright.
  • .vscode/settings.json — Biome as default formatter, format-on-save, organize-imports/quickfix on save, exclude generated files (schema.d.ts, routeTree.gen.ts) from search.
  • .gitignore allowlists .vscode/settings.json.

CI

  • .github/workflows/ci.ymlpnpm turbo ... calls replaced with make ci-web / make ci-desktop. Same behavior, single source of truth.

DX before → after

Task Before After
First-time setup pnpm install, then guess about Playwright make bootstrap
Web dev server pnpm --filter @openconcho/web dev (38 chars) make dev-web
Pre-PR check Run lint, typecheck, test, build separately make check && make build
Discover commands Read README/CONTRIBUTING/Makefile make help
Wrong Node version Silent CI surprise .nvmrc + corepack
Editor formatting Configure Biome manually Open repo, accept extension prompt

Skipped (filed for follow-ups elsewhere or out of scope)

Closes nothing directly; sets up future contributors for success.

- Fix commands (pnpm dev runs Tauri; add web filter, typecheck, test:e2e)
- Add packages/{web,desktop} structure
- Note catalog, commitlint, semantic-release, gh account conventions
- Make is the canonical interface; pnpm scripts wrap turbo, make wraps pnpm
- CI now calls `make ci-web` / `make ci-desktop` so local == CI
- Add .nvmrc (node 24, matches CI) + engines field
- Add .editorconfig and .vscode (extensions + settings)
- Add `pnpm bootstrap` (deps + Playwright Chromium)
- Add `dev:web` / `dev:desktop` shortcuts
- CONTRIBUTING.md: lead with `make bootstrap`/`make dev-web`,
  link Tauri prereqs, fix wrong `pnpm dev` claim
- CLAUDE.md: command table reflects make-first workflow
@offendingcommit offendingcommit changed the title docs(claude): refresh CLAUDE.md for monorepo reality chore(dx): refresh CLAUDE.md, consolidate commands behind make, add editor config May 3, 2026
@offendingcommit offendingcommit merged commit 2b0844d into main May 3, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant