@k2works/claude-code-booster 1.12.0 → 2.0.0

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 (70) hide show
  1. package/bin/claude-code-booster +5 -7
  2. package/lib/assets/.claude/README.md +73 -19
  3. package/lib/assets/.claude/agents/xp-architect.md +250 -0
  4. package/lib/assets/.claude/agents/xp-executive.md +207 -0
  5. package/lib/assets/.claude/agents/xp-interaction-designer.md +239 -0
  6. package/lib/assets/.claude/agents/xp-product-manager.md +245 -0
  7. package/lib/assets/.claude/agents/xp-programmer.md +268 -0
  8. package/lib/assets/.claude/agents/xp-project-manager.md +229 -0
  9. package/lib/assets/.claude/agents/xp-technical-writer.md +224 -0
  10. package/lib/assets/.claude/agents/xp-tester.md +265 -0
  11. package/lib/assets/.claude/agents/xp-user-representative.md +204 -0
  12. package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +49 -57
  13. package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +54 -58
  14. package/lib/assets/.claude/skills/analyzing-business/SKILL.md +52 -74
  15. package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +50 -53
  16. package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +56 -56
  17. package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +56 -109
  18. package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +61 -57
  19. package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +61 -57
  20. package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +57 -55
  21. package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +66 -67
  22. package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +58 -56
  23. package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +51 -57
  24. package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +45 -60
  25. package/lib/assets/.claude/skills/creating-adr/SKILL.md +38 -40
  26. package/lib/assets/.claude/skills/developing-backend/SKILL.md +49 -55
  27. package/lib/assets/.claude/skills/developing-frontend/SKILL.md +47 -50
  28. package/lib/assets/.claude/skills/developing-release/SKILL.md +60 -95
  29. package/lib/assets/.claude/skills/generating-slides/SKILL.md +58 -100
  30. package/lib/assets/.claude/skills/git-commit/SKILL.md +27 -52
  31. package/lib/assets/.claude/skills/killing-processes/SKILL.md +16 -70
  32. package/lib/assets/.claude/skills/operating-backup/SKILL.md +59 -0
  33. package/lib/assets/.claude/skills/operating-cicd/SKILL.md +54 -0
  34. package/lib/assets/.claude/skills/operating-deploy/SKILL.md +67 -0
  35. package/lib/assets/.claude/skills/{managing-docs → operating-docs}/SKILL.md +1 -1
  36. package/lib/assets/.claude/skills/operating-provision/SKILL.md +77 -0
  37. package/lib/assets/.claude/skills/operating-setup/SKILL.md +63 -0
  38. package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +65 -95
  39. package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +60 -155
  40. package/lib/assets/.claude/skills/orchestrating-operation/SKILL.md +158 -0
  41. package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +60 -119
  42. package/lib/assets/.claude/skills/planning-releases/SKILL.md +63 -168
  43. package/lib/assets/.claude/skills/syncing-github-project/SKILL.md +62 -266
  44. package/lib/assets/.claude/skills/tracking-progress/SKILL.md +49 -122
  45. package/lib/assets/CLAUDE.md +7 -2
  46. package/lib/assets/README.md +3 -34
  47. package/lib/assets/docs/development/index.md +14 -8
  48. package/lib/assets/docs/index.md +1 -0
  49. package/lib/assets/docs/reference/SonarQube/343/203/255/343/203/274/343/202/253/343/203/253/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +640 -0
  50. package/lib/assets/docs/reference/index.md +1 -0
  51. package/lib/assets/docs/reference//351/201/213/347/224/250/343/202/271/343/202/257/343/203/252/343/203/227/343/203/210/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +421 -0
  52. package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +69 -5
  53. package/lib/assets/docs/template/AWS/343/202/271/343/203/206/343/203/274/343/202/270/343/203/263/343/202/260/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +1366 -0
  54. package/lib/assets/docs/template/AWS/343/203/227/343/203/255/343/203/200/343/202/257/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +634 -0
  55. package/lib/assets/docs/template//343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/351/226/213/347/231/272/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +547 -0
  56. package/lib/assets/docs/template//343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273.md +123 -1
  57. package/lib/assets/docs/template//350/250/255/350/250/210.md +12 -2
  58. package/lib/assets/docs/template//351/226/213/347/231/272/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +688 -0
  59. package/lib/assets/gulpfile.js +2 -0
  60. package/lib/assets/mkdocs.yml +1 -0
  61. package/lib/assets/ops/docker/sonarqube-local/docker-compose.yml +57 -0
  62. package/lib/assets/ops/scripts/sonar_local.js +726 -0
  63. package/package.json +1 -1
  64. package/lib/assets/.claude/SKILLS_TEMPLATE.md +0 -100
  65. package/lib/assets/.claude/agents/roles/.gitkeep +0 -0
  66. package/lib/assets/.claude/skills/managing-operations/DEPLOY.md +0 -77
  67. package/lib/assets/.claude/skills/managing-operations/SETUP_CSHARP.md +0 -80
  68. package/lib/assets/.claude/skills/managing-operations/SETUP_FRONTEND.md +0 -84
  69. package/lib/assets/.claude/skills/managing-operations/SETUP_JAVA.md +0 -75
  70. package/lib/assets/.claude/skills/managing-operations/SKILL.md +0 -156
@@ -0,0 +1,421 @@
1
+ # 運用スクリプト作成ガイド
2
+
3
+ ## 概要
4
+
5
+ 本ガイドは `ops/scripts/` 配下に配置する運用スクリプトのネーミングルール、ディレクトリ構成、実装スタイルを定義します。Gulp タスクランナーと連携し、環境構築・デプロイ・プロビジョニング・運用タスクを自動化します。
6
+
7
+ ## ディレクトリ構成
8
+
9
+ ```text
10
+ ops/
11
+ ├── scripts/
12
+ │ ├── shared.js # 共通ユーティリティ
13
+ │ ├── ssh.js # SSH/SCP ヘルパー
14
+ │ ├── deploy_dev.js # 開発環境デプロイ
15
+ │ ├── deploy_stg.js # ステージング環境デプロイ
16
+ │ ├── deploy_prd.js # 本番環境デプロイ
17
+ │ ├── provision_stg.js # ステージング環境プロビジョニング
18
+ │ ├── provision_prd.js # 本番環境プロビジョニング
19
+ │ ├── develop.js # アプリケーション開発タスク
20
+ │ ├── release.js # リリースワークフロー
21
+ │ ├── journal.js # 開発ジャーナル生成
22
+ │ ├── mkdocs.js # ドキュメントビルド
23
+ │ ├── vault.js # シークレット管理
24
+ │ ├── ssh_stg.js # ステージング SSH・踏み台
25
+ │ ├── ssh_prd.js # 本番 SSH・踏み台
26
+ │ ├── sonar_local.js # SonarQube ローカル環境
27
+ │ └── sonar_aws.js # SonarQube AWS 環境
28
+ ├── terraform/ # IaC(Terraform)
29
+ ├── docker/ # Docker 関連設定
30
+ └── nix/ # Nix 開発環境(任意)
31
+ ```
32
+
33
+ ## ネーミングルール
34
+
35
+ ### ファイル名
36
+
37
+ `{カテゴリ}_{環境}.js` の形式で命名する。
38
+
39
+ | カテゴリ | 説明 | 例 |
40
+ |---------|------|-----|
41
+ | `deploy` | デプロイスクリプト | `deploy_dev.js`, `deploy_stg.js`, `deploy_prd.js` |
42
+ | `provision` | IaC プロビジョニング | `provision_stg.js`, `provision_prd.js` |
43
+ | `ssh` | SSH・踏み台操作 | `ssh.js`(共通), `ssh_stg.js`, `ssh_prd.js` |
44
+ | `develop` | アプリケーション開発タスク | `develop.js` |
45
+ | `release` | リリースワークフロー | `release.js` |
46
+ | `journal` | 開発ジャーナル | `journal.js` |
47
+ | `mkdocs` | ドキュメント | `mkdocs.js` |
48
+ | `sonar` | コード品質分析 | `sonar_local.js`, `sonar_aws.js` |
49
+ | `shared` | 共通ユーティリティ | `shared.js` |
50
+ | `vault` | シークレット管理 | `vault.js` |
51
+
52
+ **環境サフィックス**:
53
+
54
+ | サフィックス | 環境 | 例 |
55
+ |-------------|------|-----|
56
+ | `_dev` | 開発環境 | `deploy_dev.js` |
57
+ | `_stg` | ステージング環境 | `deploy_stg.js`, `provision_stg.js` |
58
+ | `_prd` | 本番環境 | `deploy_prd.js`, `provision_prd.js` |
59
+ | `_local` | ローカル環境 | `sonar_local.js` |
60
+ | `_aws` | AWS 環境 | `sonar_aws.js` |
61
+ | なし | 環境非依存 / 共通 | `shared.js`, `ssh.js`, `release.js` |
62
+
63
+ ### Gulp タスク名
64
+
65
+ `{カテゴリ}:{環境}:{アクション}` の形式で命名する。
66
+
67
+ ```
68
+ deploy:dev:build # 開発環境: ビルド
69
+ deploy:dev:push # 開発環境: Registry プッシュ
70
+ deploy:dev # 開発環境: デプロイ実行
71
+ deploy:dev:status # 開発環境: ステータス確認
72
+ deploy:dev:logs # 開発環境: ログ取得
73
+ deploy:dev:clean # 開発環境: クリーンアップ
74
+ deploy:dev:setup # 開発環境: 初回セットアップ
75
+ deploy:dev:help # 開発環境: ヘルプ
76
+
77
+ provision:stg:plan # ステージング: Terraform plan
78
+ provision:stg:vpc # ステージング: VPC プロビジョニング
79
+ provision:stg:rds # ステージング: RDS プロビジョニング
80
+ provision:stg:ecs # ステージング: ECS プロビジョニング
81
+ provision:stg # ステージング: 全リソース一括
82
+ provision:stg:destroy # ステージング: 全リソース廃棄
83
+ provision:stg:help # ステージング: ヘルプ
84
+
85
+ ssh:stg:login # ステージング: 踏み台ログイン
86
+ ssh:stg:tunnel # ステージング: SSH トンネル
87
+ ssh:stg:backup # ステージング: DB バックアップ
88
+ ssh:stg:restore # ステージング: DB リストア
89
+
90
+ dev:sms # SMS 開発サーバー起動
91
+ dev:sms:product # SMS product プロファイル起動
92
+ tdd:sms # SMS TDD モード
93
+ ```
94
+
95
+ ## 実装スタイル
96
+
97
+ ### 基本構造
98
+
99
+ すべてのスクリプトは以下の構造に従う。
100
+
101
+ ```javascript
102
+ 'use strict';
103
+
104
+ import path from 'path';
105
+ import { execSync } from 'child_process';
106
+ import { cleanDockerEnv } from './shared.js';
107
+
108
+ // ============================================
109
+ // 設定
110
+ // ============================================
111
+
112
+ const PREFIX = 'DEV'; // 環境変数プレフィックス
113
+
114
+ /** サービス定義 */
115
+ const SERVICES = [
116
+ { name: 'backend', port: 8080, container: 'app-backend', label: 'Backend' },
117
+ { name: 'frontend', port: 3000, container: 'app-frontend', label: 'Frontend' },
118
+ ];
119
+
120
+ // ============================================
121
+ // ヘルパー関数
122
+ // ============================================
123
+
124
+ /**
125
+ * JSDoc コメントで関数の目的・引数・戻り値を記述
126
+ * @param {string} param - パラメータの説明
127
+ * @returns {string}
128
+ */
129
+ function helperFunction(param) {
130
+ // 実装
131
+ }
132
+
133
+ // ============================================
134
+ // Gulp タスク
135
+ // ============================================
136
+
137
+ export default function(gulp) {
138
+ // タスク登録
139
+ gulp.task('deploy:dev:build', (done) => {
140
+ // タスク実装
141
+ done();
142
+ });
143
+ }
144
+ ```
145
+
146
+ ### コーディング規約
147
+
148
+ #### 1. strict mode
149
+
150
+ すべてのファイルの先頭に `'use strict';` を記述する。
151
+
152
+ #### 2. ESM(ES Modules)
153
+
154
+ `import` / `export` 構文を使用する。`require` は使用しない。
155
+
156
+ ```javascript
157
+ // Good
158
+ import path from 'path';
159
+ import { execSync } from 'child_process';
160
+ import { cleanDockerEnv } from './shared.js';
161
+
162
+ // Bad
163
+ const path = require('path');
164
+ ```
165
+
166
+ #### 3. セクション区切り
167
+
168
+ コード内のセクションは以下のコメントで区切る。
169
+
170
+ ```javascript
171
+ // ============================================
172
+ // 設定
173
+ // ============================================
174
+
175
+ // ============================================
176
+ // ヘルパー関数
177
+ // ============================================
178
+
179
+ // ============================================
180
+ // Gulp タスク
181
+ // ============================================
182
+ ```
183
+
184
+ #### 4. JSDoc コメント
185
+
186
+ すべての関数に JSDoc コメントを記述する。
187
+
188
+ ```javascript
189
+ /**
190
+ * docker build に渡すオプションを組み立てる
191
+ * @returns {string} ビルドオプション文字列
192
+ */
193
+ function dockerBuildOptions() {
194
+ // ...
195
+ }
196
+ ```
197
+
198
+ #### 5. 環境変数の管理
199
+
200
+ 環境変数は `.env` ファイルで管理し、環境プレフィックス(`DEV_`, `STG_`, `PRD_`)で名前空間を分離する。
201
+
202
+ ```javascript
203
+ // 環境変数プレフィックスで名前空間を分離
204
+ const PREFIX = 'STG';
205
+ const awsProfile = () => process.env.STG_AWS_PROFILE || '';
206
+ const sshHost = () => process.env[`${PREFIX}_SSH_HOST`];
207
+ ```
208
+
209
+ **環境変数の命名規則**:
210
+
211
+ | プレフィックス | 環境 | 例 |
212
+ |-------------|------|-----|
213
+ | `DEV_` | 開発環境 | `DEV_SSH_HOST`, `DEV_SSH_USER` |
214
+ | `STG_` | ステージング環境 | `STG_AWS_PROFILE`, `STG_DB_USERNAME` |
215
+ | `PRD_` | 本番環境 | `PRD_AWS_PROFILE`, `PRD_DB_USERNAME` |
216
+ | `GHCR_` | GitHub Container Registry | `GHCR_USER`, `GHCR_TOKEN` |
217
+ | `DOCKER_` | Docker 関連 | `DOCKER_BUILD_NETWORK`, `DOCKER_BUILD_DNS` |
218
+
219
+ #### 6. サービス定義
220
+
221
+ 複数サービスを扱うスクリプトでは、サービスを配列で定義する。
222
+
223
+ ```javascript
224
+ const SERVICES = [
225
+ { name: 'sms', port: 8080, container: 'app-sms', label: 'SMS(販売管理)' },
226
+ { name: 'fas', port: 8081, container: 'app-fas', label: 'FAS(財務会計)' },
227
+ ];
228
+ ```
229
+
230
+ サービス定義を基に、個別タスクと一括タスクを動的に生成する。
231
+
232
+ ```javascript
233
+ // 個別タスク: deploy:dev:build:sms, deploy:dev:build:fas
234
+ SERVICES.forEach((svc) => {
235
+ gulp.task(`deploy:dev:build:${svc.name}`, (done) => {
236
+ buildImage(svc);
237
+ done();
238
+ });
239
+ });
240
+
241
+ // 一括タスク: deploy:dev:build(全サービス)
242
+ gulp.task('deploy:dev:build', gulp.series(
243
+ ...SERVICES.map((svc) => `deploy:dev:build:${svc.name}`)
244
+ ));
245
+ ```
246
+
247
+ #### 7. エラーハンドリング
248
+
249
+ `execSync` のエラーは適切にキャッチし、ユーザーにわかりやすいメッセージを表示する。
250
+
251
+ ```javascript
252
+ try {
253
+ execSync(command, { stdio: 'inherit', env: cleanDockerEnv() });
254
+ } catch (err) {
255
+ console.error(`エラー: ${err.message}`);
256
+ process.exit(1);
257
+ }
258
+ ```
259
+
260
+ #### 8. ヘルプタスク
261
+
262
+ 各カテゴリにヘルプタスクを提供する。
263
+
264
+ ```javascript
265
+ gulp.task('deploy:dev:help', (done) => {
266
+ console.log(`
267
+ === 開発環境デプロイコマンド ===
268
+
269
+ deploy:dev:build 全サービスをローカルビルド
270
+ deploy:dev:push 全イメージを Registry にプッシュ
271
+ deploy:dev 全サービスをデプロイ
272
+ deploy:dev:status コンテナ状態を確認
273
+ deploy:dev:logs コンテナログを表示
274
+ deploy:dev:clean 開発環境を完全削除
275
+ deploy:dev:setup 初回セットアップ
276
+ deploy:dev:help このヘルプを表示
277
+ `);
278
+ done();
279
+ });
280
+ ```
281
+
282
+ ## 共通ユーティリティ(shared.js)
283
+
284
+ 環境をまたいで共通的に使用するユーティリティ関数を `shared.js` に集約する。
285
+
286
+ ```javascript
287
+ 'use strict';
288
+
289
+ /**
290
+ * DOCKER_HOST を除外した環境変数を返す
291
+ * Docker Desktop 使用時に DOCKER_HOST が設定されていると接続エラーが発生するため除外する
292
+ * @returns {Object} DOCKER_HOST を除外した環境変数
293
+ */
294
+ export function cleanDockerEnv() {
295
+ const env = { ...process.env };
296
+ delete env.DOCKER_HOST;
297
+ return env;
298
+ }
299
+ ```
300
+
301
+ ## SSH ヘルパー(ssh.js)
302
+
303
+ SSH/SCP 操作を共通化する。環境プレフィックスで接続先を切り替える。
304
+
305
+ ```javascript
306
+ /**
307
+ * SSH 接続パラメータを取得
308
+ * @param {string} [prefix='DEV'] 環境変数プレフィックス
309
+ * @returns {{ host: string, user: string, port: string, keyFile: string | undefined }}
310
+ */
311
+ export function getSSHConfig(prefix = 'DEV') {
312
+ const host = process.env[`${prefix}_SSH_HOST`];
313
+ const user = process.env[`${prefix}_SSH_USER`];
314
+ const port = process.env[`${prefix}_SSH_PORT`] || '22';
315
+ const keyFile = process.env[`${prefix}_SSH_KEY`];
316
+
317
+ if (!host || !user) {
318
+ throw new Error(`${prefix}_SSH_HOST と ${prefix}_SSH_USER を .env に設定してください`);
319
+ }
320
+
321
+ return { host, user, port, keyFile };
322
+ }
323
+
324
+ /**
325
+ * SSH でリモートコマンドを実行
326
+ * @param {string} command 実行するコマンド
327
+ * @param {object} [options] オプション
328
+ * @param {boolean} [options.ignoreError] エラーを無視するか
329
+ * @param {boolean} [options.capture] 出力を文字列で返すか
330
+ * @param {string} [options.prefix] 環境変数プレフィックス
331
+ * @returns {string} 標準出力
332
+ */
333
+ export function sshExec(command, options = {}) {
334
+ // 実装
335
+ }
336
+
337
+ /**
338
+ * SCP でローカルファイル/ディレクトリをリモートに転送
339
+ * @param {string} localPath ローカルパス
340
+ * @param {string} remotePath リモートパス
341
+ * @param {object} [options] オプション
342
+ * @param {boolean} [options.recursive] ディレクトリを再帰的に転送
343
+ * @param {string} [options.prefix] 環境変数プレフィックス
344
+ */
345
+ export function scpUpload(localPath, remotePath, options = {}) {
346
+ // 実装
347
+ }
348
+ ```
349
+
350
+ ## AWS 連携パターン
351
+
352
+ ### aws-vault ラッパー
353
+
354
+ AWS 操作では `aws-vault exec` 経由で認証情報を自動取得する。
355
+
356
+ ```javascript
357
+ /**
358
+ * aws-vault ラッパーを組み立てる
359
+ * @returns {string} コマンドプレフィックス
360
+ */
361
+ function awsExecPrefix() {
362
+ const profile = process.env.STG_AWS_PROFILE || '';
363
+ if (!profile) return '';
364
+ return `aws-vault exec ${profile} -- `;
365
+ }
366
+ ```
367
+
368
+ ### Terraform 操作
369
+
370
+ ```javascript
371
+ /**
372
+ * Terraform コマンドを実行
373
+ * @param {string} subcommand - Terraform サブコマンド
374
+ * @param {object} options - オプション
375
+ */
376
+ function terraform(subcommand, options = {}) {
377
+ const prefix = awsExecPrefix();
378
+ const cmd = `${prefix}terraform ${subcommand}`;
379
+ execSync(cmd, { cwd: options.cwd, stdio: 'inherit' });
380
+ }
381
+ ```
382
+
383
+ ## Gulp タスク登録パターン
384
+
385
+ ### gulpfile.js
386
+
387
+ ```javascript
388
+ import gulp from 'gulp';
389
+ import deployDev from './ops/scripts/deploy_dev.js';
390
+ import deployStg from './ops/scripts/deploy_stg.js';
391
+ import provisionStg from './ops/scripts/provision_stg.js';
392
+
393
+ // 各モジュールのタスクを登録
394
+ deployDev(gulp);
395
+ deployStg(gulp);
396
+ provisionStg(gulp);
397
+ ```
398
+
399
+ ### package.json のスクリプト
400
+
401
+ ```json
402
+ {
403
+ "scripts": {
404
+ "deploy:dev": "npx gulp deploy:dev",
405
+ "deploy:stg": "npx gulp deploy:stg",
406
+ "provision:stg": "npx gulp provision:stg"
407
+ }
408
+ }
409
+ ```
410
+
411
+ ## スクリプト作成の手順
412
+
413
+ 新しい運用スクリプトを作成する際は以下の手順に従う。
414
+
415
+ 1. **ネーミング**: `{カテゴリ}_{環境}.js` でファイル名を決定
416
+ 2. **テンプレート**: 基本構造(設定→ヘルパー関数→Gulp タスク)に従って実装
417
+ 3. **共通関数**: `shared.js` と `ssh.js` の既存関数を活用
418
+ 4. **環境変数**: `.env.example` に必要な環境変数を追記
419
+ 5. **ヘルプ**: `{カテゴリ}:{環境}:help` タスクを作成
420
+ 6. **gulpfile.js**: タスクを登録
421
+ 7. **ドキュメント**: コマンドリファレンスを作成・更新
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## 開発ライフサイクル
4
4
 
5
- 分析では、アプリケーションの機能や性能、品質、セキュリティ、運用、保守などの要件をまとめる活動を行います。
5
+ 分析では、情報システム戦略立案、アプリケーションの機能や性能、品質、セキュリティ、運用、保守などの要件をまとめる活動を行います。
6
6
  開発では要件を満たすための設計、実装、テストなどの活動を行います。
7
7
  運用では、アプリケーションの運用、保守、改善などの活動を行います。
8
8
  構築では、アプリケーションの環境設定を行います。
@@ -39,8 +39,11 @@ state 配置 #lightblue
39
39
 
40
40
  ```plantuml
41
41
  @startuml "Phase 1"
42
- |要件定義|
42
+ |戦略|
43
43
  start
44
+ :ビジネスアーキテクチャ;
45
+ :インセプションデッキ;
46
+ |要件定義|
44
47
  :要件定義;
45
48
  :ユースケース;
46
49
  :ユーザーストーリー;
@@ -65,6 +68,11 @@ stop
65
68
 
66
69
  @enduml
67
70
  ```
71
+ ### 戦略
72
+
73
+ #### ビジネスアーキテクチャ
74
+
75
+ ビジネスアーキテクチャの詳細は [ビジネスアーキテクチャ分析ガイド](ビジネスアーキテクチャ分析ガイド.md) を参照
68
76
 
69
77
  ### 要件定義
70
78
 
@@ -153,6 +161,8 @@ UI設計の詳細は [UI設計ガイド](UI設計ガイド.md) を参照
153
161
 
154
162
  ユースケース・ユーザーストーリーの詳細は[ユースケース作成ガイド](ユースケース作成ガイド.md)を参照
155
163
 
164
+ ## 開発
165
+
156
166
  ### リリース計画
157
167
 
158
168
  ```plantuml
@@ -171,8 +181,8 @@ state イテレーション {
171
181
  満足条件2: (ユーザーストーリー、予算、スケジュール)
172
182
  満足条件2 --> イテレーションプランニング
173
183
  イテレーションプランニング --> 満足条件2
174
- イテレーションプランニング --> 開発
175
- 開発 --> フィーチャが追加された状態
184
+ イテレーションプランニング --> コーディングとテスト
185
+ コーディングとテスト --> フィーチャが追加された状態
176
186
  フィーチャが追加された状態 --> 満足条件2 : フィードバック
177
187
  フィーチャが追加された状態 --> 満足条件1 : フィードバック
178
188
  }
@@ -184,8 +194,9 @@ state イテレーション {
184
194
 
185
195
  計画づくりの詳細は [リリース・イテレーション計画ガイド](リリース・イテレーション計画ガイド.md) を参照。
186
196
 
197
+ リリースの詳細は [リリースガイド](リリースガイド.md) を参照
187
198
 
188
- ## 開発
199
+ ### コーディングとテスト
189
200
 
190
201
  ```plantuml
191
202
  @startuml
@@ -221,6 +232,7 @@ state イテレーション {
221
232
  |構築|
222
233
  start
223
234
  :環境構築;
235
+ :プロビジョニング;
224
236
  :CI/CD構築;
225
237
 
226
238
  |配置|
@@ -233,3 +245,55 @@ stop
233
245
 
234
246
  @enduml
235
247
  ```
248
+
249
+ ```plantuml
250
+ @startuml
251
+
252
+ [*] --> 環境構築
253
+
254
+ state 環境構築 {
255
+ アプリケーション開発環境セットアップ --> 開発環境セットアップ
256
+ 開発環境セットアップ --> ステージング環境セットアップ
257
+ ステージング環境セットアップ --> 本番環境セットアップ
258
+ }
259
+
260
+ 環境構築 --> プロビジョニング
261
+
262
+ state プロビジョニング {
263
+ インフラプロビジョニング --> インフラコード管理
264
+ インフラコード管理 --> インフラプロビジョニング
265
+ }
266
+
267
+ プロビジョニング --> CICD構築
268
+
269
+ state CICD構築 {
270
+ CICDパイプライン設計 --> CICDパイプライン実装
271
+ CICDパイプライン実装 --> CICDパイプライン設計
272
+ }
273
+
274
+ CICD構築 --> デプロイ設定
275
+
276
+ state デプロイ設定 {
277
+ デプロイ戦略設計 --> デプロイ戦略実装
278
+ デプロイ戦略実装 --> デプロイ戦略設計
279
+ }
280
+
281
+
282
+ 環境構築 --> ドキュメント更新
283
+ プロビジョニング --> ドキュメント更新
284
+ CICD構築 --> ドキュメント更新
285
+ デプロイ設定 --> ドキュメント更新
286
+
287
+ アプリケーション開発環境セットアップ --> 運用スクリプト作成
288
+ 開発環境セットアップ --> 運用スクリプト作成
289
+ ステージング環境セットアップ --> 運用スクリプト作成
290
+ 本番環境セットアップ --> 運用スクリプト作成
291
+ インフラコード管理 --> 運用スクリプト作成
292
+ CICDパイプライン実装 --> 運用スクリプト作成
293
+ デプロイ戦略実装 --> 運用スクリプト作成
294
+ 運用スクリプト作成 --> ドキュメント更新
295
+
296
+ ドキュメント更新 --> [*]
297
+ @enduml
298
+ ```
299
+