DOC/ 更新日 2026-09-19
開発
このリポジトリのセットアップ、コマンド、コントリビューションワークフロー。
- Node.js 24 以降
- pnpm 12(package.json の
packageManagerで固定)
pnpm install
pnpm dev # turbo dev: HMR 付き Web アプリ
pnpm type-check # turbo type-check: モノレポ全体
pnpm lint # eslint(next + typescript ルール)、警告ゼロ
pnpm test # turbo test(vitest)
pnpm build # 本番ビルド → apps/web/.next
プッシュ前にすべてのチェックが通ること: pnpm lint エラーゼロ、
pnpm type-check エラーゼロ、pnpm format:check 差分なし、pnpm build 成功。
- UI 文字列:
packages/i18n/messages/en.jsonを編集し、他の6つの言語 ファイルを翻訳します。キー構造は同一に保ちます。 - Docs:
packages/content/docs/en/<slug>.mdを編集し、翻訳を更新します。 翻訳がない言語は自動的に英語にフォールバックします。 - messages や docs を変更したら
pnpm buildを実行し、全言語のルートを ブラウザで確認します。
リポジトリのコミットは、CI ジョブが本人確認付きで実行されるように プロジェクト所有者の GitLab アイデンティティで作成され、各コミットには 共同著者のトレーラーが付きます:
Co-authored-by: Ella Mizuki
これはパイプラインを動かすために必須です。 deployment.md を参照。
main は保護されています: Maintainer による push、force push 無効。
履歴の書き換え(コミットの著者変更など)には、保護を一時的に外し、
force push を行い、まったく同じ設定で保護を復元する必要があります。
.gitlab-ci.yml で定義されたパイプラインは4つのジョブを実行します:
qualitylint と typecheck;semgrep-sastセキュリティスキャン(テンプレート);build成果物付き本番ビルド;secret_detectionシークレットスキャン(テンプレート)。
pnpm のセットアップは quality と build ジョブのみに限定されます。
セキュリティテンプレートのイメージには corepack が含まれておらず、
継承してはいけません。
検証:
- lint、typecheck、build;
- 375、768、1024、1440、1920px でのブラウザパス、水平オーバーフローゼロ、 全言語で;
- reduced-motion パス: シャイマーやトランジションがアクティブでない、 コンテンツが見える;
- アンカーナビゲーションが固定ヘッダーを避ける(スクロールパディング);
- 全言語でドキュメントルートが解決する(英語フォールバック含む)。