Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cursor/rules/01-sonory-app-requirements.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,5 @@ alwaysApply: true
- OpenNext + Cloudflare Workers で `npm run deploy` 配備

9. **コード品質**
- Biome + Husky + lint-staged で pre-commit
- oxlint/oxfmt + Lefthook で pre-commit
- GitHub Actions で CI(`biome ci .`, `tsc --noEmit`)
7 changes: 3 additions & 4 deletions .cursor/rules/02-sonory-strict-rules.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -117,10 +117,9 @@ alwaysApply: true
- CI用: `npm run ci` (`biome ci .`)
- **型チェック**: `npm run lint:typecheck` (`tsc --noEmit`)
- **Git フック**
- Husky を `prepare` スクリプトで初期化
- lint-staged で以下をコミット前に実行
- `biome check --apply`
- `biome format --write`
- Lefthook を `prepare` スクリプトで初期化(`lefthook install`)
- `lefthook.yml` で pre-commit 時に以下を実行(変更パッケージのみ)
- `oxlint --fix` / `oxfmt`
- `tsc --noEmit`
- **CI(GitHub Actions)**
1. `npm ci`
Expand Down
65 changes: 0 additions & 65 deletions .husky/pre-commit

This file was deleted.

80 changes: 80 additions & 0 deletions lefthook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Sonory monorepo pre-commit hooks (replaces husky + lint-staged)
# https://lefthook.dev/configuration/

pre-commit:
parallel: true
jobs:
# apps/web
- name: web lint:fix
glob: "apps/web/**/*.{js,jsx,ts,tsx}"
run: npm --prefix apps/web run lint:fix
stage_fixed: true
- name: web format:fix
glob: "apps/web/**/*.{js,jsx,ts,tsx}"
run: npm --prefix apps/web run format:fix
stage_fixed: true
- name: web type-check
glob: "apps/web/**/*.{js,jsx,ts,tsx}"
run: npm --prefix apps/web exec -- tsc --noEmit --project apps/web/tsconfig.json

# apps/api
- name: api lint:fix
glob: "apps/api/**/*.{js,jsx,ts,tsx}"
run: npm --prefix apps/api run lint:fix
stage_fixed: true
- name: api format:fix
glob: "apps/api/**/*.{js,jsx,ts,tsx}"
run: npm --prefix apps/api run format:fix
stage_fixed: true
- name: api type-check
glob: "apps/api/**/*.{js,jsx,ts,tsx}"
run: npm --prefix apps/api exec -- tsc --noEmit --project apps/api/tsconfig.json

# packages/shared-types
- name: shared-types lint:fix
glob: "packages/shared-types/**/*.{js,jsx,ts,tsx}"
run: npm --prefix packages/shared-types run lint:fix
stage_fixed: true
- name: shared-types format:fix
glob: "packages/shared-types/**/*.{js,jsx,ts,tsx}"
run: npm --prefix packages/shared-types run format:fix
stage_fixed: true
- name: shared-types type-check
glob: "packages/shared-types/**/*.{js,jsx,ts,tsx}"
run: npm --prefix packages/shared-types exec -- tsc --noEmit --project packages/shared-types/tsconfig.json

# packages/utils
- name: utils lint:fix
glob: "packages/utils/**/*.{js,jsx,ts,tsx}"
run: npm --prefix packages/utils run lint:fix
stage_fixed: true
- name: utils format:fix
glob: "packages/utils/**/*.{js,jsx,ts,tsx}"
run: npm --prefix packages/utils run format:fix
stage_fixed: true
- name: utils type-check
glob: "packages/utils/**/*.{js,jsx,ts,tsx}"
run: npm --prefix packages/utils exec -- tsc --noEmit --project packages/utils/tsconfig.json

# packages/python-types
- name: python-types lint:fix
glob: "packages/python-types/**/*.{js,jsx,ts,tsx}"
run: npm --prefix packages/python-types run lint:fix
stage_fixed: true
- name: python-types format:fix
glob: "packages/python-types/**/*.{js,jsx,ts,tsx}"
run: npm --prefix packages/python-types run format:fix
stage_fixed: true
- name: python-types type-check
glob: "packages/python-types/**/*.{js,jsx,ts,tsx}"
run: npm --prefix packages/python-types exec -- tsc --noEmit --project packages/python-types/tsconfig.json

# packages/config (root-level oxlint/oxfmt)
- name: config lint:fix
glob: "packages/config/**/*.{js,jsx,ts,tsx}"
run: oxlint packages/config --fix
stage_fixed: true
- name: config format:fix
glob: "packages/config/**/*.{js,jsx,ts,tsx}"
run: oxfmt packages/config --no-error-on-unmatched-pattern
stage_fixed: true
30 changes: 0 additions & 30 deletions lint-staged.config.mjs

This file was deleted.

Loading
Loading