chore(dx): consolidate commands behind make + add editor config

- 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
This commit is contained in:
Offending Commit
2026-05-03 17:18:09 -05:00
parent 4a69c7d2a9
commit 3690cf0814
10 changed files with 145 additions and 32 deletions

View File

@@ -1,22 +1,51 @@
.PHONY: dev build test lint lint-fix typecheck install
# Single source of truth for repo commands. CI calls these targets too,
# so anything that works in `make` locally works in `make` on a runner.
# Targets delegate to pnpm scripts, which delegate to turborepo.
dev:
pnpm --filter @openconcho/desktop dev
.PHONY: bootstrap dev dev-web dev-desktop \
build test test-e2e lint lint-fix typecheck check \
ci-web ci-desktop install help
build:
pnpm turbo run build
help:
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS=":.*?## "}; {printf " \033[36m%-14s\033[0m %s\n", $$1, $$2}'
test:
pnpm turbo run test
bootstrap: ## Install deps + Playwright Chromium (run once after clone)
pnpm bootstrap
lint:
pnpm turbo run lint
dev: dev-desktop ## Alias for `dev-desktop`
lint-fix:
pnpm exec biome check --write packages/web/src/
dev-web: ## Vite dev server at http://localhost:5173
pnpm dev:web
typecheck:
pnpm turbo run typecheck
dev-desktop: ## Tauri desktop app
pnpm dev:desktop
install:
build: ## Turbo: build all packages
pnpm build
test: ## Vitest (unit + integration)
pnpm test
test-e2e: ## Playwright e2e (requires bootstrap)
pnpm test:e2e
lint: ## Biome lint check
pnpm lint
lint-fix: ## Biome lint + format auto-fix
pnpm lint:fix
typecheck: ## tsc --noEmit across packages
pnpm typecheck
check: ## lint + typecheck + test
pnpm check
ci-web: ## CI: lint + typecheck + test + build for @openconcho/web
pnpm ci:web
ci-desktop: ## CI: cargo-check for @openconcho/desktop
pnpm ci:desktop
install: ## pnpm install (no playwright)
pnpm install