Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
5825ed5
:arrow_up: Bump jest from 30.0.2 to 30.0.3
dependabot[bot] Jun 30, 2025
17ab1d1
Merge pull request #126 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 5, 2025
aca1aba
:arrow_up: Bump jest-environment-jsdom from 29.7.0 to 30.0.2
dependabot[bot] Jul 5, 2025
c6d2831
Merge pull request #123 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 5, 2025
863c228
:arrow_up: Bump @radix-ui/react-slot from 1.2.0 to 1.2.3
dependabot[bot] Jul 7, 2025
cbe8dac
:arrow_up: Bump zod from 3.25.67 to 3.25.74
dependabot[bot] Jul 7, 2025
637c849
Merge pull request #134 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 8, 2025
1da1fb0
:arrow_up: Bump @prisma/client from 6.10.1 to 6.11.1
dependabot[bot] Jul 8, 2025
9199b8a
✨ StringUtilityを追加
sakho13 Jul 13, 2025
79abca8
✨ ユーザ履歴のスキーマを追加
sakho13 Jul 13, 2025
0a1b990
✨ ユーザ履歴エンティティとリポジトリを追加し、ユーザ履歴のアクションタイプを定義
sakho13 Jul 13, 2025
1add258
✨ ユーザ履歴エンティティに退会コード生成ロジックを追加し、最新の退会履歴を取得するメソッドをリポジトリに実装
sakho13 Jul 13, 2025
90811b8
♻️ UserEntity関連リファクタ
sakho13 Jul 13, 2025
e8744bc
✨ ユーザ退会機能を実装
sakho13 Jul 13, 2025
976e28a
Merge pull request #136 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 13, 2025
5532d57
Merge remote-tracking branch 'origin/develop' into 34-feature/quit
sakho13 Jul 13, 2025
a911c92
:arrow_up: Bump eslint-config-next from 15.2.4 to 15.3.5
dependabot[bot] Jul 14, 2025
a7f0dc6
✨ ユーザ退会用のPOSTリクエストフックを追加
sakho13 Jul 15, 2025
623fab9
Merge pull request #138 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 16, 2025
d32f81f
:arrow_up: Bump next from 15.2.4 to 15.3.5
dependabot[bot] Jul 16, 2025
c3b75b7
✨ shadcn/ui TextAreaコンポーネントを追加
sakho13 Jul 16, 2025
f9e560c
✨ ユーザ退会ダイアログコンポーネントを追加
sakho13 Jul 16, 2025
356a887
Merge pull request #135 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 16, 2025
6f00133
Merge pull request #132 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 16, 2025
dc586fe
♻️ ログインAPIをUserService2へ移行
sakho13 Jul 20, 2025
886c321
✅ TestUtilityにランダムメール生成メソッドを追加
sakho13 Jul 20, 2025
5a04548
✨ ユーザ情報取得および編集時に削除済みユーザのエラーハンドリングを追加
sakho13 Jul 20, 2025
6bca042
♻️ 不要なインポートを削除
sakho13 Jul 20, 2025
66435cb
✨ UserHistoryモデルのhistoryNoカラムをString型に変更し、cuidをデフォルト値として設定
sakho13 Jul 20, 2025
246e5c0
✅ 退会APIテストを追加
sakho13 Jul 20, 2025
5841a3d
♻️ new Date 実行を共通関数へ統一化
sakho13 Jul 20, 2025
4c70ed9
✨ ユーザ再登録機能を追加し、APIエラーハンドリングを強化
sakho13 Jul 21, 2025
0db3b26
✨ usePostUserLogin関数にquitCodeオプションを追加
sakho13 Jul 21, 2025
d4a60cb
✅ 退会APIテストシナリオを追加
sakho13 Jul 21, 2025
b3cd3e5
✨ CORSヘッダーをnext.config.tsに追加
sakho13 Jul 21, 2025
79ff1af
🐛 UserQuitDialogの初期ローディング状態をfalseに変更
sakho13 Jul 21, 2025
6421af3
✨ ログインページに退会コード入力処理を追加し、状態管理を強化
sakho13 Jul 21, 2025
8980eb9
✨ UserQuitDialogで退会完了メッセージを詳細化し、退会コードを表示するように変更
sakho13 Jul 21, 2025
7984ec9
💡 コメントを実装に追従
sakho13 Jul 21, 2025
06cd233
🐛 quitUserメソッドの削除済みユーザチェックを簡素化
sakho13 Jul 21, 2025
fda29db
✅ 過剰expectを削除
sakho13 Jul 21, 2025
9751c49
🔒️ 退会処理後のリダイレクトURLを修正
sakho13 Jul 21, 2025
114e323
🐛 コンストラクタ内の値のコピー処理を修正し、QUITアクションの条件を整理
sakho13 Jul 21, 2025
ca6ee3b
✅ hasErrorCodeInApiResponse テストを追加
sakho13 Jul 21, 2025
9dc848d
Merge pull request #139 from sakho13/34-feature/quit
sakho13 Jul 21, 2025
c37dfef
⬆️ @types/node をバージョン 22.16.0 に更新
sakho13 Jul 21, 2025
0c4eee3
Merge pull request #141 from sakho13/fix/types-node
sakho13 Jul 21, 2025
d5614fb
:arrow_up: Bump jest from 30.0.3 to 30.0.4
dependabot[bot] Jul 21, 2025
38cd373
:arrow_up: Bump swr from 2.3.3 to 2.3.4
dependabot[bot] Jul 21, 2025
71c4adb
:arrow_up: Bump postcss from 8.5.3 to 8.5.6
dependabot[bot] Jul 21, 2025
2330fcf
🔧 環境変数に NEXT_PUBLIC_APP_VERSION を追加し、package.json からの読み込みを削除
sakho13 Jul 21, 2025
167f091
Merge pull request #147 from sakho13/fix/app-version-ref
sakho13 Jul 22, 2025
ba01eb0
Merge pull request #144 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 25, 2025
dd661be
:arrow_up: Bump eslint from 9.30.0 to 9.31.0
dependabot[bot] Jul 25, 2025
93b30bb
Merge pull request #145 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 25, 2025
011d58f
Merge pull request #146 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 25, 2025
cf6d5b4
Merge pull request #142 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 26, 2025
25874e5
:arrow_up: Bump eslint from 9.31.0 to 9.32.0
dependabot[bot] Jul 28, 2025
c7925ad
:arrow_up: Bump jest-environment-jsdom from 30.0.4 to 30.0.5
dependabot[bot] Jul 28, 2025
7489247
Merge pull request #149 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Jul 30, 2025
af8f702
Merge pull request #152 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Aug 11, 2025
43cc892
:arrow_up: Bump firebase from 11.9.1 to 12.1.0
dependabot[bot] Aug 11, 2025
f82ba80
🔨 clinerulesを修正
sakho13 Aug 9, 2025
926cfa6
🔨 LLMスクリプトを修正
sakho13 Aug 10, 2025
d265c14
🔧 テスト初期化時のエラー補足を修正
sakho13 Aug 11, 2025
023bff0
♻️ ユーザ設定の取得APIから旧UserServiceを削除
sakho13 Aug 11, 2025
b7dae24
Merge pull request #159 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Aug 11, 2025
ab2cb1b
♻️ 最新コード構造へ
sakho13 Aug 14, 2025
4889c27
🔨 claude code向けMDファイルを追加
sakho13 Aug 14, 2025
f36997d
✅ 回答履歴取得テストを追加
sakho13 Aug 14, 2025
02fc317
🔨 claude 設定ファイルを修正
sakho13 Aug 14, 2025
b82905e
♻️ /result/logs APIをクリーンアーキテクチャにリファクタ
sakho13 Aug 14, 2025
cc1339c
♻️ /result/log-sheet APIをクリーンアーキテクチャにリファクタ
sakho13 Aug 14, 2025
2155136
♻️ /exercise/results APIをクリーンアーキテクチャにリファクタ
sakho13 Aug 14, 2025
eebb60b
♻️ /user/v1/exercise APIをクリーンアーキテクチャにリファクタ
sakho13 Aug 14, 2025
a19a836
♻️ /user/v1/exercise/question APIをクリーンアーキテクチャにリファクタ
sakho13 Aug 14, 2025
12e1ab2
♻️ APIテストフォルダ構造を整理
sakho13 Aug 15, 2025
6dd538c
♻️ 開発環境準備セクションを整理し、手順を明確化
sakho13 Aug 15, 2025
ceb081a
🐛 PrismaUserRepositoryでisGlobalのSchoolが取得できない問題を修正
sakho13 Aug 15, 2025
8b206dc
♻️ /user/v1/info APIをクリーンアーキテクチャにリファクタ
sakho13 Aug 15, 2025
0c5fab0
♻️ 旧UserServiceおよびUserControllerの廃止
sakho13 Aug 15, 2025
a25f45f
:arrow_up: Bump swr from 2.3.4 to 2.3.6
dependabot[bot] Aug 25, 2025
0690e5f
:arrow_up: Bump @prisma/client from 6.11.1 to 6.15.0
dependabot[bot] Sep 1, 2025
d0e1414
"Claude PR Assistant workflow"
sakho13 Sep 7, 2025
f29c2d3
"Claude Code Review workflow"
sakho13 Sep 7, 2025
43394f6
Merge pull request #174 from sakho13/add-claude-github-actions-175722…
sakho13 Sep 7, 2025
b67c958
Merge remote-tracking branch 'origin/develop' into 163-refactor/users…
sakho13 Sep 7, 2025
9929484
:arrow_up: Bump jest from 30.0.4 to 30.1.3
dependabot[bot] Sep 8, 2025
6a7cd35
📝 CLAUDE.mdに固有命令セクションを追加
sakho13 Sep 13, 2025
c70c393
⚙️ Claude Code・Serena設定ファイルを追加
sakho13 Sep 13, 2025
93e9e76
Merge pull request #164 from sakho13/163-refactor/userservice
sakho13 Sep 13, 2025
379c422
Merge pull request #172 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Sep 13, 2025
d0b7e52
Merge pull request #168 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Sep 13, 2025
402e549
Merge pull request #175 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Sep 13, 2025
2332c17
:arrow_up: Bump eslint-config-next from 15.3.5 to 15.5.2
dependabot[bot] Sep 13, 2025
57c856d
:arrow_up: Bump next from 15.4.1 to 15.5.2
dependabot[bot] Sep 13, 2025
46c21b2
Merge pull request #170 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Sep 13, 2025
82df0ab
Merge pull request #171 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Sep 13, 2025
2440aa8
✨ AuthProviderモデルとProviderType enumを追加
sakho13 Sep 13, 2025
c81ea6c
🔧 AuthProviderスキーマとマイグレーションを修正
sakho13 Sep 13, 2025
fd238b9
✨ 認証プロバイダリポジトリ層を実装
sakho13 Sep 13, 2025
4360290
🔨 .claude/settings.local.json を修正
sakho13 Sep 13, 2025
b4e9960
✨ PrismaUserRepositoryとエンティティを認証プロバイダシステムに対応
sakho13 Sep 13, 2025
b5ef507
🔧 シードスクリプトをAuthProviderテーブルに対応
sakho13 Sep 13, 2025
dd58125
:arrow_up: Bump firebase from 12.1.0 to 12.2.1
dependabot[bot] Sep 15, 2025
21e8a89
:arrow_up: Bump tailwindcss from 4.1.6 to 4.1.13
dependabot[bot] Sep 15, 2025
66b1ed9
:arrow_up: Bump @radix-ui/react-collapsible from 1.1.11 to 1.1.12
dependabot[bot] Sep 15, 2025
9716191
Merge pull request #180 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Sep 15, 2025
d0643a9
Merge pull request #179 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Sep 15, 2025
651dc80
🔧 AuthProviderServiceとUserServiceを統合
sakho13 Sep 15, 2025
4fe6fb9
:arrow_up: Bump @testing-library/dom from 10.4.0 to 10.4.1
dependabot[bot] Sep 15, 2025
e7ec5e0
🐛 UserV1ResultLogSheetテストでPromise.allによる並行実行を修正
sakho13 Sep 15, 2025
abd2ef8
Merge pull request #182 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Sep 17, 2025
3834261
Merge pull request #178 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Sep 21, 2025
bafb399
:arrow_up: Bump @radix-ui/react-dialog from 1.1.14 to 1.1.15
dependabot[bot] Sep 22, 2025
df7efa5
🗃️ ユーザーテーブルからfirebaseUidを削除し認証プロバイダーシステムに移行
sakho13 Sep 23, 2025
85f9993
✨ 認証プロバイダーインターフェースとFirebaseAuthProviderクラスを追加
sakho13 Sep 23, 2025
6a29330
♻️ エンティティクラスを認証プロバイダーシステムに対応
sakho13 Sep 23, 2025
07d6cae
♻️ リポジトリ層を認証プロバイダーシステムにリファクタリング
sakho13 Sep 23, 2025
8535aac
♻️ サービス層を認証プロバイダーシステムにリファクタリング
sakho13 Sep 23, 2025
0056b9f
🔧 APIエンドポイントを認証プロバイダーシステムに対応
sakho13 Sep 23, 2025
18cd321
🌱 シードスクリプトを認証プロバイダーシステムに対応
sakho13 Sep 23, 2025
36718a0
🔨 .claude/settings.local.json を修正
sakho13 Sep 23, 2025
9f6dee1
Merge pull request #183 from sakho13/dependabot/npm_and_yarn/develop/…
sakho13 Sep 23, 2025
e0cbb7e
🐛 認証プロバイダーシステムの細かな修正
sakho13 Sep 23, 2025
71022bb
Merge pull request #188 from sakho13/148-feature/auth-provider-data-s…
sakho13 Sep 23, 2025
db780ec
🔒️ Next.js React セキュリティ対応
sakho13 Dec 14, 2025
b53b015
♻️ セキュリティ対応に伴うlintエラーを解消
sakho13 Jan 25, 2026
073f638
Merge remote-tracking branch 'origin/main' into develop
sakho13 Jan 25, 2026
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
18 changes: 18 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"permissions": {
"allow": ["Bash(npm run test:*)", "Bash(npm run lint:*)"],
"deny": [
"Bash(sudo:*)",
"Bash(git reset:*)",
"Bash(git rebase:*)",
"Read(.env:*)",
"Read(id_rsa)",
"Read(id_ed25519)",
"Read(**/*token*)",
"Read(**/*key*)",
"Write(.env:*)",
"Write(**/secrets/**)",
"Bash(wget:*)"
]
}
}
16 changes: 16 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"permissions": {
"allow": [
"mcp__serena__search_for_pattern",
"mcp__serena__find_symbol",
"mcp__playwright__browser_click",
"mcp__serena__check_onboarding_performed",
"mcp__serena__get_symbols_overview",
"mcp__serena__find_file",
"mcp__serena__list_dir",
"Bash(git add:*)"
],
"deny": [],
"ask": []
}
}
323 changes: 111 additions & 212 deletions .clinerules
Original file line number Diff line number Diff line change
@@ -1,215 +1,114 @@
# ClineRules

## はじめに

このドキュメントは、Cline が開発を行う際のガイドラインをまとめたものです。
このガイドラインに従って、開発を行ってください。

## 開発モードについて

以下の 4 つのモードを状況に応じて自動的に切り替えながら開発を行ってください。

| モード | 役割 | 自動切替のタイミング |
| --------- | ------------------ | -------------------------------------------- |
| PM | 要件定義・計画作成 | 新規機能の検討時、要件の明確化が必要な時 |
| Architect | 設計・技術選定 | 実装前の設計が必要な時、技術的判断が必要な時 |
| Code | 実装・テスト | 具体的なコード作成やバグ修正時 |
| PMO | 品質管理・確認 | 作業完了時や品質チェックが必要な時 |

あなたは作業の内容や流れに応じて最適なモードを自動的に選択し、目的の達成に向けて最大効率で作業を進めてください。

## 基本ルール

- 指示に従う:
- 要件や指示に従って作業を進める
- 作業の進捗や問題が発生した場合は適宜報告
- 自律的な問題解決:
- エラーや何かしらの問題が発生したら、自律的に問題分析と解決案を提示
- 複数のアプローチがある場合は、推奨案を明示
- ソースコード外の問題である可能性がある場合は、指示者に報告
- 既存コードの尊重:
- 既存のコードスタイルやパターンがある場合には、それに従う
- 大幅な変更が必要な場合は理由を説明
- 連続で修正に失敗した場合:
- 2 回以上連続でテストを失敗した時は、現在の状況を整理して指示者に報告
- 同じことを連続で行うのではなく、問題の解決策を提案

### ディレクトリ構造

プロジェクトのディレクトリ構造は以下のようにします。

```
(root)/
├── src/
│ ├── app/ ... Next.js アプリケーションディレクトリ
│ │ ├── api/ ... API エンドポイントディレクトリ
│ │ ├── v1/ ... アプリページディレクトリ
│ │ ├── public/ ... LP用の静的ファイルディレクトリ
│ │ └── maintenance/ ... メンテナンスページディレクトリ
│ ├── components/ ... コンポーネントディレクトリ
│ | ├── atoms/ ... アトムコンポーネントディレクトリ
│ | ├── molecules/ ... モレキュールコンポーネントディレクトリ
│ | ├── organisms/ ... オーガニズムコンポーネントディレクトリ
│ | └── ui/ ... shadcn/ui用コンポーネントディレクトリ
│ ├── hooks/ ... カスタムフックディレクトリ
│ ├── lib/ ... ライブラリやユーティリティ関数ディレクトリ
│ | ├── classes/ ... クラス定義ディレクトリ
│ | ├── functions/ ... 関数定義ディレクトリ
│ | ├── types/ ... 型定義ディレクトリ
│ | └── utilities/ ... ユーティリティ関数ディレクトリ
│ ├── tests/ ... ユニットテストコードディレクトリ
│ | ├── api/ ... API エンドポイントのテストディレクトリ
│ | ├── components/ ... コンポーネントのテストディレクトリ
│ | ├── hooks/ ... カスタムフックのテストディレクトリ
│ | └── lib/
| | ├── classes/ ... クラスのテストディレクトリ
│ | ├── functions/ ... 関数のテストディレクトリ
│ | └── utilities/ ... ユーティリティ関数のテストディレクトリ
│ └── middleware.ts ... Next.js ミドルウェアファイル
├── __tests__/ ... Playwright テストコードディレクトリ
├── prisma/
│ └── prisma.schema ... テーブル定義ファイル
├── .clinerules
├── .env
├── .gitignore
├── package.json
├── tsconfig.json
├── README.md
└── Dockerfile
```

## セキュリティ

### 機密ファイル

以下を読み取ったり変更したりすることは絶対に避けてください。

- .env ファイル
- `*/.pem`
- API キー、トークン、認証情報を含むファイル全般

何か機密ファイルの編集が必要になった場合は、指示者に連絡してください。

また、以下のセキュリティガイドラインに従って作業を行ってください。

- 機密ファイルを絶対にコミットしない
- シークレット情報は環境変数を使用する
- ログや出力に認証情報を含めない

## 作業プロセス

以下のプロセスに従って、作業を進めます。

1. 要件理解(PM モード)
- 要件の明確化・詳細化
- 必要に応じて質問や提案
2. 設計(Architect モード)
- 適切なアーキテクチャ・パターンの選択
- コンポーネント設計・データフロー設計
3. 実装(Code モード)
- 設計に基づいたコーディング
- ユニットテストの作成
4. 品質確認(PMO モード)
- コードレビュー
- 要件充足の確認

AI はこれらのステップを自動的に判断して進め、1 回のリクエストでも可能な限り完結した成果物を提供します。

## 技術スタック

プロジェクトで定義された技術スタックに従って開発を行います。
特に指定がない場合は、一般的なベストプラクティスに基づいて技術を選定します。

### フロントエンド

必要な場合に限り、以下のライブラリを使用してください。

- 言語: TypeScript
- フレームワーク: Next.js (AppRouter)
- UI: shadcn/ui + Tailwind CSS
- 状態管理: Zustand
- 認証ライブラリ: Firebase Auth
- その他基盤ライブラリ
- SWR
- Firebase Analytics

### バックエンド

- 言語: TypeScript
- フレームワーク: Next.js (API Routes)
- ORM: Prisma
- 認証: Firebase Auth
- 開発ではFirebase Emulatorを使用
- データベース: Supabase PostgreSQL ※将来的にRDSに移行予定

### 開発ツール

使用する場合に限り、以下のツールを使用してください。

- Unit test: React Testing Library, Jest, Playwright
- ドキュメント生成: Storybook
- リンター: ESLint
- コードフォーマッター: Prettier
- CI/CD ツール: GitHub Actions
- ホスティング: GCP

### Docker 構成

次の構成で開発を行います。

DockerCompose コンテナは下記の1つのみです。

- PostgreSQL コンテナ

Next.js はローカルで実行します。

## セキュリティガイドライン

- 機密情報(API キー、パスワードなど)はハードコーディングしない
- ユーザー入力は必ず検証する
- 環境変数を適切に使用する
- `.env` ファイルなど機密ファイルは絶対に変更しな

## コーディングガイドライン

### 一般原則

- シンプルで読みやすいコード
- 適切な命名(変数、関数、クラスなど)
- 一つの関数は一つの責務を持つ (SOLID 原則)
- エラーハンドリングを適切に実装
- コメントは必要な箇所にのみ付ける
- DI を考慮したオブジェクト設計

### テスト

- 主要機能のユニットテスト
- エッジケースの考慮
- テストが実行可能であることを確認

## コミットメッセージのガイドライン

簡潔かつ明確なコミットメッセージを記述することで、変更履歴を追いやすくします。

### プレフィックス

(gitmoji)[https://gitmoji.dev/]に則ったプレフィックスを使用してください。
# LLM rules

日本語で回答しなさい。

## 開発の始め方

1. Docker コンテナを起動し、DB と FirebaseEmulator をセットアップします。
```bash
docker-compose up -d
```
2. DB コンテナへダンプを追加します。
```bash
npm run prisma:init
```
3. 依存関係をインストールします。
```bash
npm install
```
4. Prisma スキーマを生成します。
```bash
npm run prisma:generate
```
5. Next.js アプリケーションを起動します。
```bash
npm run dev
```
6. ブラウザで `http://localhost:3000` を開き、アプリケーションを確認します。

## プロジェクト構造

- `src/` - Next.js アプリケーションのソースコード
- `src/tests/` - ユニットテスト(Jest) テストコード
- `src/components/` - 再利用可能なコンポーネント(Atomic Design)
- `src/components/ui/` - shadcn/ui コンポーネント専用
- `prisma/` - Prisma スキーマとマイグレーション
- `docs/` - 各種設計書
- `__tests__/` - UI/インテグレーションテスト(Playwright) テストコード

## コーディング規約

- TypeScript を使用
- アプリは Next.js のフレームワークに基づいています。
- スタイルは Tailwind CSS を使用
- shadcn/ui を使用して UI コンポーネントを構築します。
- ESLint と Prettier を使用してコードの整形と静的解析を行います。
```bash
npm run lint
```
- フォルダ名は複数形である必要があります。
- コンポーネント名は PascalCase で命名します。
- 関数名は camelCase で命名します。
- 定数は大文字の SNAKE_CASE で命名します。
- ファイル名は camelCase で命名します。
- プログラム中のコメントは行わず、TsDoc に準拠したコメントを使用します。
- 関数やクラスの説明は TsDoc コメントを使用します。
- 重要な定数の説明は TsDoc コメントを使用します。
- クリーンアーキテクチャを意識した設計を行います。
- `entity` - ドメインモデルを定義します。
- `repository` - データアクセスを抽象化します。
- `service` - ビジネスロジックを実装します。
- 関数のグループ化のため `utility` クラスを使用します。

## テストの実行

- Docker コンテナを起動している状態である必要があります。
```bash
docker-compose up -d
npm run prisma:init
```
- ユニットテストは Jest を使用して実行します。
```bash
npm run test
```

## CI/CD

- GitHub Actions を使用して CI/CD を実行します。
- プッシュやプルリクエスト時に自動でテストが実行されます。
- ユニットテスト `npm run test`
- ビルドテスト `npm run build`
- PR ごとのテストに成功した場合のみ、マージが許可されます。
- CI/CD の設定は `.github/workflows/` フォルダにあります。

## Git ルール

### ブランチ名

- ブランチ名は `(issue番号)-(type)/(内容)` の形式で命名します。
- 例: `123-feature/add-login`
- `type` は以下のいずれかを使用します。
- `feature` - 新機能の追加
- `fix` - バグ修正
- `hotfix` - 緊急修正
- `chore` - その他の変更
- 内容は英語で記述し、スペースはハイフンで区切ります。
- 例: `123-feature/add-login`

### コミットメッセージ

`✨ ユーザー登録機能を追加`、`🐛 引数が0の場合に無限ループが発生しないように修正`のようにコミットメッセージを記述してください。

コミットは自動的にコマンドを実行せず、必ず指示者の確認を経てから行ってください。

### コミットの注意事項

- 1 つのコミットでは 1 つの論理的な変更のみを含める
- 複数の変更がある場合は複数のコミットに分割する
- コミットメッセージは日本語で記述可能

## ベストプラクティス

- 汎用的で再利用可能なコンポーネントを作成
- 基本的なパフォーマンス最適化を実装
- 基本的なアクセシビリティ対応を実装
- Core Web Vitals を意識した実装
- コミットメッセージは以下の形式で記述します。
```
(gitmoji): (内容)
```
- プレフィクスは [gitmoji](https://gitmoji.dev/) のルールに従います。
- 例: `✨ 新しい機能を追加しました`

### プルリクエスト

- プルリクエストのタイトルは `(issue番号) (内容)` の形式で命名します。
- 例: `123 新しい機能を追加しました`
- プルリクエストは `.github/PULL_REQUEST_TEMPLATE.md` を使用したテンプレートに従って作成します。
- プルリクエストの説明は日本語で記述します。
- テストが全て成功することを確認してからマージします。
- PR単位でGitHub ActionsのCIが実行され、テストが成功した場合のみマージを許可します。
2 changes: 2 additions & 0 deletions .env.local
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/$
NEXT_PUBLIC_USE_FIREBASE_EMULATOR=true
FIREBASE_AUTH_EMULATOR_HOST=localhost:9099

NEXT_PUBLIC_APP_VERSION=1.2.3

NEXT_PUBLIC_FIREBASE_API_KEY=dummy
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=localhost
NEXT_PUBLIC_FIREBASE_PROJECT_ID=kaitopia-dev
Expand Down
Loading
Loading