Skip to content

Commit 3e6176b

Browse files
committed
feat: add .env.production to .gitignore
chore: remove ESLint extension from VSCode recommendations docs: update AGENTS.md with project overview, commands, and guidelines docs: simplify CLAUDE.md and link to AGENTS.md for common information docs: update GEMINI.md with project details and commit message format feat: add example .env file for frontend environment variables chore: update biome schema version and include apps/packages in includes docs: create REFERENCE.md for technical reference and troubleshooting docs: create SETUP.md for initial project setup instructions chore: update Lefthook configuration for pre-push commands chore: add test:coverage script to package.json chore: update Biome and TypeScript versions in package.json chore: enforce stricter TypeScript settings in tsconfig.base.json
1 parent 4a5210a commit 3e6176b

File tree

18 files changed

+945
-523
lines changed

18 files changed

+945
-523
lines changed

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: バグ報告
2+
description: バグの報告・修正
3+
labels: ["bug"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
バグ報告のIssueです。再現手順を詳しく記載してください。
9+
10+
- type: textarea
11+
id: summary
12+
attributes:
13+
label: 概要
14+
description: 発生しているバグを簡潔に説明
15+
placeholder: "例: フォーム送信時にエラーが表示される"
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: steps
21+
attributes:
22+
label: 再現手順
23+
description: バグを再現する手順
24+
placeholder: |
25+
1. トップページを開く
26+
2. フォームに入力する
27+
3. 送信ボタンをクリックする
28+
4. エラーが表示される
29+
validations:
30+
required: true
31+
32+
- type: textarea
33+
id: expected
34+
attributes:
35+
label: 期待する動作
36+
description: 本来どのように動作すべきか
37+
placeholder: "例: フォームが正常に送信され、完了メッセージが表示される"
38+
39+
- type: textarea
40+
id: actual
41+
attributes:
42+
label: 実際の動作
43+
description: 現在どのように動作しているか
44+
placeholder: "例: 「送信に失敗しました」というエラーが表示される"
45+
46+
- type: textarea
47+
id: environment
48+
attributes:
49+
label: 環境
50+
description: ブラウザ、OS、デバイスなど
51+
placeholder: |
52+
- デバイス: MacBook Pro
53+
- OS: macOS 14
54+
- ブラウザ: Chrome 120
55+
56+
- type: dropdown
57+
id: area
58+
attributes:
59+
label: 影響範囲
60+
multiple: true
61+
options:
62+
- frontend
63+
- backend
64+
- packages/types

.github/ISSUE_TEMPLATE/feature.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: 機能追加
2+
description: 新機能の提案・実装
3+
labels: ["enhancement"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
機能追加のIssueです。なるべく1つのPRで完結できる粒度で作成してください。
9+
10+
- type: textarea
11+
id: summary
12+
attributes:
13+
label: 概要
14+
description: 追加したい機能を簡潔に説明
15+
placeholder: "例: ユーザー設定画面を追加する"
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: motivation
21+
attributes:
22+
label: 背景・動機
23+
description: なぜこの機能が必要か
24+
placeholder: "例: ユーザーごとに表示設定を変更できるようにしたい"
25+
26+
- type: textarea
27+
id: solution
28+
attributes:
29+
label: 実装案
30+
description: どのように実装するか(任意)
31+
placeholder: |
32+
- 設定画面のUIコンポーネントを追加
33+
- 設定保存用のAPIエンドポイントを追加
34+
35+
- type: textarea
36+
id: tasks
37+
attributes:
38+
label: タスク
39+
description: 細かいタスクに分解(チェックリスト形式推奨)
40+
placeholder: |
41+
- [ ] UIコンポーネント実装
42+
- [ ] APIエンドポイント実装
43+
- [ ] テスト追加
44+
45+
- type: dropdown
46+
id: area
47+
attributes:
48+
label: 影響範囲
49+
multiple: true
50+
options:
51+
- frontend
52+
- backend
53+
- packages/types

.github/ISSUE_TEMPLATE/task.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: タスク
2+
description: リファクタリング、ドキュメント、その他のタスク
3+
labels: ["task"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
機能追加でもバグ修正でもないタスク(リファクタリング、ドキュメント更新、設定変更など)用のIssueです。
9+
10+
- type: textarea
11+
id: summary
12+
attributes:
13+
label: 概要
14+
description: タスクの内容を簡潔に説明
15+
placeholder: "例: APIクライアントのリファクタリング"
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: motivation
21+
attributes:
22+
label: 背景・動機
23+
description: なぜこのタスクが必要か
24+
placeholder: "例: コードの可読性を向上させたい"
25+
26+
- type: textarea
27+
id: tasks
28+
attributes:
29+
label: タスク
30+
description: 細かいタスクに分解(チェックリスト形式推奨)
31+
placeholder: |
32+
- [ ] 型定義を整理
33+
- [ ] 関数を分割
34+
- [ ] テスト更新
35+
36+
- type: dropdown
37+
id: type
38+
attributes:
39+
label: タイプ
40+
options:
41+
- refactor(リファクタリング)
42+
- docs(ドキュメント)
43+
- chore(設定・依存関係)
44+
- perf(パフォーマンス改善)
45+
- test(テスト追加)
46+
47+
- type: dropdown
48+
id: area
49+
attributes:
50+
label: 影響範囲
51+
multiple: true
52+
options:
53+
- frontend
54+
- backend
55+
- packages/types

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
## Summary
2+
<!-- 1-2文でこのPRが何を達成するか -->
3+
4+
5+
## Changes
6+
<!-- 変更内容を箇条書きで。ファイルパスを含めると追跡しやすい -->
7+
8+
-
9+
10+
## Context
11+
<!-- なぜこの変更が必要か。Issue番号、背景、制約など -->
12+
13+
Closes #
14+
15+
## Type
16+
<!-- 該当するものにチェック -->
17+
18+
- [ ] `feat` - 新機能
19+
- [ ] `fix` - バグ修正
20+
- [ ] `refactor` - リファクタリング
21+
- [ ] `perf` - パフォーマンス改善
22+
- [ ] `test` - テスト追加・修正
23+
- [ ] `docs` - ドキュメント
24+
- [ ] `chore` - その他
25+
26+
## Affected Areas
27+
<!-- 影響を受けるアプリ・機能にチェック -->
28+
29+
- [ ] `apps/frontend` - フロントエンド
30+
- [ ] `apps/backend` - バックエンドAPI
31+
- [ ] `packages/types` - 共有型定義
32+
- [ ] その他:
33+
34+
## Testing
35+
<!-- どのようにテストしたか -->
36+
37+
- [ ] 単体テスト追加・更新
38+
- [ ] E2Eテスト追加・更新
39+
- [ ] ローカルで手動確認
40+
- [ ] テスト不要(理由: )
41+
42+
## Breaking Changes
43+
<!-- 破壊的変更がある場合は詳細を記載。なければ「なし」 -->
44+
45+
なし
46+
47+
## Notes
48+
<!-- レビュアーへの補足、議論したい点、懸念事項など -->
49+
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
## Deploy to Production
2+
3+
### Summary
4+
<!-- このデプロイで何が本番環境に反映されるか -->
5+
6+
7+
### Included Changes
8+
<!-- main ブランチの変更内容。`git log production..main --oneline` を貼り付け -->
9+
10+
```
11+
```
12+
13+
### Risk Assessment
14+
<!-- 該当するものにチェック -->
15+
16+
- [ ] Low - UI/ドキュメントのみ、影響範囲が限定的
17+
- [ ] Medium - 既存機能の改善、新機能追加
18+
- [ ] High - 破壊的変更、データ構造変更、インフラ変更
19+
20+
### Affected Services
21+
<!-- 影響を受けるサービスにチェック -->
22+
23+
- [ ] Frontend
24+
- [ ] Backend API
25+
- [ ] Cloudflare Workers
26+
- [ ] KV Namespace
27+
28+
### Pre-deploy Checklist
29+
30+
- [ ] CI(lint, build, test, e2e)が通っている
31+
- [ ] ローカル環境で動作確認済み
32+
- [ ] 新しいCloudflareリソースは事前作成済み(該当する場合)
33+
34+
### Post-deploy Verification
35+
36+
- [ ] フロントエンド - トップページ表示
37+
- [ ] バックエンドAPI - ヘルスチェック 200 OK
38+
- [ ] 主要機能の動作確認(該当する場合)
39+
40+
### Rollback Plan
41+
<!-- 問題発生時の対応。通常は「production ブランチを前のコミットに戻して再デプロイ」 -->
42+
43+
production ブランチを前のコミットに戻して再デプロイ
44+
45+
### Notes
46+
<!-- 特記事項、監視すべきメトリクス、段階的ロールアウトの計画など -->
47+

.github/workflows/ci.yml

Lines changed: 67 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,40 +7,92 @@ on:
77
branches: [main]
88

99
jobs:
10-
lint-and-format:
10+
lint:
11+
name: Lint
1112
runs-on: ubuntu-latest
1213
steps:
1314
- uses: actions/checkout@v4
14-
- uses: oven-sh/setup-bun@v1
15+
16+
- name: Setup Bun
17+
uses: oven-sh/setup-bun@v2
1518
with:
1619
bun-version: latest
17-
- run: bun install
18-
- run: bun run lint
19-
- run: bun run format
20+
21+
- name: Install dependencies
22+
run: bun install --frozen-lockfile
23+
24+
- name: Run Biome lint
25+
run: bun run lint
2026

2127
build:
28+
name: Build
2229
runs-on: ubuntu-latest
2330
steps:
2431
- uses: actions/checkout@v4
25-
- uses: oven-sh/setup-bun@v1
32+
33+
- name: Setup Bun
34+
uses: oven-sh/setup-bun@v2
2635
with:
2736
bun-version: latest
28-
- run: bun install
29-
- run: bun run build
3037

31-
test:
38+
- name: Install dependencies
39+
run: bun install --frozen-lockfile
40+
41+
- name: Build frontend
42+
run: bun run build
43+
44+
unit-test:
45+
name: Unit Test
3246
runs-on: ubuntu-latest
3347
steps:
3448
- uses: actions/checkout@v4
35-
- uses: oven-sh/setup-bun@v1
49+
50+
- name: Setup Bun
51+
uses: oven-sh/setup-bun@v2
3652
with:
3753
bun-version: latest
38-
- run: bun install
39-
- run: bunx playwright install --with-deps
40-
- run: bun run test
41-
- uses: actions/upload-artifact@v4
54+
55+
- name: Install dependencies
56+
run: bun install --frozen-lockfile
57+
58+
- name: Run tests with coverage
59+
run: bun run test:coverage
60+
working-directory: apps/frontend
61+
62+
- name: Upload coverage reports
63+
uses: actions/upload-artifact@v4
4264
if: always()
65+
with:
66+
name: coverage-reports
67+
path: apps/frontend/coverage/
68+
retention-days: 7
69+
70+
e2e-test:
71+
name: E2E Test
72+
runs-on: ubuntu-latest
73+
needs: [lint, build, unit-test]
74+
steps:
75+
- uses: actions/checkout@v4
76+
77+
- name: Setup Bun
78+
uses: oven-sh/setup-bun@v2
79+
with:
80+
bun-version: latest
81+
82+
- name: Install dependencies
83+
run: bun install --frozen-lockfile
84+
85+
- name: Install Playwright browsers
86+
run: bunx playwright install --with-deps
87+
88+
- name: Run E2E tests
89+
run: bun run test
90+
working-directory: apps/frontend
91+
92+
- name: Upload Playwright report
93+
uses: actions/upload-artifact@v4
94+
if: ${{ !cancelled() }}
4395
with:
4496
name: playwright-report
45-
path: playwright-report/
97+
path: apps/frontend/playwright-report/
4698
retention-days: 30

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ storybook-static
6161
# Environment Variables
6262
# ============================================
6363
.env
64+
.env.production
6465
.env.development.local
6566
.env.test.local
6667
.env.production.local

.vscode/extensions.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"recommendations": [
33
"biomejs.biome",
44
"bradlc.vscode-tailwindcss",
5-
"dbaeumer.vscode-eslint",
65
"editorconfig.editorconfig",
76
"ms-playwright.playwright"
87
]

0 commit comments

Comments
 (0)