create-specment 0.2.3 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/bin/commands/create.d.ts.map +1 -1
  2. package/bin/commands/create.js.map +1 -1
  3. package/bin/constants/languages.d.ts +1 -1
  4. package/bin/constants/languages.d.ts.map +1 -1
  5. package/bin/constants/languages.js +3 -3
  6. package/bin/core/interactive-setup.d.ts.map +1 -1
  7. package/bin/core/interactive-setup.js +20 -18
  8. package/bin/core/interactive-setup.js.map +1 -1
  9. package/bin/core/interactive-setup.test.js +11 -11
  10. package/bin/core/interactive-setup.test.js.map +1 -1
  11. package/bin/core/project-generator.d.ts.map +1 -1
  12. package/bin/core/project-generator.js +5 -10
  13. package/bin/core/project-generator.js.map +1 -1
  14. package/bin/features/index.js +12 -12
  15. package/bin/generators/docusaurus-config.js +48 -48
  16. package/bin/generators/docusaurus-config.js.map +1 -1
  17. package/bin/generators/package-json.js +14 -14
  18. package/bin/generators/package-json.js.map +1 -1
  19. package/bin/generators/template-files.d.ts.map +1 -1
  20. package/bin/generators/template-files.js +117 -121
  21. package/bin/generators/template-files.js.map +1 -1
  22. package/bin/index.d.ts.map +1 -1
  23. package/bin/index.js.map +1 -1
  24. package/bin/plugins/i18n-integration.d.ts.map +1 -1
  25. package/bin/plugins/i18n-integration.js +61 -60
  26. package/bin/plugins/i18n-integration.js.map +1 -1
  27. package/bin/plugins/plantuml-integration.d.ts.map +1 -1
  28. package/bin/plugins/plantuml-integration.js +12 -11
  29. package/bin/plugins/plantuml-integration.js.map +1 -1
  30. package/bin/plugins/redoc-integration.d.ts.map +1 -1
  31. package/bin/plugins/redoc-integration.js +13 -12
  32. package/bin/plugins/redoc-integration.js.map +1 -1
  33. package/bin/plugins/search-integration.d.ts.map +1 -1
  34. package/bin/plugins/search-integration.js +15 -11
  35. package/bin/plugins/search-integration.js.map +1 -1
  36. package/bin/templates/index.js +15 -15
  37. package/bin/templates/index.js.map +1 -1
  38. package/bin/templates/template-definitions.d.ts.map +1 -1
  39. package/bin/templates/template-definitions.js +223 -2
  40. package/bin/templates/template-definitions.js.map +1 -1
  41. package/bin/tests/integration.test.js +26 -24
  42. package/bin/tests/integration.test.js.map +1 -1
  43. package/bin/utils/config-merger.d.ts +1 -1
  44. package/bin/utils/config-merger.d.ts.map +1 -1
  45. package/bin/utils/config-merger.js +12 -14
  46. package/bin/utils/config-merger.js.map +1 -1
  47. package/bin/utils/install.d.ts.map +1 -1
  48. package/bin/utils/install.js +28 -4
  49. package/bin/utils/install.js.map +1 -1
  50. package/bin/utils/message-formatter.d.ts.map +1 -1
  51. package/bin/utils/message-formatter.js +1 -0
  52. package/bin/utils/message-formatter.js.map +1 -1
  53. package/bin/utils/template-processor.d.ts.map +1 -1
  54. package/bin/utils/template-processor.js +2 -2
  55. package/bin/utils/template-processor.js.map +1 -1
  56. package/bin/utils/version.js +3 -3
  57. package/bin/utils/version.js.map +1 -1
  58. package/package.json +2 -3
  59. package/templates/docs/01-overview/_assumptions-constraints.mdx +19 -0
  60. package/templates/docs/01-overview/_business-context.mdx +18 -0
  61. package/templates/docs/01-overview/_firm-proposal.mdx +52 -0
  62. package/templates/docs/01-overview/_gap-analysis.mdx +18 -0
  63. package/templates/docs/01-overview/_project/342/200/221charter.mdx +23 -0
  64. package/templates/docs/01-overview/_requirements-specification.mdx +77 -0
  65. package/templates/docs/01-overview/_risks.mdx +16 -0
  66. package/templates/docs/01-overview/_scope.mdx +24 -0
  67. package/templates/docs/01-overview/_stakeholders.mdx +24 -0
  68. package/templates/docs/01-overview/as-is.mdx +64 -0
  69. package/templates/docs/01-overview/glossary.mdx +41 -0
  70. package/templates/docs/01-overview/index.mdx +41 -0
  71. package/templates/docs/01-overview/odsc.mdx +72 -0
  72. package/templates/docs/01-overview/roadmap.mdx +27 -0
  73. package/templates/docs/01-overview/system-context.mdx +22 -0
  74. package/templates/docs/01-overview/to-be.mdx +102 -0
  75. package/templates/docs/02-requirements/_category_.yaml +2 -0
  76. package/templates/docs/02-requirements/functional/_category_.json +8 -0
  77. package/templates/docs/02-requirements/functional/_req-template.mdx +49 -0
  78. package/templates/docs/02-requirements/functional/req-001.mdx +56 -0
  79. package/templates/docs/02-requirements/index.mdx +14 -0
  80. package/templates/docs/02-requirements/non-functional/_category_.json +8 -0
  81. package/templates/docs/02-requirements/non-functional/_nfr-template.mdx +45 -0
  82. package/templates/docs/02-requirements/non-functional/nfr-001.mdx +60 -0
  83. package/templates/docs/02-requirements/non-functional/nfr-002.mdx +60 -0
  84. package/templates/docs/03-external/business-model.mdx +14 -0
  85. package/templates/docs/03-external/img/business-model-by-claude.xml +107 -0
  86. package/templates/docs/03-external/img/business-model.xml +84 -0
  87. package/templates/docs/03-external/img/docsVersionDropdown.png +0 -0
  88. package/templates/docs/03-external/img/gantt.xml +1 -0
  89. package/templates/docs/03-external/img/localeDropdown.png +0 -0
  90. package/templates/docs/03-external/index.mdx +46 -0
  91. package/templates/docs/04-internal/batches/_category_.yaml +2 -0
  92. package/templates/docs/04-internal/batches/import-products.mdx +68 -0
  93. package/templates/docs/04-internal/batches/index.mdx +25 -0
  94. package/templates/docs/04-internal/index.mdx +32 -0
  95. package/templates/docs/04-internal/policies/_category_.yaml +2 -0
  96. package/templates/docs/04-internal/policies/branch-naming-rules.mdx +110 -0
  97. package/templates/docs/04-internal/policies/github.mdx +100 -0
  98. package/templates/docs/04-internal/policies/pull-request-operation-flow.mdx +118 -0
  99. package/templates/docs/04-internal/rules/_category_.yaml +2 -0
  100. package/templates/docs/04-internal/rules/database.mdx +139 -0
  101. package/templates/docs/04-internal/rules/document-creation-rules.mdx +39 -0
  102. package/templates/docs/04-internal/rules/index.mdx +10 -0
  103. package/templates/docs/04-internal/rules/markdown.mdx +148 -0
  104. package/templates/docs/04-internal/rules/review-process.mdx +32 -0
  105. package/templates/docs/04-internal/screens/_category_.yaml +2 -0
  106. package/templates/docs/04-internal/screens/dashboard.mdx +17 -0
  107. package/templates/docs/04-internal/screens/index.mdx +20 -0
  108. package/templates/docs/04-internal/screens/login.mdx +18 -0
  109. package/templates/docs/04-internal/screens/menu.mdx +17 -0
  110. package/templates/docs/04-internal/tables/_category_.yaml +2 -0
  111. package/templates/docs/04-internal/tables/customer_details.mdx +35 -0
  112. package/templates/docs/04-internal/tables/customers.mdx +35 -0
  113. package/templates/docs/04-internal/tables/index.mdx +11 -0
  114. package/templates/docs/example.drawio.svg +57 -0
  115. package/templates/docs/intro.md +47 -0
  116. package/templates/docs/introduction/document-editing/_category_.yml +2 -0
  117. package/templates/docs/introduction/document-editing/how-to.mdx +31 -0
  118. package/templates/docs/introduction/index.mdx +35 -0
  119. package/templates/docs/introduction/operational-policies/_category_.yaml +2 -0
  120. package/templates/docs/introduction/operational-policies/github.mdx +33 -0
  121. package/templates/docs/introduction/operational-policies/img/branch-naming-rules.svg +73 -0
  122. package/templates/docs/introduction/operational-policies/sharepoint.mdx +28 -0
@@ -0,0 +1 @@
1
+ <mxfile host="localhost" modified="2021-05-18T09:41:40.835Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36" version="@DRAWIO-VERSION@" etag="MlFZ1QgpfDXi1VSEqS1e" type="device"><diagram name="Page-1" id="8378b5f6-a2b2-b727-a746-972ab9d02e00">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</diagram></mxfile>
@@ -0,0 +1,46 @@
1
+ ---
2
+ id: index
3
+ sidebar_position: 1
4
+ ---
5
+ import { TBD } from '@site/src/components/TBD';
6
+
7
+ # 外部設計
8
+
9
+ :::note Note
10
+ 1. 全般で <TBD/>
11
+ 1. これから編集していくもの
12
+ :::
13
+ :::tip Tip
14
+ 1. 外部設計はお客様視点で描くもの
15
+ 1. お客様が見て理解できるように記述することが重要
16
+ 1. システム化するもの、システム化しないものを明確に記述する
17
+ :::
18
+
19
+ ## システム概要
20
+ 1. [ビジネスモデル図](business-model.mdx)
21
+ 1. ユースケース
22
+ 1. aaa
23
+ 1. bbb
24
+ 1. 業務フロー
25
+ 1. aaa
26
+ 1. bbb
27
+
28
+ ## ネットワーク
29
+ 1. 外部IF定義
30
+
31
+ ## アプリケーション
32
+ 1. 使用アーキテクチャ
33
+ 1. 機能
34
+ 1. フロントエンド(画面)
35
+ 1. ここで細かいことを決めない
36
+ 1. 目的は必要となる画面数とその概要の把握
37
+ 1. バックエンド
38
+ 1. 画面の機能を実現する上で必要なバックエンドを記載する
39
+
40
+ ## 画面設計 - モックアップ
41
+ 1. 画面デザイン
42
+
43
+ ## データベース
44
+ 1. ER図
45
+ 1. 概念データモデル
46
+ 1. 論理データモデル
@@ -0,0 +1,2 @@
1
+ label: 'バッチ'
2
+ position: 4
@@ -0,0 +1,68 @@
1
+ ---
2
+ sidebar_position: 2
3
+ tags:
4
+ - batch
5
+ - product
6
+ ---
7
+ import { TBD } from '@site/src/components/TBD';
8
+
9
+ # import-products - 商品取込
10
+ ## 概要 {#overview}
11
+ 1. 商品情報をTSVファイルで受け取り、テーブル`product`にレコードを追加・更新(upsert)する
12
+
13
+ ## 前提条件 {#prerequisite}
14
+ 1. <TBD/>
15
+ 1. 読込先フォルダー
16
+ 1. <TBD/>
17
+ 1. TSVファイル名
18
+ 1. `abc-yyyymmdd-hhnn-x.tsv`
19
+ 1. TSVのmax行数は10000とする
20
+ 1. それより大きい行数だった場合、警告メッセージを出力する
21
+
22
+ ## サイクル {#cycle}
23
+ 1. cron
24
+ 1. `5 0 * * MON-FRI`
25
+ 1. 土日はデータ量が少ないため、実行しない
26
+
27
+ ## フロー {#flow}
28
+
29
+ :::info info
30
+ 1. 設計はアクティビティ図ではなく、シーケンス図がオススメ
31
+ 1. 各フェーズごとのエラー処理、メッセージ内容は明確にする
32
+ :::
33
+
34
+ ```plantuml
35
+ @startuml
36
+ !define uml https://raw.githubusercontent.com/flatring/plantuml-stencils/main
37
+ !include uml/colorset/ocean-blue.iuml
38
+ !include uml/colorset/_skinparams.iuml
39
+
40
+ participant User
41
+ User -> A: DoWork
42
+ activate A #FFBBBB
43
+ A -> A: Internal call
44
+ activate A #DarkSalmon
45
+ A -> B: << createRequest >>
46
+ activate B
47
+ B --> A: RequestCreated
48
+ deactivate B
49
+ deactivate A
50
+ A -> User: Done
51
+ deactivate A
52
+ @enduml
53
+ ```
54
+
55
+ ## 関数 {#functions}
56
+ ### funcFileExistenceCheck - TSVファイルの存在確認
57
+ 1. <TBD/>
58
+
59
+ ### funcFileRead - TSVファイル読込
60
+ 1. <TBD/>
61
+
62
+ ## TSVファイルカラム {#tsv-file-columns}
63
+
64
+ | # | Header | Logical name | Type | Digit | Comment |
65
+ | :---: | --------- | ------------ | ------- | ----: | -------------------------- |
66
+ | 1 | id | ID | integer | - | |
67
+ | 2 | name | 名前 | string | 255 | |
68
+ | 3 | is_member | is会員 | boolean | - | true:会員<br/>false:非会員 |
@@ -0,0 +1,25 @@
1
+ ---
2
+ sidebar_position: 1
3
+ hide_table_of_contents: true
4
+ ---
5
+ # バッチ一覧
6
+ ## データベースインポート {#database-import}
7
+ | ID | 機能名 | 機能概要 | cron | input | output |
8
+ | -------------------------------------- | -------- | ------------------------------------------ | :---------------: | ----------------------- | ------------------ |
9
+ | [import-products](import-products.mdx) | 商品取込 | tsvの商品情報をテーブル`product`に取り込む | `5 0 * * MON-FRI` | `products-yyyymmdd.tsv` | テーブル `product` |
10
+ | import-orders | 注文取込 | tsvの商品情報をテーブル`order`に取り込む | `9 0 * * MON-FRI` | `orders-yyyymmdd.tsv` | テーブル `order` |
11
+
12
+ ## 履歴へ移動 {#move-to-history}
13
+ | ID | 機能名 | 機能概要 | cron | input | output |
14
+ | ------------------ | -------------- | ---------------------------------------------------------------- | :----------: | ------------------------ | -------------------------- |
15
+ | to-history-product | 商品履歴へ移動 | バッチ実行日時-180日に作成されたレコードを履歴テーブルに移動する | `5 0 5 * *` | テーブル `product` | テーブル `product_history` |
16
+ | to-history-order | 注文履歴へ移動 | バッチ実行日時-180日に作成されたレコードを履歴テーブルに移動する | `11 0 5 * *` | テーブル `order_history` | テーブル `order_history` |
17
+
18
+ ## エラーレベル定義
19
+ | ステータス | 説明 |
20
+ | ---------- | -------------------------------------------------------------------------------------------- |
21
+ | `FATAL` | 致命的なエラー。ただちに対応しないとビジネスに影響がでてしまう場合 |
22
+ | `ERROR` | エラー。バッチを継続するには問題がある場合。明確なメッセージと対応方法を定義しておく必要あり |
23
+ | `WARN` | 警告。継続はできるが何らかの対処が必要な場合 |
24
+ | `INFO` | 情報表示。バッチの状態や経過を表示する場合 |
25
+ | `DEBUG` | デバッグ用。本番環境でこれが出力されないようにする |
@@ -0,0 +1,32 @@
1
+ ---
2
+ id: index
3
+ sidebar_position: 1
4
+ ---
5
+ # 内部設計
6
+
7
+ :::tip
8
+ 1. 何故その言語、フレームワークを選定したかを書いておく
9
+ 1. 実装が済めば(リリースされれば)詳細なことはソースに書かれているはず
10
+ 1. なので仕様には「なぜそのコードに至ったか?」など実装ではかかれないことを明記することに注力する
11
+ :::
12
+
13
+ ## 要約
14
+ ### 規約・ルール
15
+ 1. 実装時に必要な規約、ルールを管理する
16
+ 1.
17
+
18
+ ### 運用ポリシー
19
+ 1. Pull Requestなど運用時に必要なことのまとめ
20
+ 1. 開発時の共有事項など
21
+
22
+ ### 画面
23
+ 1. 実装時の重要事項
24
+ 1. コーディング時にそこに至るまでの経緯を残しておく
25
+ 1. 関連したissue、pull requestを書いておくと後任者は助かる
26
+
27
+ ### テーブル定義
28
+ 1. 各テーブル定義。モデル更新時には合わせて更新する
29
+
30
+ ## 参考情報
31
+ 1. Qiita: [【11万文字越え】プログラミング初心者に贈る即戦力ガイド](https://qiita.com/nuco_bk/items/27f5ad03d0c4b41241fc)
32
+
@@ -0,0 +1,2 @@
1
+ label: '運用ポリシー'
2
+ position: 3
@@ -0,0 +1,110 @@
1
+ ---
2
+ sidebar_position: 3
3
+ tags:
4
+ - git
5
+ - branch
6
+ ---
7
+ # ブランチ命名規約
8
+
9
+ ブランチ名の統一性を確保し、プロジェクトの管理を容易にするため、以下の規則に従ってブランチ名を命名してください。
10
+
11
+ ## 基本ルール {#basic-rules}
12
+
13
+ 使用可能なブランチ名の種類は次のとおりです。これ以外の命名は禁止します。
14
+
15
+ :::tip tip
16
+ 接頭の `\p` はイメージ表示に使っているPlantUMLの決まり事なので利用時には不要なので注意
17
+ 正しくは各詳細で確認すること
18
+ :::
19
+
20
+ 1. `\p{#issue_id}` = `[0-9]+` : GitHubのIssue ID
21
+ 1. `\p{summary}` = `[a-z0-9-]+` : 概要を英語で書く
22
+ 1. `\p{date(yyyymmdd)}` = `[0-9]{8}` : 作成日(作業開始日)
23
+ 1. `\p{commit_hash}` = `[a-f0-9]{7,40}` : コミットハッシュ
24
+
25
+ ```pumld
26
+ @startregex
27
+ ^((feature|bugfix|hotfix)/\p{#issue_id}-\p{summary}|revert/\p{commit_hash})-\p{date(yyyymmdd)}$
28
+ @endregex
29
+ ```
30
+
31
+ ### Feature
32
+
33
+ 1. 機能開発用
34
+ 1. 新機能の開発や改善作業で使用します。
35
+
36
+ ```bash
37
+ feature/{#issue_id}-{summary}-{date(yyyymmdd)}
38
+ ```
39
+
40
+ - 例: issue IDが `10` の場合
41
+
42
+ ```bash
43
+ feature/#10-add-api-nameabc-20250316
44
+ ```
45
+
46
+ ### Bugfix
47
+
48
+ 1. 本番環境バグ対応用
49
+ 1. 本番環境で発生したバグを修正するために使用します。
50
+
51
+ ```bash
52
+ bugfix/{#issue_id}-{summary}-{date(yyyymmdd)}
53
+ ```
54
+
55
+ - 例: issue IDが `15` の場合
56
+
57
+ ```bash
58
+ bugfix/#15-fix-login-error-20250316
59
+ ```
60
+
61
+ ### Hotfix
62
+
63
+ 1. 緊急の修正対応
64
+ 1. 本番環境で発生した致命的な不具合に対し、緊急対応を要する場合に使用します。
65
+
66
+ ```bash
67
+ hotfix/{#issue_id}-{summary}-{date(yyyymmdd)}
68
+ ```
69
+
70
+ - 例: issue IDが `20` の場合
71
+
72
+ ```bash
73
+ hotfix/#20-critical-security-patch-20250316
74
+ ```
75
+
76
+ ### Revert
77
+
78
+ 1. 変更の取り消し用
79
+ 1. 過去のコミットを取り消す際に使用します。
80
+
81
+ ```bash
82
+ revert/{commit_hash}-{date(yyyymmdd)}
83
+ ```
84
+
85
+ - 例: コミットハッシュが `abcd123` の場合
86
+
87
+ ```bash
88
+ revert/abcd123-20250316
89
+ ```
90
+
91
+ ## 使用可能文字 {#allowed-characters}
92
+
93
+ 1. アルファベット小文字 (`a`-`z`)
94
+ 1. 数字 (`0`-`9`)
95
+ 1. ハイフン (`-`)
96
+
97
+ 必ず **ケバブケース**(単語同士をハイフンで繋ぐ)を使用してください。
98
+
99
+ ## 使用禁止文字 {#prohibited-characters}
100
+
101
+ 1. 大文字 (`A-Z`)
102
+ 1. スペース (` `)
103
+ 1. アンダースコア (`_`)
104
+ 1. その他記号 (`!`, `@`, `#`, `$`, `%`, `^`, `&`, `*`, `(`, `)`, 等)
105
+
106
+ ## 注意事項 {#notes}
107
+
108
+ 1. ブランチ名は可能な限り明確かつ簡潔にしてください。
109
+ 1. issueがない場合は省略せず、必ずissueを作成したうえでブランチを作成してください。
110
+ 1. 一度作成したブランチの名前を変更することは禁止します。
@@ -0,0 +1,100 @@
1
+ ---
2
+ sidebar_position: 1
3
+ tags:
4
+ - git
5
+ - github
6
+ ---
7
+ import { TBD } from '@site/src/components/TBD';
8
+
9
+ # GitHubの利用方法
10
+
11
+ ## 基本的なGitHubの利用ルール
12
+
13
+ ### コミットメッセージのルール
14
+ 1. 簡潔で分かりやすいコミットメッセージを書く
15
+ 1. プレフィックスを使用する(例:`feat:`、`fix:`、`docs:`、`style:`、`refactor:`、`test:`、`chore:`)
16
+ 1. 現在形の動詞で始める(例:「Add」「Fix」「Update」など)
17
+ 1. 50文字以内に収める
18
+
19
+ ### ブランチ戦略
20
+ 1. `main`/`master`ブランチは常に安定した状態を保つ
21
+ 1. 機能開発は`feature/機能名`ブランチで行う
22
+ 1. バグ修正は`fix/バグ内容`ブランチで行う
23
+ 1. リリース準備は`release/バージョン番号`ブランチで行う
24
+
25
+ ### プルリクエスト(PR)のルール
26
+ 1. 明確なタイトルと説明を書く
27
+ 1. 変更内容を詳細に記述する
28
+ 1. レビュアーを指定する
29
+ 1. 関連するIssueがある場合は参照する
30
+ 1. CI/CDのチェックが通過していることを確認する
31
+
32
+ ### イシュー管理
33
+ 1. 新機能やバグは必ずイシューとして登録する
34
+ 1. イシューには適切なラベルを付ける
35
+ 1. 担当者を明確にする
36
+ 1. 期限がある場合は設定する
37
+
38
+ ## SSHキー作成からGit Cloneまでの手順
39
+
40
+ ### SSHキーの作成
41
+
42
+ ```bash
43
+ # SSHキーを生成(メールアドレスは自分のものに置き換える)
44
+ ssh-keygen -t ed25519 -C "your_email@example.com"
45
+
46
+ # デフォルトの保存場所とパスフレーズを設定(Enterキーで進める)
47
+ # パスフレーズは設定することを推奨
48
+ ```
49
+
50
+ ### SSHエージェントへの追加
51
+
52
+ ```bash
53
+ # SSHエージェントを起動
54
+ eval "$(ssh-agent -s)"
55
+
56
+ # SSHキーをエージェントに追加
57
+ ssh-add ~/.ssh/id_ed25519
58
+ ```
59
+
60
+ ### GitHubアカウントにSSH公開キーを追加
61
+
62
+ ```bash
63
+ # 公開キーをクリップボードにコピー(Linuxの場合)
64
+ cat ~/.ssh/id_ed25519.pub | xclip -selection clipboard
65
+ ```
66
+
67
+ - GitHubにログイン
68
+ - 右上のプロフィールアイコンをクリック→「Settings」を選択
69
+ - サイドバーの「SSH and GPG keys」をクリック
70
+ - 「New SSH key」ボタンをクリック
71
+ - タイトルを入力(例:「Work Laptop」)
72
+ - 「Key」フィールドに公開キーを貼り付け
73
+ - 「Add SSH key」ボタンをクリック
74
+
75
+ ### SSHキーの動作確認
76
+
77
+ ```bash
78
+ # GitHubとの接続をテスト
79
+ ssh -T git@github.com
80
+
81
+ # 初回接続時は確認メッセージが表示されるので「yes」と入力
82
+ ```
83
+
84
+ ### Gitの初期設定
85
+
86
+ ```bash
87
+ # ユーザー名とメールアドレスを設定
88
+ git config --global user.name "あなたの名前"
89
+ git config --global user.email "your_email@example.com"
90
+ ```
91
+
92
+ ### リポジトリのクローン
93
+
94
+ ```bash
95
+ # SSHを使用してリポジトリをクローン
96
+ git clone git@github.com:ユーザー名/リポジトリ名.git
97
+
98
+ # クローンしたディレクトリに移動
99
+ cd リポジトリ名
100
+ ```
@@ -0,0 +1,118 @@
1
+ ---
2
+ sidebar_position: 2
3
+ tags:
4
+ - git
5
+ - pull request
6
+ ---
7
+ # Pull Request運用フロー
8
+
9
+ ## 主な運用フロー
10
+
11
+ ```pumld
12
+ @startuml
13
+
14
+ skinparam responseMessageBelowArrow true
15
+ autonumber "<b> [00]"
16
+
17
+ participant local as "branch: feature/ブランチ名"
18
+ participant develop as "branch: develop"
19
+ participant staging as "branch: staging"
20
+ participant main as "branch: main"
21
+
22
+ develop -> local ** : clone &\ncreate branch feature/ブランチ名
23
+ local -> local: commit changes
24
+ local -> local: create Pull Request & review
25
+ local -> develop: merge feature/ブランチ名 into develop
26
+ local -> local !! : delete feature branch
27
+
28
+ develop -> develop: CI/CD checks
29
+ develop -> staging: merge develop into staging
30
+ staging -> staging: perform release validation
31
+ staging -> staging: e2e test
32
+ staging -> main: merge staging into main
33
+
34
+ main -> main: tag version &\nperform release
35
+ @enduml
36
+ ```
37
+
38
+ ### 手順
39
+
40
+ 1. \[01\]: developブランチをクローンし、ローカルでfeature/ブランチ名を作成する
41
+ 1. \[02\]: feature/ブランチ名でコードを修正しコミットする
42
+ 1. \[03\]: feature/ブランチ名内でPull Requestを作成し、レビューを依頼する
43
+ 1. \[04\]: レビュー完了後、feature/ブランチ名をdevelopへマージする
44
+ 1. \[05\]: feature/ブランチ名を削除する(自動)
45
+ 1. \[06\]: developブランチでCI/CDチェックを実行する
46
+ 1. \[07\]: developをstagingへマージ
47
+ 1. \[08\]: リリース前の検証をする
48
+ 1. \[09\]: stagingブランチでE2Eテストを実行する
49
+ 1. \[10\]: テスト完了後、stagingをmainへマージし、リリースを実施する
50
+ 1. \[11\]: mainブランチでタグを作成し、正式にリリースする
51
+
52
+ ## エンジニアの動き
53
+
54
+ ```pumld
55
+ @startuml
56
+ start
57
+
58
+ :Issueからfeatureブランチを作成する;
59
+ :コード、テストを実装する;
60
+ #Aquamarine:(A)
61
+ :テストをする;
62
+
63
+ if (テストは成功したか?) then (はい)
64
+ :Pull Requestを作成する;
65
+ :レビュアーを指定する;
66
+ #LightSkyBlue:(B)
67
+ :レビューを受ける;
68
+
69
+ if (レビューは承認されたか?) then (はい)
70
+ :レビュアーがPull Requestをマージする;
71
+ :Issueをクローズする;
72
+ stop
73
+ else (いいえ)
74
+ :フィードバックに基づいて修正する;
75
+ :修正をコミットする;
76
+ #Aquamarine:(A)
77
+ :再レビューを依頼する;
78
+ #LightSkyBlue:(B)
79
+ detach
80
+ endif
81
+
82
+ else (いいえ)
83
+ :テストが通るように修正する;
84
+ #Aquamarine:(A)
85
+ detach
86
+
87
+ endif
88
+
89
+ @enduml
90
+ ```
91
+
92
+ ## Pull Requestのベストプラクティス
93
+
94
+ 1. **小さくまとめる**: 一つのPRは一つの機能や修正に焦点を当てる
95
+ 1. **明確なタイトルと説明**: PRの目的と変更内容を明確に記述する
96
+ 1. **テストの実施**: PRを提出する前に必ずテストを実行する
97
+ 1. **レビュープロセスの尊重**: レビューコメントに対して建設的に対応する
98
+ 1. **マージ前の確認**: マージ前にコンフリクトがないことを確認する
99
+
100
+ ## PRレビューのチェックリスト
101
+
102
+ ### 機能面
103
+
104
+ 1. 要件を満たしているか
105
+ 1. エッジケースを考慮しているか
106
+ 1. バグやパフォーマンスの問題がないか
107
+
108
+ ### コード品質
109
+
110
+ 1. コードは読みやすく、理解しやすいか
111
+ 1. 命名規則に従っているか
112
+ 1. コードの重複がないか
113
+ 1. セキュリティ上の問題がないか
114
+
115
+ ### ドキュメント
116
+
117
+ 1. コメントやドキュメントが適切か
118
+ 1. 必要な場合はドキュメントが更新されているか
@@ -0,0 +1,2 @@
1
+ label: '規約・ルール'
2
+ position: 2
@@ -0,0 +1,139 @@
1
+ ---
2
+ sidebar_position: 5
3
+ tags:
4
+ - Database
5
+ ---
6
+ import { TBD } from '@site/src/components/TBD';
7
+
8
+ # データベース
9
+
10
+ :::tip
11
+ 1. 編集中
12
+ 1. どんなプロジェクトでも使えるレベルなものにしていきたい
13
+ :::
14
+
15
+ ## オブジェクトの命名規約 {#object-naming}
16
+ ### 全般 {#general}
17
+ #### プライマリーキー、外部キー
18
+ 1. 各テーブルのプライマリーキーは `id` とし、serial型とする
19
+ 1. リレーションする際はこの `id` を使う
20
+ 1. プライマリーキーに意味を持たせない
21
+ 1. 外部キーとのリレーションはテーブル名 + `_id` とする
22
+ 1. 例
23
+ 1. 親: `class`
24
+
25
+ | 論理名 | 物理名 | 型 | コメント |
26
+ | -------- | ------ | ------- | -------------- |
27
+ | id | **id** | serial | auto increment |
28
+ | クラス名 | name | varchar | - |
29
+
30
+ 1. 子: `student`
31
+
32
+ | 論理名 | 物理名 | 型 | コメント |
33
+ | -------- | ------------ | ------- | -------------- |
34
+ | id | id | serial | auto increment |
35
+ | class_id | **class_id** | integer | 外部キー |
36
+ | 姓名 | name | varchar | - |
37
+
38
+ #### 日付 / 日時 {#date}
39
+ 1. 命名
40
+ 1. 年月日のみの場合は"xx日"、時刻まで必要な場合は"xx日時"とし、明確に使い分ける
41
+ 1. 日にちを表す項目は `受動態_on` となり、date型
42
+ 1. 日時を表す項目は `受動態_at` となり、timestamp型
43
+ 1. timestamp型はすべて `timestamp(6) without time zone` とする
44
+ 1. タイムゾーンを持たせない(標準の `UST`)
45
+ 1. 例
46
+ 1. 親: `classes`
47
+
48
+ | 論理名 | 物理名 | 型 |
49
+ | -------- | ---------- | --------- |
50
+ | 締切日 | closed_on | date |
51
+ | 締切日時 | closed_at | timestamp |
52
+ | 削除日 | deleted_on | date |
53
+ | 削除日時 | deleted_at | timestamp |
54
+
55
+ ### 大文字を使用しない
56
+ 1. 物理名は小文字とアンダーバー("_")のみを使用する
57
+ 1. テーブル名、カラム名ともに大文字を使用しない
58
+ 1. データベースによっては大文字と小文字を違う文字とみなす場合、みなさない場合があるので小文字で統一する
59
+
60
+ | OK/NG | 名前 |
61
+ | ----- | ------------ |
62
+ | :o: | **document** |
63
+ | :x: | DOCUMENT |
64
+ | :x: | Document |
65
+
66
+ #### 単語の連結はスネークケース
67
+ 1. テーブル名、カラム名ともにスネークケースを使用する
68
+ 1. 大文字を使うキャメルケースやパスカルケースは使用禁止
69
+
70
+ | OK/NG | 名前 |
71
+ | ----- | --------------- |
72
+ | :o: | **table\_name** |
73
+ | :x: | tableName |
74
+ | :x: | TableName |
75
+ | :x: | tablename |
76
+ | :x: | table-name |
77
+
78
+ ### 英語表記
79
+ 1. 基本的に単語はローマ字ではなく、英語で書く
80
+
81
+ ### 略名を使用しない
82
+ 1. 短くして意味が分からくなるよりは長くて意味がわかる名前にする
83
+ 1. ただし、データベースの種類や環境によって文字数が制限される場合は除く
84
+ 1. 以下は例外とする
85
+ 1. "数"に関する項目は `_qty` (Quantityの略)を付ける
86
+ 1. 例: `minus_points_qty`
87
+
88
+ | OK/NG | 名前 |
89
+ | ----- | --------------- |
90
+ | :o: | **start\_date** |
91
+ | :o: | **maker\_code** |
92
+ | :x: | start_dt |
93
+ | :x: | maker_cd |
94
+
95
+ ### テーブル編
96
+ #### 単数形で書く
97
+
98
+ | OK/NG | 名前 |
99
+ | ----- | ------------ |
100
+ | :o: | **document** |
101
+ | :x: | documents |
102
+ | :o: | **category** |
103
+ | :x: | categories |
104
+
105
+ #### n:n用テーブル
106
+ 1. 接頭語に`map_`を付ける
107
+
108
+ | OK/NG | 名前 |
109
+ | ----- | --------------------- |
110
+ | :o: | **map_user_category** |
111
+ | :x: | user_category |
112
+
113
+ ### カラム編
114
+ 1. ステータスを保存する項目は状態を含めて書く
115
+
116
+ | OK/NG | 名前 |
117
+ | ----- | -------------- |
118
+ | :o: | **is_working** |
119
+ | :o: | **is_deleted** |
120
+ | :x: | delete_flag |
121
+
122
+ #### flg、kbnなどの略名を使用しない
123
+ 1. 例えば"flag"と付いたboolean型にした場合、trueとfalseが見ただけでどちらがonなのかが分からないため
124
+
125
+ | OK/NG | 名前 |
126
+ | ----- | -------------- |
127
+ | :o: | **is_deleted** |
128
+ | :x: | delete_flg |
129
+ | :x: | delete_flag |
130
+
131
+ ### 制約編
132
+ 1. ユニーク制約は「テーブル名\_uq\_nn」とする
133
+ 1. `_uq` は固定文字。 `nn`はゼロ埋めの連番
134
+ 1. 例: `user_uq_01`
135
+
136
+ ### インデックス編
137
+ 1. インデックスは「テーブル名\_idx\_nn」とする
138
+ 1. `_idx` は固定文字。 `nn`はゼロ埋めの連番
139
+ 1. 例: `user_idx_01`