すべてのドキュメント

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つのジョブを実行します:

  • quality lint と typecheck;
  • semgrep-sast セキュリティスキャン(テンプレート);
  • build 成果物付き本番ビルド;
  • secret_detection シークレットスキャン(テンプレート)。

pnpm のセットアップは qualitybuild ジョブのみに限定されます。 セキュリティテンプレートのイメージには corepack が含まれておらず、 継承してはいけません。

検証:

  • lint、typecheck、build;
  • 375、768、1024、1440、1920px でのブラウザパス、水平オーバーフローゼロ、 全言語で;
  • reduced-motion パス: シャイマーやトランジションがアクティブでない、 コンテンツが見える;
  • アンカーナビゲーションが固定ヘッダーを避ける(スクロールパディング);
  • 全言語でドキュメントルートが解決する(英語フォールバック含む)。