@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.
- package/bin/claude-code-booster +5 -7
- package/lib/assets/.claude/README.md +73 -19
- package/lib/assets/.claude/agents/xp-architect.md +250 -0
- package/lib/assets/.claude/agents/xp-executive.md +207 -0
- package/lib/assets/.claude/agents/xp-interaction-designer.md +239 -0
- package/lib/assets/.claude/agents/xp-product-manager.md +245 -0
- package/lib/assets/.claude/agents/xp-programmer.md +268 -0
- package/lib/assets/.claude/agents/xp-project-manager.md +229 -0
- package/lib/assets/.claude/agents/xp-technical-writer.md +224 -0
- package/lib/assets/.claude/agents/xp-tester.md +265 -0
- package/lib/assets/.claude/agents/xp-user-representative.md +204 -0
- package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +49 -57
- package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +54 -58
- package/lib/assets/.claude/skills/analyzing-business/SKILL.md +52 -74
- package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +50 -53
- package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +56 -56
- package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +56 -109
- package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +61 -57
- package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +61 -57
- package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +57 -55
- package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +66 -67
- package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +58 -56
- package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +51 -57
- package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +45 -60
- package/lib/assets/.claude/skills/creating-adr/SKILL.md +38 -40
- package/lib/assets/.claude/skills/developing-backend/SKILL.md +49 -55
- package/lib/assets/.claude/skills/developing-frontend/SKILL.md +47 -50
- package/lib/assets/.claude/skills/developing-release/SKILL.md +60 -95
- package/lib/assets/.claude/skills/generating-slides/SKILL.md +58 -100
- package/lib/assets/.claude/skills/git-commit/SKILL.md +27 -52
- package/lib/assets/.claude/skills/killing-processes/SKILL.md +16 -70
- package/lib/assets/.claude/skills/operating-backup/SKILL.md +59 -0
- package/lib/assets/.claude/skills/operating-cicd/SKILL.md +54 -0
- package/lib/assets/.claude/skills/operating-deploy/SKILL.md +67 -0
- package/lib/assets/.claude/skills/{managing-docs → operating-docs}/SKILL.md +1 -1
- package/lib/assets/.claude/skills/operating-provision/SKILL.md +77 -0
- package/lib/assets/.claude/skills/operating-setup/SKILL.md +63 -0
- package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +65 -95
- package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +60 -155
- package/lib/assets/.claude/skills/orchestrating-operation/SKILL.md +158 -0
- package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +60 -119
- package/lib/assets/.claude/skills/planning-releases/SKILL.md +63 -168
- package/lib/assets/.claude/skills/syncing-github-project/SKILL.md +62 -266
- package/lib/assets/.claude/skills/tracking-progress/SKILL.md +49 -122
- package/lib/assets/CLAUDE.md +7 -2
- package/lib/assets/README.md +3 -34
- package/lib/assets/docs/development/index.md +14 -8
- package/lib/assets/docs/index.md +1 -0
- 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
- package/lib/assets/docs/reference/index.md +1 -0
- 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
- package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +69 -5
- 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
- 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
- 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
- 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
- package/lib/assets/docs/template//350/250/255/350/250/210.md +12 -2
- 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
- package/lib/assets/gulpfile.js +2 -0
- package/lib/assets/mkdocs.yml +1 -0
- package/lib/assets/ops/docker/sonarqube-local/docker-compose.yml +57 -0
- package/lib/assets/ops/scripts/sonar_local.js +726 -0
- package/package.json +1 -1
- package/lib/assets/.claude/SKILLS_TEMPLATE.md +0 -100
- package/lib/assets/.claude/agents/roles/.gitkeep +0 -0
- package/lib/assets/.claude/skills/managing-operations/DEPLOY.md +0 -77
- package/lib/assets/.claude/skills/managing-operations/SETUP_CSHARP.md +0 -80
- package/lib/assets/.claude/skills/managing-operations/SETUP_FRONTEND.md +0 -84
- package/lib/assets/.claude/skills/managing-operations/SETUP_JAVA.md +0 -75
- package/lib/assets/.claude/skills/managing-operations/SKILL.md +0 -156
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: operating-backup
|
|
3
|
+
description: データベースのバックアップ・リストアを実行。AWS Backup による自動バックアップ、SSH トンネル経由の手動バックアップ、スナップショットからのリストア。バックアップやリストア、データ復旧時に使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# バックアップ・リストア
|
|
7
|
+
|
|
8
|
+
データベースのバックアップ・リストアを実行します。
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. AWS Backup(自動バックアップ)
|
|
13
|
+
|
|
14
|
+
`Backup = "true"` タグが付与された RDS インスタンスに対して日次・週次でスナップショットを自動取得する。
|
|
15
|
+
|
|
16
|
+
| ルール | スケジュール | 保持期間 |
|
|
17
|
+
|--------|-------------|---------|
|
|
18
|
+
| daily | 毎日 JST 0:00 | 7 日 |
|
|
19
|
+
| weekly | 毎週日曜 JST 0:00 | 35 日 |
|
|
20
|
+
|
|
21
|
+
### 2. 手動バックアップ(SSH トンネル経由)
|
|
22
|
+
|
|
23
|
+
踏み台サーバー経由で RDS に接続し、スキーマ単位のバックアップを実行する。
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# SSH トンネルを確立
|
|
27
|
+
ssh -L 5432:<RDS エンドポイント>:5432 ec2-user@<踏み台 IP> -i <キーペア>.pem
|
|
28
|
+
|
|
29
|
+
# スキーマ単位でバックアップ
|
|
30
|
+
PGPASSWORD=<パスワード> pg_dump -h 127.0.0.1 -p 5432 -U <ユーザー名> -d <DB 名> -n <スキーマ名> -Fc -f <スキーマ名>_backup.dump
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 3. リストア
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# pg_restore によるリストア
|
|
37
|
+
PGPASSWORD=<パスワード> pg_restore -h 127.0.0.1 -p 5432 -U <ユーザー名> -d <DB 名> --clean --if-exists <ダンプファイル>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 4. AWS Backup からのリストア
|
|
41
|
+
|
|
42
|
+
1. AWS コンソール → AWS Backup → バックアップボールト → リカバリポイントを選択
|
|
43
|
+
2. 「復元」をクリック → リストア先の DB インスタンス識別子を指定
|
|
44
|
+
3. リストア完了後、アプリケーションの接続先を切り替え
|
|
45
|
+
|
|
46
|
+
> **注意**: AWS Backup からのリストアは新しい RDS インスタンスとして作成されます。
|
|
47
|
+
|
|
48
|
+
### 5. 基本例
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# 「データベースをバックアップして」
|
|
52
|
+
# 「SMS スキーマをバックアップして」
|
|
53
|
+
# 「バックアップからリストアして」
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 関連スキル
|
|
57
|
+
|
|
58
|
+
- `operating-deploy` : デプロイ前のバックアップ確認
|
|
59
|
+
- `operating-provision` : AWS Backup リソースのプロビジョニング
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: operating-cicd
|
|
3
|
+
description: CI/CD パイプラインを構築。CI(Lint・テスト・ビルド・セキュリティスキャン)と CD(環境別デプロイ・OIDC 認証)の設計・実装。CI/CD パイプラインの構築やデプロイ自動化の設定時に使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# CI/CD パイプライン構築
|
|
7
|
+
|
|
8
|
+
継続的インテグレーション・デプロイのパイプラインを構築します。
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. CI パイプライン
|
|
13
|
+
|
|
14
|
+
ビルド・テスト・品質チェックを自動化する。
|
|
15
|
+
|
|
16
|
+
| 段階 | 内容 | 目的 |
|
|
17
|
+
|------|------|------|
|
|
18
|
+
| ソースチェックアウト | リポジトリのコード取得 | 最新コードの取得 |
|
|
19
|
+
| 依存関係インストール | パッケージのインストール | ビルド環境の準備 |
|
|
20
|
+
| 静的解析 | Lint、型チェック | コード品質の担保 |
|
|
21
|
+
| テスト | 単体・統合テストの実行 | 機能の正しさの検証 |
|
|
22
|
+
| ビルド | アプリケーションのビルド | デプロイ可能な成果物の生成 |
|
|
23
|
+
| セキュリティスキャン | 依存関係の脆弱性チェック | セキュリティリスクの排除 |
|
|
24
|
+
|
|
25
|
+
### 2. CD パイプライン
|
|
26
|
+
|
|
27
|
+
環境別のデプロイを自動化する。
|
|
28
|
+
|
|
29
|
+
| 環境 | トリガー | 方式 | 承認 |
|
|
30
|
+
|------|---------|------|------|
|
|
31
|
+
| Development | `develop` ブランチ push | 即座デプロイ | 不要 |
|
|
32
|
+
| Staging | `main` ブランチ push | 自動デプロイ | 不要 |
|
|
33
|
+
| Production | リリースタグ作成 | ローリング or Blue/Green | 必須 |
|
|
34
|
+
|
|
35
|
+
### 3. OIDC 認証
|
|
36
|
+
|
|
37
|
+
クラウド環境へのデプロイではシークレットキーの直接管理を避け、OIDC(OpenID Connect)認証を使用する。
|
|
38
|
+
|
|
39
|
+
- **AWS**: GitHub Actions OIDC Provider + IAM Role
|
|
40
|
+
- **GCP**: Workload Identity Federation
|
|
41
|
+
- **Azure**: Federated Identity Credentials
|
|
42
|
+
|
|
43
|
+
### 4. ベストプラクティス
|
|
44
|
+
|
|
45
|
+
- **高速フィードバック**: Lint → テスト → ビルドの順で失敗を早期検知
|
|
46
|
+
- **キャッシュ活用**: 依存関係のキャッシュで実行時間を短縮
|
|
47
|
+
- **並列実行**: 独立したジョブは並列で実行
|
|
48
|
+
- **段階的導入**: CI 基盤 → 開発環境 CD → ステージング CD → 本番 CD の順
|
|
49
|
+
|
|
50
|
+
### 関連スキル
|
|
51
|
+
|
|
52
|
+
- `operating-deploy` : デプロイの実行
|
|
53
|
+
- `operating-provision` : OIDC 用 IAM ロールのプロビジョニング
|
|
54
|
+
- `orchestrating-operation` : 運用フェーズ全体のワークフロー案内
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: operating-deploy
|
|
3
|
+
description: 各環境へのデプロイを実行。Docker イメージのビルド・プッシュ、ローリングデプロイ、Blue/Green デプロイ、ロールバック、ステータス確認、ログ取得。デプロイやロールバック、サービス状態確認時に使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# デプロイ
|
|
7
|
+
|
|
8
|
+
各環境へのデプロイ、ロールバック、ステータス確認を実行します。
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. デプロイフロー
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Docker ビルド → Registry プッシュ → 対象環境でプル → サービス更新 → ヘルスチェック
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### 2. デプロイ方式
|
|
19
|
+
|
|
20
|
+
| 方式 | 説明 | 用途 |
|
|
21
|
+
|------|------|------|
|
|
22
|
+
| Docker イメージ配布 | Registry 経由でイメージをプル | 開発環境 |
|
|
23
|
+
| ローリングデプロイ | 段階的にインスタンスを更新 | ECS ステージング・本番 |
|
|
24
|
+
| Blue/Green | 新旧環境を切り替え | RDS アップグレード |
|
|
25
|
+
|
|
26
|
+
### 3. 環境別デプロイ
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# 開発環境: Docker イメージ配布
|
|
30
|
+
# 「開発環境にデプロイして」
|
|
31
|
+
|
|
32
|
+
# ステージング環境: ECS ローリングデプロイ
|
|
33
|
+
# 「ステージングにデプロイして」
|
|
34
|
+
|
|
35
|
+
# 本番環境: 承認後デプロイ
|
|
36
|
+
# 「本番にデプロイして」
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 4. ロールバック
|
|
40
|
+
|
|
41
|
+
問題発生時は前バージョンに切り戻す。
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# 「開発環境をロールバックして」
|
|
45
|
+
# 「本番を前バージョンに戻して」
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 5. ステータス確認・ログ
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# 「開発環境の状態を確認して」
|
|
52
|
+
# 「ステージングのログを見せて」
|
|
53
|
+
# 「全環境の状態を確認して」
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 6. 注意事項
|
|
57
|
+
|
|
58
|
+
- **段階的デプロイ**: Development → Staging → Production の順序を厳守
|
|
59
|
+
- **ステージング検証**: 本番デプロイ前にステージングで十分に検証
|
|
60
|
+
- **ロールバック準備**: デプロイ前にロールバック手順を確認
|
|
61
|
+
- **ヘルスチェック**: デプロイ後に必ず動作確認を実施
|
|
62
|
+
|
|
63
|
+
### 関連スキル
|
|
64
|
+
|
|
65
|
+
- `operating-cicd` : CI/CD パイプライン構築
|
|
66
|
+
- `operating-backup` : デプロイ前のバックアップ
|
|
67
|
+
- `developing-release` : リリースワークフロー
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: operating-provision
|
|
3
|
+
description: IaC(Terraform)によるインフラプロビジョニングを実行。S3 状態管理、VPC、RDS、ECR、ECS 等の AWS リソースを段階的に構築・管理。Terraform の init/plan/apply やインフラ構築時に使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# インフラプロビジョニング
|
|
7
|
+
|
|
8
|
+
IaC(Infrastructure as Code)により、ステージング・本番環境のインフラを構築・管理します。
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. Terraform ワークフロー
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
インフラコード作成 → init → plan → apply → テスト → ドキュメント更新
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# 初期化
|
|
20
|
+
terraform init --backend-config=backend.hcl
|
|
21
|
+
|
|
22
|
+
# 変更確認
|
|
23
|
+
terraform plan
|
|
24
|
+
|
|
25
|
+
# 適用
|
|
26
|
+
terraform apply
|
|
27
|
+
|
|
28
|
+
# 廃棄
|
|
29
|
+
terraform destroy
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
aws-vault 使用時は `aws-vault exec <profile> --` プレフィックスを付与する。
|
|
33
|
+
|
|
34
|
+
### 2. プロビジョニング順序
|
|
35
|
+
|
|
36
|
+
ステージング・本番環境では以下のリソースを段階的にプロビジョニングする。
|
|
37
|
+
|
|
38
|
+
1. **状態管理**: S3 バケット + DynamoDB(Terraform State)
|
|
39
|
+
2. **IAM**: OIDC 認証用 IAM ロール(GitHub Actions 連携)
|
|
40
|
+
3. **シークレット**: SSM パラメータストア(DB 認証情報)
|
|
41
|
+
4. **ネットワーク**: VPC・サブネット・NAT Gateway
|
|
42
|
+
5. **データストア**: RDS
|
|
43
|
+
6. **バックアップ**: AWS Backup
|
|
44
|
+
7. **レジストリ**: ECR リポジトリ
|
|
45
|
+
8. **コンピュート**: ECS(Fargate + ALB)
|
|
46
|
+
9. **管理**: Application Manager(リソースグループ)
|
|
47
|
+
10. **DNS**: Route 53・カスタムドメイン(任意)
|
|
48
|
+
11. **踏み台**: EC2 踏み台サーバー(任意)
|
|
49
|
+
|
|
50
|
+
### 3. Terraform ディレクトリ構成
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
ops/terraform/
|
|
54
|
+
├── live/
|
|
55
|
+
│ ├── global/ # S3 状態管理、IAM ロール
|
|
56
|
+
│ ├── stage/ # ステージング環境リソース
|
|
57
|
+
│ └── prod/ # 本番環境リソース
|
|
58
|
+
├── modules/ # 再利用可能モジュール
|
|
59
|
+
└── test/ # Terratest
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 4. 環境廃棄
|
|
63
|
+
|
|
64
|
+
廃棄は**構築時と逆の順序**で実行する。本番環境では `deletion_protection` を事前に `false` に変更する。
|
|
65
|
+
|
|
66
|
+
### 5. 注意事項
|
|
67
|
+
|
|
68
|
+
- **状態管理が先**: S3 + DynamoDB は他の全リソースより先に作成
|
|
69
|
+
- **IaC 優先**: 手作業を最小限に抑え、インフラをコードで管理
|
|
70
|
+
- **テスト**: LocalStack(ローカル)、Terratest(単体・結合)で検証
|
|
71
|
+
- **secret.tfvars**: Git 管理外にすること
|
|
72
|
+
|
|
73
|
+
### 関連スキル
|
|
74
|
+
|
|
75
|
+
- `operating-setup` : 環境構築の段階的実行
|
|
76
|
+
- `operating-cicd` : CI/CD パイプライン構築
|
|
77
|
+
- `operating-deploy` : デプロイ実行
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: operating-setup
|
|
3
|
+
description: 環境構築を段階的に実行。アプリケーション開発環境→開発環境→ステージング→本番の順序でセットアップ。テンプレートから手順書を生成し環境を構築。環境構築やセットアップ、新しい環境の追加時に使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 環境構築
|
|
7
|
+
|
|
8
|
+
開発ガイドの運用セクションに準拠し、各環境を段階的にセットアップします。テンプレートからプロジェクト固有の手順書を生成し、その手順書に従って環境を構築します。
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. 段階的構築フロー
|
|
13
|
+
|
|
14
|
+
環境構築は以下の順序で段階的に進める。前段の環境が構築済みであることを確認してから次に進む。
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
アプリケーション開発環境 → 開発環境 → ステージング環境 → 本番環境
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
| 段階 | 環境 | テンプレート | 目的 |
|
|
21
|
+
|------|------|-------------|------|
|
|
22
|
+
| 1 | アプリケーション開発環境 | @docs/template/アプリケーション開発環境セットアップ手順書.md | ローカル開発の効率化 |
|
|
23
|
+
| 2 | 開発環境 | @docs/template/開発環境セットアップ手順書.md | Docker ベースのチーム共有環境 |
|
|
24
|
+
| 3 | ステージング環境 | @docs/template/AWSステージング環境セットアップ手順書.md | AWS 上の本番相当テスト環境 |
|
|
25
|
+
| 4 | 本番環境 | @docs/template/AWSプロダクション環境セットアップ手順書.md | プロダクション環境 |
|
|
26
|
+
|
|
27
|
+
### 2. 実行手順
|
|
28
|
+
|
|
29
|
+
1. テンプレートを読み込む
|
|
30
|
+
2. プレースホルダー(`{プロジェクト名}`、`{サービス名}` 等)をプロジェクト固有の値に置換
|
|
31
|
+
3. `docs/operation/` 配下にプロジェクト固有の手順書を生成
|
|
32
|
+
4. 手順書に従って環境を構築
|
|
33
|
+
5. 構築完了後、運用スクリプトを作成(`operating-script` 参照)
|
|
34
|
+
6. 手順書とドキュメントを更新
|
|
35
|
+
|
|
36
|
+
### 3. 基本例
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# アプリケーション開発環境のセットアップ
|
|
40
|
+
# 「ローカル開発環境を構築して」
|
|
41
|
+
|
|
42
|
+
# 開発環境のセットアップ(Docker ベース)
|
|
43
|
+
# 「開発サーバーの環境を構築して」
|
|
44
|
+
|
|
45
|
+
# ステージング環境のセットアップ(AWS)
|
|
46
|
+
# 「ステージング環境を AWS にセットアップしたい」
|
|
47
|
+
|
|
48
|
+
# 本番環境のセットアップ(AWS)
|
|
49
|
+
# 「本番環境を構築して」
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 4. 注意事項
|
|
53
|
+
|
|
54
|
+
- **段階的構築**: アプリ開発環境 → 開発環境 → ステージング → 本番の順序を厳守
|
|
55
|
+
- **テンプレート活用**: 手順書テンプレートを基にプロジェクト固有の手順書を必ず作成してから環境構築を実行
|
|
56
|
+
- **ドキュメント同期**: 環境変更時は手順書を同時更新
|
|
57
|
+
- **本番環境の安全**: 本番環境の構築は十分な確認と承認のもとで実行
|
|
58
|
+
|
|
59
|
+
### 関連スキル
|
|
60
|
+
|
|
61
|
+
- `orchestrating-operation` : 運用フェーズ全体のワークフロー案内
|
|
62
|
+
- `operating-provision` : IaC によるインフラプロビジョニング
|
|
63
|
+
- `operating-cicd` : CI/CD パイプライン構築
|
|
@@ -1,134 +1,104 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: orchestrating-analysis
|
|
3
|
-
description:
|
|
3
|
+
description: 分析フェーズ全体のワークフローをオーケストレーション。戦略→要件定義→機能要件→非機能要件の順序で各 analyzing-* スキルの実行を案内。分析フェーズの開始、全体像の把握、次に何を分析すべきかの判断、分析の進め方の相談時に使用。「分析を始めたい」「要件定義の次は何?」「設計ドキュメントを一通り作りたい」といった場面で発動する。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 分析フェーズオーケストレーション
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
分析フェーズ全体の作業順序を案内する。各工程には専門の analyzing-* スキルがあるため、このスキルの役割は「何を・どの順序で・なぜその順序で」進めるかを示すことにある。
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
開発ガイド(@docs/reference/開発ガイド.md)の分析セクションに定義されたフローに準拠する。
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
## 分析フェーズの構成
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
分析は **戦略 → 要件定義 → 機能要件 → 非機能要件** の 4 段階で進める。各段階の出力が次の段階の入力になるため、この順序を守ることが品質を確保する上で重要になる。
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
### 段階 1: 戦略
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
- バリューストリームの設計
|
|
20
|
-
- ビジネスケイパビリティモデルの構築
|
|
18
|
+
プロジェクトの「なぜ・何を・どうやって」を明確にする。ここが曖昧だと後工程すべてがブレるため、最初に固める。
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
| 工程 | スキル | 成果物 |
|
|
21
|
+
|------|--------|--------|
|
|
22
|
+
| ビジネスアーキテクチャ分析 | `analyzing-business` | ビジネスモデルキャンバス、バリューストリーム、ケイパビリティマップ |
|
|
23
|
+
| インセプションデッキ作成 | `analyzing-inception-deck` | 10 の問いへの回答、概念アーキテクチャ、マイルストーン |
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
- スコープ・リスク・トレードオフの明確化
|
|
26
|
-
- 概念アーキテクチャとマイルストーンの策定
|
|
25
|
+
### 段階 2: 要件定義
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
システムが解決すべき問題と境界を定義する。RDRA 2.0 の体系に従い、システム価値→外部環境→境界の順で分析を進める。
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
| 工程 | スキル | 成果物 |
|
|
30
|
+
|------|--------|--------|
|
|
31
|
+
| 要件定義 | `analyzing-requirements` | システムコンテキスト、要求モデル、業務フロー |
|
|
32
|
+
| ユースケース・ユーザーストーリー | `analyzing-usecases` | ビジネスユースケース、システムユースケース、ユーザーストーリー |
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
### 段階 3: 機能要件
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
- システムユースケースの定義
|
|
38
|
-
- ユーザーストーリーの作成
|
|
36
|
+
要件をどう実現するかの設計を行う。アーキテクチャが決まらないとデータモデルやドメインモデルの粒度が定まらないため、アーキテクチャ設計を先に行う。
|
|
39
37
|
|
|
40
|
-
|
|
38
|
+
| 工程 | スキル | 成果物 |
|
|
39
|
+
|------|--------|--------|
|
|
40
|
+
| アーキテクチャ設計 | `analyzing-architecture` | バックエンド・フロントエンド・インフラ設計 |
|
|
41
|
+
| データモデル設計 | `analyzing-data-model` | ER 図、テーブル定義 |
|
|
42
|
+
| ドメインモデル設計 | `analyzing-domain-model` | エンティティ、値オブジェクト、集約 |
|
|
43
|
+
| UI 設計 | `analyzing-ui-design` | 画面遷移図、画面イメージ |
|
|
41
44
|
|
|
42
|
-
|
|
43
|
-
- フロントエンドアーキテクチャ
|
|
44
|
-
- インフラストラクチャアーキテクチャ
|
|
45
|
+
### 段階 4: 非機能要件
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
システムの品質特性と運用方針を定義する。機能要件が見えた段階で策定することで、現実的な要件を設定できる。
|
|
47
48
|
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
| 工程 | スキル | 成果物 |
|
|
50
|
+
|------|--------|--------|
|
|
51
|
+
| テスト戦略 | `analyzing-test-strategy` | テストピラミッド、テスト種別、カバレッジ目標 |
|
|
52
|
+
| 非機能要件 | `analyzing-non-functional` | 性能・セキュリティ・可用性・保守性要件 |
|
|
53
|
+
| 運用要件 | `analyzing-operation` | 運用フロー、監視設計、障害対応手順 |
|
|
50
54
|
|
|
51
|
-
|
|
55
|
+
### 横断: 技術スタック・ADR
|
|
52
56
|
|
|
53
|
-
|
|
54
|
-
- 値オブジェクト定義
|
|
55
|
-
- 集約の設計
|
|
57
|
+
技術スタック選定とアーキテクチャ決定記録は、分析の進行に応じて随時実施する。
|
|
56
58
|
|
|
57
|
-
|
|
59
|
+
| 工程 | スキル | 成果物 |
|
|
60
|
+
|------|--------|--------|
|
|
61
|
+
| 技術スタック選定 | `analyzing-tech-stack` | 技術選定・評価結果 |
|
|
62
|
+
| ADR 作成 | `creating-adr` | Architecture Decision Record |
|
|
58
63
|
|
|
59
|
-
|
|
60
|
-
- 画面イメージ
|
|
64
|
+
## 進め方
|
|
61
65
|
|
|
62
|
-
|
|
66
|
+
### 現状を確認してから始める
|
|
63
67
|
|
|
64
|
-
|
|
65
|
-
- テスト種別の定義
|
|
68
|
+
分析を開始する前に、プロジェクトの現状を把握する。既存のドキュメントやコードがある場合、ゼロから始める必要はない。
|
|
66
69
|
|
|
67
|
-
|
|
70
|
+
1. `docs/` 配下の既存ドキュメントを確認
|
|
71
|
+
2. `docs/design/` 配下の設計ドキュメントの有無を確認
|
|
72
|
+
3. 未着手の工程を特定し、次のアクションを提案
|
|
68
73
|
|
|
69
|
-
|
|
70
|
-
- セキュリティ要件
|
|
74
|
+
### 途中から再開する場合
|
|
71
75
|
|
|
72
|
-
|
|
76
|
+
すべての工程を最初から実施する必要はない。既に完了している工程はスキップし、未着手または更新が必要な工程から再開する。
|
|
73
77
|
|
|
74
|
-
|
|
75
|
-
- 監視設計
|
|
78
|
+
**Example:**
|
|
76
79
|
|
|
77
|
-
|
|
80
|
+
```
|
|
81
|
+
ユーザー: 「要件定義は終わった。次は何をすればいい?」
|
|
82
|
+
回答: 段階 3(機能要件)のアーキテクチャ設計から開始。
|
|
83
|
+
analyzing-architecture スキルを使ってアーキテクチャ設計を進める。
|
|
84
|
+
```
|
|
78
85
|
|
|
79
|
-
|
|
80
|
-
- バージョン管理
|
|
86
|
+
### 工程間のフィードバック
|
|
81
87
|
|
|
82
|
-
|
|
88
|
+
分析は一方通行ではない。後工程の検討で前工程の見直しが必要になることがある。たとえば、データモデル設計中に要件の不足に気づいた場合は、要件定義に戻って補完する。
|
|
83
89
|
|
|
84
|
-
|
|
85
|
-
# プロジェクト情報の確認後に分析開始
|
|
86
|
-
ls -la docs/
|
|
87
|
-
cat README.md
|
|
88
|
-
# 「プロジェクトの現状を踏まえた分析フェーズの進め方を提案」
|
|
89
|
-
```
|
|
90
|
+
## コンテキスト管理
|
|
90
91
|
|
|
91
|
-
|
|
92
|
+
分析フェーズは多くの工程を含むため、長時間セッションになりやすい。以下のタイミングで `/compact` を実施し、コンテキストを圧縮する。
|
|
92
93
|
|
|
93
|
-
|
|
94
|
+
- 分析工程 1 件が完了したとき
|
|
95
|
+
- 設計ドキュメント 1 件の作成・更新が完了したとき
|
|
96
|
+
- コミット完了後、次の工程に着手する前
|
|
94
97
|
|
|
95
|
-
|
|
98
|
+
`/compact` 実施前に、現在の作業状態と次の工程をメモとして出力する。これにより、圧縮後も作業の連続性を保てる。
|
|
96
99
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
|
|
102
|
-
**運用ルール**:
|
|
103
|
-
|
|
104
|
-
1. `/compact` 実施前に、現在の作業状態と次の工程をメモとして出力する
|
|
105
|
-
2. `/compact` 実施後、次の工程の作業を継続する
|
|
106
|
-
3. 大規模な分析工程(例: アーキテクチャ設計)では、サブ工程ごとに `/compact` を検討する
|
|
107
|
-
|
|
108
|
-
### 4. 注意事項
|
|
109
|
-
|
|
110
|
-
- **前提条件**: プロジェクトの基本的な背景情報の把握が必要
|
|
111
|
-
- **制限事項**: 分析結果は開発フェーズで継続的に見直し・改善が必要
|
|
112
|
-
- **推奨事項**: 各工程の成果物を文書化し、チーム内で共有することを推奨
|
|
113
|
-
|
|
114
|
-
### 5. ベストプラクティス
|
|
115
|
-
|
|
116
|
-
1. **段階的分析**: 要件定義から始めて段階的に詳細化する
|
|
117
|
-
2. **チーム連携**: 分析結果をチーム全体で共有し、合意形成を行う
|
|
118
|
-
3. **継続的改善**: 開発フェーズでのフィードバックを基に分析結果を見直す
|
|
119
|
-
4. **文書化**: 分析結果は PlantUML や Markdown で視覚的に文書化する
|
|
120
|
-
|
|
121
|
-
### 関連スキル
|
|
122
|
-
|
|
123
|
-
- `analyzing-business` : ビジネスアーキテクチャ分析支援
|
|
124
|
-
- `analyzing-inception-deck` : インセプションデッキ作成支援
|
|
125
|
-
- `analyzing-requirements` : 要件定義関連の作業支援
|
|
126
|
-
- `analyzing-usecases` : ユースケース・ユーザーストーリー作成支援
|
|
127
|
-
- `analyzing-architecture` : アーキテクチャ設計支援
|
|
128
|
-
- `analyzing-data-model` : データモデル設計支援
|
|
129
|
-
- `analyzing-domain-model` : ドメインモデル設計支援
|
|
130
|
-
- `analyzing-ui-design` : UI 設計支援
|
|
131
|
-
- `analyzing-test-strategy` : テスト戦略策定支援
|
|
132
|
-
- `analyzing-non-functional` : 非機能要件定義支援
|
|
133
|
-
- `analyzing-operation` : 運用要件定義支援
|
|
134
|
-
- `analyzing-tech-stack` : 技術スタック選定支援
|
|
100
|
+
## 注意事項
|
|
101
|
+
|
|
102
|
+
- 分析結果は開発フェーズで継続的に見直す。完璧を目指して分析を長引かせるより、十分な品質で開発に進み、フィードバックで改善する方が効果的
|
|
103
|
+
- 各工程の成果物は `docs/` 配下に Markdown + PlantUML で文書化する
|
|
104
|
+
- リリース計画(`planning-releases`)は分析フェーズの最後に、技術スタック選定後に実施する
|