[{"data":1,"prerenderedAt":1394},["ShallowReactive",2],{"navigation_docs":3,"-git-message":190,"-git-message-surround":1389},[4,136,150,183],{"title":5,"path":6,"stem":7,"children":8},"Frontend","\u002Ffrontend","1.frontend",[9,13,39,76,109,130],{"title":10,"path":6,"stem":11,"order":12},"フロントエンド ガイドライン","1.frontend\u002Findex",1,{"title":14,"path":15,"stem":16,"children":17},"HTML","\u002Ffrontend\u002Fhtml","1.frontend\u002F1.html\u002Findex",[18,19,23,27,31,35],{"title":14,"path":15,"stem":16},{"title":20,"path":21,"stem":22},"コードスタイル","\u002Ffrontend\u002Fhtml\u002Fcode-style","1.frontend\u002F1.html\u002Fcode-style",{"title":24,"path":25,"stem":26},"見出しタグ","\u002Ffrontend\u002Fhtml\u002Fheading","1.frontend\u002F1.html\u002Fheading",{"title":28,"path":29,"stem":30},"img タグ","\u002Ffrontend\u002Fhtml\u002Fimg","1.frontend\u002F1.html\u002Fimg",{"title":32,"path":33,"stem":34},"パスとリンク","\u002Ffrontend\u002Fhtml\u002Flink","1.frontend\u002F1.html\u002Flink",{"title":36,"path":37,"stem":38},"品質管理","\u002Ffrontend\u002Fhtml\u002Fquality","1.frontend\u002F1.html\u002Fquality",{"title":40,"path":41,"stem":42,"children":43},"CSS","\u002Ffrontend\u002Fcss","1.frontend\u002F2.css\u002Findex",[44,45,49,52,56,60,64,68,72],{"title":40,"path":41,"stem":42},{"title":46,"path":47,"stem":48},"命名規則・コンポーネント設計","\u002Ffrontend\u002Fcss\u002Farchitecture","1.frontend\u002F2.css\u002Farchitecture",{"title":20,"path":50,"stem":51},"\u002Ffrontend\u002Fcss\u002Fcode-style","1.frontend\u002F2.css\u002Fcode-style",{"title":53,"path":54,"stem":55},"Web フォント","\u002Ffrontend\u002Fcss\u002Ffonts","1.frontend\u002F2.css\u002Ffonts",{"title":57,"path":58,"stem":59},"記述順番","\u002Ffrontend\u002Fcss\u002Forder","1.frontend\u002F2.css\u002Forder",{"title":61,"path":62,"stem":63},"プロパティのルール","\u002Ffrontend\u002Fcss\u002Fproperties","1.frontend\u002F2.css\u002Fproperties",{"title":65,"path":66,"stem":67},"Tailwind CSS","\u002Ffrontend\u002Fcss\u002Ftailwind","1.frontend\u002F2.css\u002Ftailwind",{"title":69,"path":70,"stem":71},"値のルール","\u002Ffrontend\u002Fcss\u002Fvalues","1.frontend\u002F2.css\u002Fvalues",{"title":73,"path":74,"stem":75},"CSS 変数（カスタムプロパティ）","\u002Ffrontend\u002Fcss\u002Fvariables","1.frontend\u002F2.css\u002Fvariables",{"title":77,"path":78,"stem":79,"children":80},"JavaScript","\u002Ffrontend\u002Fjs","1.frontend\u002F3.js\u002Findex",[81,82,85,89,93,97,101,105],{"title":77,"path":78,"stem":79},{"title":20,"path":83,"stem":84},"\u002Ffrontend\u002Fjs\u002Fcode-style","1.frontend\u002F3.js\u002Fcode-style",{"title":86,"path":87,"stem":88},"エラーハンドリング","\u002Ffrontend\u002Fjs\u002Ferror-handling","1.frontend\u002F3.js\u002Ferror-handling",{"title":90,"path":91,"stem":92},"ライブラリの利用","\u002Ffrontend\u002Fjs\u002Flibraries","1.frontend\u002F3.js\u002Flibraries",{"title":94,"path":95,"stem":96},"HTML への読み込み","\u002Ffrontend\u002Fjs\u002Floading","1.frontend\u002F3.js\u002Floading",{"title":98,"path":99,"stem":100},"モジュール","\u002Ffrontend\u002Fjs\u002Fmodule-structure","1.frontend\u002F3.js\u002Fmodule-structure",{"title":102,"path":103,"stem":104},"命名規則","\u002Ffrontend\u002Fjs\u002Fnaming","1.frontend\u002F3.js\u002Fnaming",{"title":106,"path":107,"stem":108},"パフォーマンス最適化","\u002Ffrontend\u002Fjs\u002Fperformance","1.frontend\u002F3.js\u002Fperformance",{"title":110,"path":111,"stem":112,"children":113},"画像・メディアリソースガイドライン","\u002Ffrontend\u002Fmedia","1.frontend\u002F4.media\u002Findex",[114,115,119,123,127],{"title":110,"path":111,"stem":112},{"title":116,"path":117,"stem":118},"アクセシビリティ","\u002Ffrontend\u002Fmedia\u002Faccessibility","1.frontend\u002F4.media\u002Faccessibility",{"title":120,"path":121,"stem":122},"画像フォーマット","\u002Ffrontend\u002Fmedia\u002Fformats","1.frontend\u002F4.media\u002Fformats",{"title":124,"path":125,"stem":126},"ファイル命名規則","\u002Ffrontend\u002Fmedia\u002Fnaming","1.frontend\u002F4.media\u002Fnaming",{"title":106,"path":128,"stem":129},"\u002Ffrontend\u002Fmedia\u002Foptimization","1.frontend\u002F4.media\u002Foptimization",{"title":131,"path":132,"stem":133,"children":134},"開発環境テンプレート","\u002Ffrontend\u002Fenvironment","1.frontend\u002F5.environment\u002Findex",[135],{"title":131,"path":132,"stem":133},{"title":137,"path":138,"stem":139,"children":140,"page":149},"Deploy Release","\u002Fdeploy-release","2.deploy-release",[141,145],{"title":142,"path":143,"stem":144},"デプロイ","\u002Fdeploy-release\u002Fdeploy","2.deploy-release\u002Fdeploy",{"title":146,"path":147,"stem":148},"リリース","\u002Fdeploy-release\u002Frelease","2.deploy-release\u002Frelease",false,{"title":151,"path":152,"stem":153,"children":154},"Git","\u002Fgit","3.git",[155,159,163,167,171,175,179],{"title":156,"path":152,"stem":157,"order":158},"Git ガイドライン","3.git\u002Findex",3,{"title":160,"path":161,"stem":162},"ブランチ戦略","\u002Fgit\u002Fbranch","3.git\u002Fbranch",{"title":164,"path":165,"stem":166},"CI\u002FCD運用","\u002Fgit\u002Fcicd","3.git\u002Fcicd",{"title":168,"path":169,"stem":170},"コミットメッセージとタグ","\u002Fgit\u002Fmessage","3.git\u002Fmessage",{"title":172,"path":173,"stem":174},"Pull Request運用","\u002Fgit\u002Fpull-request","3.git\u002Fpull-request",{"title":176,"path":177,"stem":178},"リポジトリ運用","\u002Fgit\u002Frepository","3.git\u002Frepository",{"title":180,"path":181,"stem":182},"GitHub権限・セキュリティ","\u002Fgit\u002Fsecurity","3.git\u002Fsecurity",{"title":184,"path":185,"stem":186,"children":187,"order":189},"AI 利用ガイドライン","\u002Fai","4.ai\u002Findex",[188],{"title":184,"path":185,"stem":186,"order":189},4,{"id":191,"title":168,"body":192,"description":1383,"extension":1384,"links":1385,"meta":1386,"navigation":271,"path":169,"seo":1387,"stem":170,"__hash__":1388},"docs\u002F3.git\u002Fmessage.md",{"type":193,"value":194,"toc":1345},"minimark",[195,199,204,209,238,246,249,288,291,323,326,330,333,475,479,538,542,546,571,574,613,617,621,624,686,689,715,719,722,755,758,762,766,769,793,797,800,819,843,846,849,890,893,918,921,971,975,1023,1026,1029,1032,1035,1038,1072,1092,1099,1102,1141,1149,1152,1195,1198,1226,1234,1237,1240,1243,1246,1266,1316,1319,1334,1342],[196,197,198],"h2",{"id":198},"コミットメッセージ規約",[200,201,203],"note",{"to":202},"https:\u002F\u002Fwww.conventionalcommits.org\u002Fja\u002Fv1.0.0\u002F","\n原則 Conventional Commits の仕様に準拠してください。これにより、変更の意図を明確にし、リリースノートの自動生成などを容易にします。\n",[205,206,208],"h3",{"id":207},"なぜconventional-commitsを使うのか","なぜConventional Commitsを使うのか",[210,211,212,220,226,232],"ul",{},[213,214,215,219],"li",{},[216,217,218],"strong",{},"変更内容の明確化",": コミットの目的が一目で分かる",[213,221,222,225],{},[216,223,224],{},"リリースノート自動生成",": 変更履歴を自動的に作成できる",[213,227,228,231],{},[216,229,230],{},"セマンティックバージョニング",": バージョン番号の自動決定が可能",[213,233,234,237],{},[216,235,236],{},"チーム内の統一",": 誰が書いても同じ形式になる",[239,240,241,242,245],"warning",{},"開発初期やリリース前は、スピード重視でコミットメッセージが雑でも構いません。",[243,244],"br",{},"\n※プッシュやマージのし忘れには注意してください。",[196,247,248],{"id":248},"フォーマット",[250,251,256],"pre",{"className":252,"code":253,"language":254,"meta":255,"style":255},"language-sh shiki shiki-themes github-light material-theme material-theme-palenight","\u003Ctype>[optional scope]: \u003Cdescription>\n\n[optional body]\n\n[optional footer(s)]\n","sh","",[257,258,259,266,273,278,282],"code",{"__ignoreMap":255},[260,261,263],"span",{"class":262,"line":12},"line",[260,264,265],{},"\u003Ctype>[optional scope]: \u003Cdescription>\n",[260,267,269],{"class":262,"line":268},2,[260,270,272],{"emptyLinePlaceholder":271},true,"\n",[260,274,275],{"class":262,"line":158},[260,276,277],{},"[optional body]\n",[260,279,280],{"class":262,"line":189},[260,281,272],{"emptyLinePlaceholder":271},[260,283,285],{"class":262,"line":284},5,[260,286,287],{},"[optional footer(s)]\n",[205,289,290],{"id":290},"基本構造",[210,292,293,299,305,311,317],{},[213,294,295,298],{},[216,296,297],{},"type",": コミットの種類（必須）",[213,300,301,304],{},[216,302,303],{},"scope",": 変更の範囲（省略可）",[213,306,307,310],{},[216,308,309],{},"description",": 変更内容の簡潔な説明（必須）",[213,312,313,316],{},[216,314,315],{},"body",": 詳細な説明（省略可）",[213,318,319,322],{},[216,320,321],{},"footer",": 破壊的変更やIssue参照（省略可）",[200,324,325],{},"scope（スコープ）、body（本文）、footer は省略可能です。\n短い修正や説明不要な場合は 1 行のみでも問題ありません。",[196,327,329],{"id":328},"type-の種類","type の種類",[205,331,332],{"id":332},"主要なtype",[334,335,336,351],"table",{},[337,338,339],"thead",{},[340,341,342,345,348],"tr",{},[343,344,297],"th",{},[343,346,347],{},"説明",[343,349,350],{},"例",[352,353,354,370,385,400,415,430,445,460],"tbody",{},[340,355,356,362,365],{},[357,358,359],"td",{},[257,360,361],{},"feat",[357,363,364],{},"新機能の追加",[357,366,367],{},[257,368,369],{},"feat: ユーザー登録機能の追加",[340,371,372,377,380],{},[357,373,374],{},[257,375,376],{},"fix",[357,378,379],{},"バグ修正",[357,381,382],{},[257,383,384],{},"fix: ログインフォームのバリデーションエラー修正",[340,386,387,392,395],{},[357,388,389],{},[257,390,391],{},"docs",[357,393,394],{},"ドキュメントのみの変更",[357,396,397],{},[257,398,399],{},"docs: READMEのセットアップ手順を更新",[340,401,402,407,410],{},[357,403,404],{},[257,405,406],{},"style",[357,408,409],{},"コードの意味に影響しないフォーマット変更",[357,411,412],{},[257,413,414],{},"style: インデントを修正",[340,416,417,422,425],{},[357,418,419],{},[257,420,421],{},"refactor",[357,423,424],{},"リファクタリング（機能変更なし）",[357,426,427],{},[257,428,429],{},"refactor: APIクライアントを関数化",[340,431,432,437,440],{},[357,433,434],{},[257,435,436],{},"perf",[357,438,439],{},"パフォーマンス改善",[357,441,442],{},[257,443,444],{},"perf: 画像の遅延読み込みを実装",[340,446,447,452,455],{},[357,448,449],{},[257,450,451],{},"test",[357,453,454],{},"テストの追加・修正",[357,456,457],{},[257,458,459],{},"test: ユーザー認証のテストを追加",[340,461,462,467,470],{},[357,463,464],{},[257,465,466],{},"chore",[357,468,469],{},"ビルドプロセスやツールの変更",[357,471,472],{},[257,473,474],{},"chore: 依存関係を更新",[205,476,478],{"id":477},"その他のtype任意","その他のtype（任意）",[334,480,481,491],{},[337,482,483],{},[340,484,485,487,489],{},[343,486,297],{},[343,488,347],{},[343,490,350],{},[352,492,493,508,523],{},[340,494,495,500,503],{},[357,496,497],{},[257,498,499],{},"build",[357,501,502],{},"ビルドシステムの変更",[357,504,505],{},[257,506,507],{},"build: webpackの設定を更新",[340,509,510,515,518],{},[357,511,512],{},[257,513,514],{},"ci",[357,516,517],{},"CI設定の変更",[357,519,520],{},[257,521,522],{},"ci: GitHub Actionsのワークフローを追加",[340,524,525,530,533],{},[357,526,527],{},[257,528,529],{},"revert",[357,531,532],{},"以前のコミットの取り消し",[357,534,535],{},[257,536,537],{},"revert: \"feat: ユーザー登録機能の追加\"",[196,539,541],{"id":540},"scope-の使い方","scope の使い方",[543,544,545],"p",{},"scopeは変更の範囲を示します（省略可）。",[250,547,549],{"className":252,"code":548,"language":254,"meta":350,"style":255},"feat(auth): ログイン機能の追加\nfix(api): ユーザー取得のエラーハンドリング修正\ndocs(readme): セットアップ手順を追記\nstyle(button): ボタンのスタイルを統一\n",[257,550,551,556,561,566],{"__ignoreMap":255},[260,552,553],{"class":262,"line":12},[260,554,555],{},"feat(auth): ログイン機能の追加\n",[260,557,558],{"class":262,"line":268},[260,559,560],{},"fix(api): ユーザー取得のエラーハンドリング修正\n",[260,562,563],{"class":262,"line":158},[260,564,565],{},"docs(readme): セットアップ手順を追記\n",[260,567,568],{"class":262,"line":189},[260,569,570],{},"style(button): ボタンのスタイルを統一\n",[205,572,573],{"id":573},"scopeの例",[210,575,576,589,601],{},[213,577,578,579,582,583,582,586],{},"コンポーネント名: ",[257,580,581],{},"button",", ",[257,584,585],{},"header",[257,587,588],{},"modal",[213,590,591,592,582,595,582,598],{},"機能領域: ",[257,593,594],{},"auth",[257,596,597],{},"payment",[257,599,600],{},"search",[213,602,603,604,582,607,582,610],{},"ファイル名: ",[257,605,606],{},"index",[257,608,609],{},"config",[257,611,612],{},"utils",[614,615,616],"tip",{},"scopeは短く、意味が明確であることが重要です。\nプロジェクト内で統一したscopeを使うと、検索や履歴の整理が容易になります。",[196,618,620],{"id":619},"description-の書き方","description の書き方",[543,622,623],{},"descriptionは変更内容を簡潔に説明します。",[625,626,627,657],"tabs",{},[628,629,632],"tabs-item",{"icon":630,"label":631},"i-lucide-check","良い例",[250,633,635],{"className":252,"code":634,"language":254,"meta":255,"style":255},"feat: ユーザー認証機能を追加\nfix: ログインフォームのバリデーションエラーを修正\ndocs: API仕様書を更新\nrefactor: データ取得ロジックを共通化\n",[257,636,637,642,647,652],{"__ignoreMap":255},[260,638,639],{"class":262,"line":12},[260,640,641],{},"feat: ユーザー認証機能を追加\n",[260,643,644],{"class":262,"line":268},[260,645,646],{},"fix: ログインフォームのバリデーションエラーを修正\n",[260,648,649],{"class":262,"line":158},[260,650,651],{},"docs: API仕様書を更新\n",[260,653,654],{"class":262,"line":189},[260,655,656],{},"refactor: データ取得ロジックを共通化\n",[628,658,661],{"icon":659,"label":660},"i-lucide-x","悪い例",[250,662,664],{"className":252,"code":663,"language":254,"meta":255,"style":255},"update\nfix bug\n変更\nWIP\n",[257,665,666,671,676,681],{"__ignoreMap":255},[260,667,668],{"class":262,"line":12},[260,669,670],{},"update\n",[260,672,673],{"class":262,"line":268},[260,674,675],{},"fix bug\n",[260,677,678],{"class":262,"line":158},[260,679,680],{},"変更\n",[260,682,683],{"class":262,"line":189},[260,684,685],{},"WIP\n",[205,687,688],{"id":688},"descriptionのルール",[210,690,691,697,703,709],{},[213,692,693,696],{},[216,694,695],{},"動詞で始める",": 「追加」「修正」「更新」など",[213,698,699,702],{},[216,700,701],{},"現在形を使う",": 「追加した」ではなく「追加」",[213,704,705,708],{},[216,706,707],{},"簡潔に",": 50文字以内を目安に",[213,710,711,714],{},[216,712,713],{},"具体的に",": 何を変更したか明確に",[196,716,718],{"id":717},"body-の使い方","body の使い方",[543,720,721],{},"詳細な説明が必要な場合は、bodyを使用します。",[250,723,725],{"className":252,"code":724,"language":254,"meta":350,"style":255},"feat: ユーザー認証機能を追加\n\nJWT トークンを使用した認証システムを実装しました。\nログイン、ログアウト、トークンリフレッシュに対応しています。\n\nセキュリティ向上のため、HTTPOnlyクッキーにトークンを保存します。\n",[257,726,727,731,735,740,745,749],{"__ignoreMap":255},[260,728,729],{"class":262,"line":12},[260,730,641],{},[260,732,733],{"class":262,"line":268},[260,734,272],{"emptyLinePlaceholder":271},[260,736,737],{"class":262,"line":158},[260,738,739],{},"JWT トークンを使用した認証システムを実装しました。\n",[260,741,742],{"class":262,"line":189},[260,743,744],{},"ログイン、ログアウト、トークンリフレッシュに対応しています。\n",[260,746,747],{"class":262,"line":284},[260,748,272],{"emptyLinePlaceholder":271},[260,750,752],{"class":262,"line":751},6,[260,753,754],{},"セキュリティ向上のため、HTTPOnlyクッキーにトークンを保存します。\n",[200,756,757],{},"bodyは省略可能です。\nコミットの内容が複雑で、descriptionだけでは説明しきれない場合に使用してください。",[196,759,761],{"id":760},"footer-の使い方","footer の使い方",[205,763,765],{"id":764},"breaking-change破壊的変更","Breaking Change（破壊的変更）",[543,767,768],{},"APIの変更など、後方互換性のない変更がある場合は明記します。",[250,770,772],{"className":252,"code":771,"language":254,"meta":255,"style":255},"feat: API レスポンス形式を変更\n\nBREAKING CHANGE: APIレスポンスの形式が変更されました。\n以前は { data: {...} } でしたが、現在は { result: {...} } になります。\n",[257,773,774,779,783,788],{"__ignoreMap":255},[260,775,776],{"class":262,"line":12},[260,777,778],{},"feat: API レスポンス形式を変更\n",[260,780,781],{"class":262,"line":268},[260,782,272],{"emptyLinePlaceholder":271},[260,784,785],{"class":262,"line":158},[260,786,787],{},"BREAKING CHANGE: APIレスポンスの形式が変更されました。\n",[260,789,790],{"class":262,"line":189},[260,791,792],{},"以前は { data: {...} } でしたが、現在は { result: {...} } になります。\n",[205,794,796],{"id":795},"issue参照","Issue参照",[543,798,799],{},"関連するIssueがある場合は、footerで参照します。",[250,801,803],{"className":252,"code":802,"language":254,"meta":255,"style":255},"fix: ログインエラーを修正\n\nCloses #123\n",[257,804,805,810,814],{"__ignoreMap":255},[260,806,807],{"class":262,"line":12},[260,808,809],{},"fix: ログインエラーを修正\n",[260,811,812],{"class":262,"line":268},[260,813,272],{"emptyLinePlaceholder":271},[260,815,816],{"class":262,"line":158},[260,817,818],{},"Closes #123\n",[250,820,822],{"className":252,"code":821,"language":254,"meta":255,"style":255},"feat: 検索機能を追加\n\nResolves #45\nRefs #46, #47\n",[257,823,824,829,833,838],{"__ignoreMap":255},[260,825,826],{"class":262,"line":12},[260,827,828],{},"feat: 検索機能を追加\n",[260,830,831],{"class":262,"line":268},[260,832,272],{"emptyLinePlaceholder":271},[260,834,835],{"class":262,"line":158},[260,836,837],{},"Resolves #45\n",[260,839,840],{"class":262,"line":189},[260,841,842],{},"Refs #46, #47\n",[196,844,845],{"id":845},"実例",[205,847,848],{"id":848},"シンプルな例",[250,850,852],{"className":252,"code":851,"language":254,"meta":255,"style":255},"feat: ダークモード対応\nfix: 画像が表示されない問題を修正\ndocs: コントリビューションガイドを追加\nstyle: コードフォーマットを統一\nrefactor: useAuthフックを作成\ntest: ログイン機能のテストを追加\nchore: ESLintの設定を更新\n",[257,853,854,859,864,869,874,879,884],{"__ignoreMap":255},[260,855,856],{"class":262,"line":12},[260,857,858],{},"feat: ダークモード対応\n",[260,860,861],{"class":262,"line":268},[260,862,863],{},"fix: 画像が表示されない問題を修正\n",[260,865,866],{"class":262,"line":158},[260,867,868],{},"docs: コントリビューションガイドを追加\n",[260,870,871],{"class":262,"line":189},[260,872,873],{},"style: コードフォーマットを統一\n",[260,875,876],{"class":262,"line":284},[260,877,878],{},"refactor: useAuthフックを作成\n",[260,880,881],{"class":262,"line":751},[260,882,883],{},"test: ログイン機能のテストを追加\n",[260,885,887],{"class":262,"line":886},7,[260,888,889],{},"chore: ESLintの設定を更新\n",[205,891,892],{"id":892},"scope付き",[250,894,896],{"className":252,"code":895,"language":254,"meta":255,"style":255},"feat(auth): パスワードリセット機能を追加\nfix(api): ユーザー一覧取得のページネーションを修正\ndocs(deploy): デプロイ手順を更新\nrefactor(hooks): カスタムフックを共通化\n",[257,897,898,903,908,913],{"__ignoreMap":255},[260,899,900],{"class":262,"line":12},[260,901,902],{},"feat(auth): パスワードリセット機能を追加\n",[260,904,905],{"class":262,"line":268},[260,906,907],{},"fix(api): ユーザー一覧取得のページネーションを修正\n",[260,909,910],{"class":262,"line":158},[260,911,912],{},"docs(deploy): デプロイ手順を更新\n",[260,914,915],{"class":262,"line":189},[260,916,917],{},"refactor(hooks): カスタムフックを共通化\n",[205,919,920],{"id":920},"body付き",[250,922,924],{"className":252,"code":923,"language":254,"meta":255,"style":255},"feat: メール通知機能を実装\n\nSendGridを使用したメール送信システムを追加しました。\n以下のイベント発生時に通知を送信します：\n- ユーザー登録完了\n- パスワードリセット\n- 重要なアカウント変更\n\n環境変数 SENDGRID_API_KEY の設定が必要です。\n",[257,925,926,931,935,940,945,950,955,960,965],{"__ignoreMap":255},[260,927,928],{"class":262,"line":12},[260,929,930],{},"feat: メール通知機能を実装\n",[260,932,933],{"class":262,"line":268},[260,934,272],{"emptyLinePlaceholder":271},[260,936,937],{"class":262,"line":158},[260,938,939],{},"SendGridを使用したメール送信システムを追加しました。\n",[260,941,942],{"class":262,"line":189},[260,943,944],{},"以下のイベント発生時に通知を送信します：\n",[260,946,947],{"class":262,"line":284},[260,948,949],{},"- ユーザー登録完了\n",[260,951,952],{"class":262,"line":751},[260,953,954],{},"- パスワードリセット\n",[260,956,957],{"class":262,"line":886},[260,958,959],{},"- 重要なアカウント変更\n",[260,961,963],{"class":262,"line":962},8,[260,964,272],{"emptyLinePlaceholder":271},[260,966,968],{"class":262,"line":967},9,[260,969,970],{},"環境変数 SENDGRID_API_KEY の設定が必要です。\n",[205,972,974],{"id":973},"breaking-change付き","Breaking Change付き",[250,976,978],{"className":252,"code":977,"language":254,"meta":255,"style":255},"refactor: 環境変数名を変更\n\nBREAKING CHANGE: 環境変数の命名規則を統一しました。\n以下の環境変数名が変更されています：\n- API_KEY → VITE_API_KEY\n- DB_URL → DATABASE_URL\n- SECRET → JWT_SECRET\n\n.env ファイルを更新してください。\n",[257,979,980,985,989,994,999,1004,1009,1014,1018],{"__ignoreMap":255},[260,981,982],{"class":262,"line":12},[260,983,984],{},"refactor: 環境変数名を変更\n",[260,986,987],{"class":262,"line":268},[260,988,272],{"emptyLinePlaceholder":271},[260,990,991],{"class":262,"line":158},[260,992,993],{},"BREAKING CHANGE: 環境変数の命名規則を統一しました。\n",[260,995,996],{"class":262,"line":189},[260,997,998],{},"以下の環境変数名が変更されています：\n",[260,1000,1001],{"class":262,"line":284},[260,1002,1003],{},"- API_KEY → VITE_API_KEY\n",[260,1005,1006],{"class":262,"line":751},[260,1007,1008],{},"- DB_URL → DATABASE_URL\n",[260,1010,1011],{"class":262,"line":886},[260,1012,1013],{},"- SECRET → JWT_SECRET\n",[260,1015,1016],{"class":262,"line":962},[260,1017,272],{"emptyLinePlaceholder":271},[260,1019,1020],{"class":262,"line":967},[260,1021,1022],{},".env ファイルを更新してください。\n",[196,1024,1025],{"id":1025},"タグ運用",[543,1027,1028],{},"必要に応じて、Gitタグを使用してバージョンを管理できます。",[200,1030,1031],{},"タグ運用は必須ではありません。",[205,1033,1034],{"id":1034},"タグの命名規則",[543,1036,1037],{},"セマンティックバージョニング（SemVer）に準拠します。",[250,1039,1041],{"className":252,"code":1040,"language":254,"meta":255,"style":255},"v\u003Cmajor>.\u003Cminor>.\u003Cpatch>\n\n例:\nv1.0.0\nv1.2.3\nv2.0.0-beta.1\n",[257,1042,1043,1048,1052,1057,1062,1067],{"__ignoreMap":255},[260,1044,1045],{"class":262,"line":12},[260,1046,1047],{},"v\u003Cmajor>.\u003Cminor>.\u003Cpatch>\n",[260,1049,1050],{"class":262,"line":268},[260,1051,272],{"emptyLinePlaceholder":271},[260,1053,1054],{"class":262,"line":158},[260,1055,1056],{},"例:\n",[260,1058,1059],{"class":262,"line":189},[260,1060,1061],{},"v1.0.0\n",[260,1063,1064],{"class":262,"line":284},[260,1065,1066],{},"v1.2.3\n",[260,1068,1069],{"class":262,"line":751},[260,1070,1071],{},"v2.0.0-beta.1\n",[210,1073,1074,1080,1086],{},[213,1075,1076,1079],{},[216,1077,1078],{},"major",": 破壊的変更がある場合に上げる",[213,1081,1082,1085],{},[216,1083,1084],{},"minor",": 後方互換性のある機能追加",[213,1087,1088,1091],{},[216,1089,1090],{},"patch",": 後方互換性のあるバグ修正",[200,1093,1094,1095,1098],{},"プロジェクトによっては、日付ベースのタグ（例: ",[257,1096,1097],{},"release20250114","）を使用することもあります。\n導入する場合は、チーム内で統一されたルールに従ってください。",[205,1100,1101],{"id":1101},"タグの作成",[625,1103,1104,1123],{},[628,1105,1108],{"icon":1106,"label":1107},"i-lucide-tag","軽量タグ（簡易版）",[250,1109,1111],{"className":252,"code":1110,"language":254,"meta":255,"style":255},"git tag v1.0.0\ngit push origin v1.0.0\n",[257,1112,1113,1118],{"__ignoreMap":255},[260,1114,1115],{"class":262,"line":12},[260,1116,1117],{},"git tag v1.0.0\n",[260,1119,1120],{"class":262,"line":268},[260,1121,1122],{},"git push origin v1.0.0\n",[628,1124,1127],{"icon":1125,"label":1126},"i-lucide-bookmark","注釈付きタグ（推奨）",[250,1128,1130],{"className":252,"code":1129,"language":254,"meta":255,"style":255},"git tag -a v1.0.0 -m \"Release version 1.0.0\"\ngit push origin v1.0.0\n",[257,1131,1132,1137],{"__ignoreMap":255},[260,1133,1134],{"class":262,"line":12},[260,1135,1136],{},"git tag -a v1.0.0 -m \"Release version 1.0.0\"\n",[260,1138,1139],{"class":262,"line":268},[260,1140,1122],{},[614,1142,1143,1146],{},[543,1144,1145],{},"注釈付きタグの推奨",[543,1147,1148],{},"注釈付きタグには、作成者、日時、メッセージが記録されます。\nリリース管理には注釈付きタグを使用することを推奨します。",[205,1150,1151],{"id":1151},"タグの一覧表示",[250,1153,1155],{"className":252,"code":1154,"language":254,"meta":255,"style":255},"# すべてのタグを表示\ngit tag\n\n# パターンに一致するタグを表示\ngit tag -l \"v1.*\"\n\n# タグの詳細を表示\ngit show v1.0.0\n",[257,1156,1157,1162,1167,1171,1176,1181,1185,1190],{"__ignoreMap":255},[260,1158,1159],{"class":262,"line":12},[260,1160,1161],{},"# すべてのタグを表示\n",[260,1163,1164],{"class":262,"line":268},[260,1165,1166],{},"git tag\n",[260,1168,1169],{"class":262,"line":158},[260,1170,272],{"emptyLinePlaceholder":271},[260,1172,1173],{"class":262,"line":189},[260,1174,1175],{},"# パターンに一致するタグを表示\n",[260,1177,1178],{"class":262,"line":284},[260,1179,1180],{},"git tag -l \"v1.*\"\n",[260,1182,1183],{"class":262,"line":751},[260,1184,272],{"emptyLinePlaceholder":271},[260,1186,1187],{"class":262,"line":886},[260,1188,1189],{},"# タグの詳細を表示\n",[260,1191,1192],{"class":262,"line":962},[260,1193,1194],{},"git show v1.0.0\n",[205,1196,1197],{"id":1197},"タグの削除",[625,1199,1200,1213],{},[628,1201,1204],{"icon":1202,"label":1203},"i-lucide-hard-drive","ローカルタグの削除",[250,1205,1207],{"className":252,"code":1206,"language":254,"meta":255,"style":255},"git tag -d v1.0.0\n",[257,1208,1209],{"__ignoreMap":255},[260,1210,1211],{"class":262,"line":12},[260,1212,1206],{},[628,1214,1217],{"icon":1215,"label":1216},"i-lucide-cloud","リモートタグの削除",[250,1218,1220],{"className":252,"code":1219,"language":254,"meta":255,"style":255},"git push origin --delete v1.0.0\n",[257,1221,1222],{"__ignoreMap":255},[260,1223,1224],{"class":262,"line":12},[260,1225,1219],{},[239,1227,1228,1231],{},[543,1229,1230],{},"タグの削除は慎重に",[543,1232,1233],{},"一度公開したタグは、他の人が使用している可能性があります。\n誤って作成した場合を除き、既存のタグは削除しないことを推奨します。",[196,1235,1236],{"id":1236},"リリースノートの自動生成",[543,1238,1239],{},"Conventional Commitsに準拠することで、必要に応じてリリースノートを自動生成できます。",[200,1241,1242],{},"リリースノートは必須ではありません。",[205,1244,1245],{"id":1245},"ツールの例",[210,1247,1248,1254,1260],{},[213,1249,1250,1253],{},[216,1251,1252],{},"standard-version",": バージョン管理とCHANGELOG生成",[213,1255,1256,1259],{},[216,1257,1258],{},"semantic-release",": 完全自動リリース",[213,1261,1262,1265],{},[216,1263,1264],{},"release-please",": GitHub Actions での自動リリース",[250,1267,1270],{"className":252,"code":1268,"language":254,"meta":1269,"style":255},"# package.jsonに追加\n{\n  \"scripts\": {\n    \"release\": \"standard-version\"\n  }\n}\n\n# 実行\nnpm run release\n","standard-versionの使用例",[257,1271,1272,1277,1282,1287,1292,1297,1302,1306,1311],{"__ignoreMap":255},[260,1273,1274],{"class":262,"line":12},[260,1275,1276],{},"# package.jsonに追加\n",[260,1278,1279],{"class":262,"line":268},[260,1280,1281],{},"{\n",[260,1283,1284],{"class":262,"line":158},[260,1285,1286],{},"  \"scripts\": {\n",[260,1288,1289],{"class":262,"line":189},[260,1290,1291],{},"    \"release\": \"standard-version\"\n",[260,1293,1294],{"class":262,"line":284},[260,1295,1296],{},"  }\n",[260,1298,1299],{"class":262,"line":751},[260,1300,1301],{},"}\n",[260,1303,1304],{"class":262,"line":886},[260,1305,272],{"emptyLinePlaceholder":271},[260,1307,1308],{"class":262,"line":962},[260,1309,1310],{},"# 実行\n",[260,1312,1313],{"class":262,"line":967},[260,1314,1315],{},"npm run release\n",[543,1317,1318],{},"自動的に以下が行われます：",[1320,1321,1322,1325,1328,1331],"ol",{},[213,1323,1324],{},"バージョン番号の決定",[213,1326,1327],{},"CHANGELOG.md の更新",[213,1329,1330],{},"Gitタグの作成",[213,1332,1333],{},"package.json のバージョン更新",[614,1335,1336,1339],{},[543,1337,1338],{},"GitHub Releasesとの連携",[543,1340,1341],{},"タグを作成すると、GitHubのReleasesページでリリースノートを公開できます。",[406,1343,1344],{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":255,"searchDepth":268,"depth":268,"links":1346},[1347,1350,1353,1357,1360,1363,1364,1368,1374,1380],{"id":198,"depth":268,"text":198,"children":1348},[1349],{"id":207,"depth":158,"text":208},{"id":248,"depth":268,"text":248,"children":1351},[1352],{"id":290,"depth":158,"text":290},{"id":328,"depth":268,"text":329,"children":1354},[1355,1356],{"id":332,"depth":158,"text":332},{"id":477,"depth":158,"text":478},{"id":540,"depth":268,"text":541,"children":1358},[1359],{"id":573,"depth":158,"text":573},{"id":619,"depth":268,"text":620,"children":1361},[1362],{"id":688,"depth":158,"text":688},{"id":717,"depth":268,"text":718},{"id":760,"depth":268,"text":761,"children":1365},[1366,1367],{"id":764,"depth":158,"text":765},{"id":795,"depth":158,"text":796},{"id":845,"depth":268,"text":845,"children":1369},[1370,1371,1372,1373],{"id":848,"depth":158,"text":848},{"id":892,"depth":158,"text":892},{"id":920,"depth":158,"text":920},{"id":973,"depth":158,"text":974},{"id":1025,"depth":268,"text":1025,"children":1375},[1376,1377,1378,1379],{"id":1034,"depth":158,"text":1034},{"id":1101,"depth":158,"text":1101},{"id":1151,"depth":158,"text":1151},{"id":1197,"depth":158,"text":1197},{"id":1236,"depth":268,"text":1236,"children":1381},[1382],{"id":1245,"depth":158,"text":1245},"Conventional Commitsに準拠したコミットメッセージの書き方とタグ運用","md",null,{},{"title":168,"description":1383},"ve4n0GyrtrYIK5vCUgQ-_fnKkbL8y6lG3W58EWvdIg0",[1390,1392],{"title":164,"path":165,"stem":166,"description":1391,"children":-1},"CI（テスト・Lint）とCD（デプロイ・ロールバック）の運用ガイドライン",{"title":172,"path":173,"stem":174,"description":1393,"children":-1},"PRの作成ルール、レビュー体制、マージ戦略に関するガイドライン",1780099576475]