chore: centralize pre-commit hooks (husky + lint-staged)
Summary
- Centralize husky + lint-staged at root package.json (was only in frontend)
- lint-staged runs eslint + prettier per-component on staged files only
- Gracefully skips if node_modules not installed, with informative warning
- Remove frontend-local husky dep, lint-staged dep, prepare script
Test plan
-
Commit in worktree without node_modules → warning displayed, commit succeeds -
Commit with node_modules installed → eslint + prettier run on staged files -
CI lint stage passes