@sk8metal/michi-cli 0.13.0 → 0.14.1
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/CHANGELOG.md +86 -0
- package/README.md +27 -8
- package/dist/src/commands/setup-existing.d.ts.map +1 -1
- package/dist/src/commands/setup-existing.js +19 -74
- package/dist/src/commands/setup-existing.js.map +1 -1
- package/package.json +1 -1
- package/templates/claude/agents/design-reviewer/AGENT.md +0 -497
- package/templates/claude/agents/e2e-first-planner/AGENT.md +0 -410
- package/templates/claude/agents/mermaid-validator/AGENT.md +0 -257
- package/templates/claude/agents/oss-license-checker/AGENT.md +0 -265
- package/templates/claude/agents/pr-resolver/AGENT.md +0 -208
- package/templates/claude/agents/pr-size-monitor/AGENT.md +0 -330
- package/templates/claude/agents/stable-version-auditor/AGENT.md +0 -279
- package/templates/claude/commands/kiro/kiro-spec-impl.md +0 -257
- package/templates/claude/commands/kiro/kiro-spec-tasks.md +0 -370
- package/templates/claude/commands/michi/confluence-sync.md +0 -44
- package/templates/claude/commands/michi/design-review.md +0 -70
- package/templates/claude/commands/michi/e2e-plan.md +0 -117
- package/templates/claude/commands/michi/license-check.md +0 -84
- package/templates/claude/commands/michi/pr-resolve.md +0 -157
- package/templates/claude/commands/michi/project-switch.md +0 -42
- package/templates/claude/commands/michi/spec-design.md +0 -78
- package/templates/claude/commands/michi/spec-impl.md +0 -889
- package/templates/claude/commands/michi/spec-tasks.md +0 -156
- package/templates/claude/commands/michi/test-planning.md +0 -174
- package/templates/claude/commands/michi/validate-design.md +0 -58
- package/templates/claude/commands/michi/version-audit.md +0 -95
- package/templates/claude/commands/michi-multi-repo/impl-all.md +0 -293
- package/templates/claude/commands/michi-multi-repo/propagate-specs.md +0 -284
- package/templates/claude/commands/michi-multi-repo/spec-design.md +0 -359
- package/templates/claude/commands/michi-multi-repo/spec-init.md +0 -228
- package/templates/claude/commands/michi-multi-repo/spec-requirements.md +0 -198
- package/templates/claude/commands/michi-multi-repo/spec-review.md +0 -261
- package/templates/claude/rules/atlassian-integration.md +0 -35
- package/templates/claude/rules/michi-core.md +0 -54
- package/templates/claude/skills/design-review/SKILL.md +0 -648
- package/templates/claude/skills/e2e-first-planning/SKILL.md +0 -360
- package/templates/claude/skills/mermaid-validator/SKILL.md +0 -261
- package/templates/claude/skills/oss-license/SKILL.md +0 -232
- package/templates/claude/skills/stable-version/SKILL.md +0 -252
- package/templates/claude-agent/rules/code-size-monitor.md +0 -26
- package/templates/claude-agent/rules/code-size-rules.md +0 -32
- package/templates/michi/cc-sdd-overrides/README.md +0 -58
- package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +0 -53
- package/templates/michi/cc-sdd-overrides/settings/templates/specs/init.json +0 -24
- package/templates/michi/cc-sdd-overrides/settings/templates/specs/tasks.md +0 -446
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: oss-license
|
|
3
|
-
description: |
|
|
4
|
-
OSSライセンス確認とコンプライアンスガイド。
|
|
5
|
-
許可/禁止ライセンス一覧、確認ツール使用法をガイド。
|
|
6
|
-
allowed-tools: Bash, Read, Grep, Glob
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# OSSライセンス確認スキル
|
|
10
|
-
|
|
11
|
-
## 目的
|
|
12
|
-
|
|
13
|
-
依存パッケージのライセンスを確認し、ライセンス違反リスクを早期発見する。
|
|
14
|
-
|
|
15
|
-
## 重要な原則
|
|
16
|
-
|
|
17
|
-
### ✅ 許可ライセンス(一般的に使用可能)
|
|
18
|
-
|
|
19
|
-
- **MIT License** - 最も寛容なライセンス
|
|
20
|
-
- **Apache License 2.0** - 特許条項付き
|
|
21
|
-
- **BSD 2-Clause / 3-Clause** - シンプルな寛容ライセンス
|
|
22
|
-
- **ISC License** - MITと同等
|
|
23
|
-
- **CC0 / Public Domain** - 著作権放棄
|
|
24
|
-
|
|
25
|
-
### ⚠️ 要注意ライセンス(条件付き使用)
|
|
26
|
-
|
|
27
|
-
- **LGPL v2.1 / v3.0** - 動的リンクのみ許可(静的リンクは要注意)
|
|
28
|
-
- **MPL 2.0 (Mozilla Public License)** - ファイル単位のコピーレフト
|
|
29
|
-
- **CC BY-SA** - ドキュメント用(ShareAlike条項あり)
|
|
30
|
-
- **EPL (Eclipse Public License)** - 弱いコピーレフト
|
|
31
|
-
|
|
32
|
-
### ❌ 禁止ライセンス(商用利用時に要確認)
|
|
33
|
-
|
|
34
|
-
- **GPL v2 / v3** - 強いコピーレフト(全体がGPLになる)
|
|
35
|
-
- **AGPL v3** - ネットワーク経由でも適用される最も強いコピーレフト
|
|
36
|
-
- **SSPL (Server Side Public License)** - MongoDBなどで使用
|
|
37
|
-
- **CPAL (Common Public Attribution License)** - 帰属表示要求
|
|
38
|
-
|
|
39
|
-
## ライセンス確認ツール
|
|
40
|
-
|
|
41
|
-
### Node.js プロジェクト
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
# license-checker インストール
|
|
45
|
-
npm install -g license-checker
|
|
46
|
-
|
|
47
|
-
# 依存関係のライセンス一覧
|
|
48
|
-
license-checker --summary
|
|
49
|
-
|
|
50
|
-
# 問題のあるライセンスを検出
|
|
51
|
-
license-checker --failOn "GPL;AGPL;SSPL"
|
|
52
|
-
|
|
53
|
-
# JSON出力(詳細分析用)
|
|
54
|
-
license-checker --json > licenses.json
|
|
55
|
-
|
|
56
|
-
# 特定ライセンスのみ表示
|
|
57
|
-
license-checker --onlyAllow "MIT;Apache-2.0;BSD"
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Python プロジェクト
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
# pip-licenses インストール
|
|
64
|
-
pip install pip-licenses
|
|
65
|
-
|
|
66
|
-
# 一覧表示
|
|
67
|
-
pip-licenses
|
|
68
|
-
|
|
69
|
-
# Markdown形式で出力
|
|
70
|
-
pip-licenses --format=markdown
|
|
71
|
-
|
|
72
|
-
# 許可リスト形式(違反を検出)
|
|
73
|
-
pip-licenses --allow-only="MIT;Apache 2.0;BSD"
|
|
74
|
-
|
|
75
|
-
# 禁止リスト形式
|
|
76
|
-
pip-licenses --fail-on="GPL;AGPL"
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Java プロジェクト(Gradle)
|
|
80
|
-
|
|
81
|
-
```gradle
|
|
82
|
-
// build.gradleに追加
|
|
83
|
-
plugins {
|
|
84
|
-
id 'com.github.hierynomus.license' version '0.16.1'
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
license {
|
|
88
|
-
header rootProject.file('LICENSE_HEADER')
|
|
89
|
-
strictCheck true
|
|
90
|
-
}
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
または Maven:
|
|
94
|
-
|
|
95
|
-
```xml
|
|
96
|
-
<plugin>
|
|
97
|
-
<groupId>org.codehaus.mojo</groupId>
|
|
98
|
-
<artifactId>license-maven-plugin</artifactId>
|
|
99
|
-
<version>2.0.0</version>
|
|
100
|
-
</plugin>
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### PHP プロジェクト(Composer)
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
# composer-licenses インストール
|
|
107
|
-
composer require dominikzogg/composer-licenses --dev
|
|
108
|
-
|
|
109
|
-
# ライセンス一覧
|
|
110
|
-
./vendor/bin/composer-licenses
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### 汎用ツール
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
# FOSSA CLI(多言語対応)
|
|
117
|
-
fossa analyze
|
|
118
|
-
fossa test
|
|
119
|
-
|
|
120
|
-
# Snyk(セキュリティ + ライセンス)
|
|
121
|
-
snyk test --all-projects
|
|
122
|
-
snyk monitor
|
|
123
|
-
|
|
124
|
-
# Black Duck(エンタープライズ)
|
|
125
|
-
# GitHub App: License Compliance Action
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## ライセンス違反発見時の対応フロー
|
|
129
|
-
|
|
130
|
-
### Step 1: 問題のある依存関係を特定
|
|
131
|
-
|
|
132
|
-
```bash
|
|
133
|
-
# Node.js の例
|
|
134
|
-
license-checker --json | jq '.[] | select(.licenses | contains("GPL"))'
|
|
135
|
-
|
|
136
|
-
# Python の例
|
|
137
|
-
pip-licenses --fail-on="GPL"
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### Step 2: 依存関係の調査
|
|
141
|
-
|
|
142
|
-
1. **直接依存か間接依存か確認**
|
|
143
|
-
```bash
|
|
144
|
-
# Node.js
|
|
145
|
-
npm ls <package-name>
|
|
146
|
-
|
|
147
|
-
# Python
|
|
148
|
-
pipdeptree -p <package-name>
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
2. **使用箇所を特定**
|
|
152
|
-
```bash
|
|
153
|
-
grep -r "import <package-name>" .
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### Step 3: 代替パッケージを調査
|
|
157
|
-
|
|
158
|
-
- **同等機能のパッケージを検索**
|
|
159
|
-
- npmtrends.com(Node.js)
|
|
160
|
-
- pypi.org(Python)
|
|
161
|
-
- Maven Central(Java)
|
|
162
|
-
|
|
163
|
-
- **ライセンス互換性を確認**
|
|
164
|
-
- 代替パッケージのライセンスをチェック
|
|
165
|
-
- 依存関係も確認
|
|
166
|
-
|
|
167
|
-
### Step 4: 対応策の実施
|
|
168
|
-
|
|
169
|
-
**A) 代替パッケージに置換**
|
|
170
|
-
```bash
|
|
171
|
-
npm uninstall <問題パッケージ>
|
|
172
|
-
npm install <代替パッケージ>
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
**B) 除外(使用していない場合)**
|
|
176
|
-
```bash
|
|
177
|
-
npm uninstall <問題パッケージ>
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
**C) 法務/コンプライアンスチームに相談**
|
|
181
|
-
- GPLライセンスの影響範囲を評価
|
|
182
|
-
- デュアルライセンスの可能性を確認
|
|
183
|
-
- 商用ライセンス購入の検討
|
|
184
|
-
|
|
185
|
-
## ライセンス互換性マトリクス
|
|
186
|
-
|
|
187
|
-
| 使用するライセンス | 依存先で許可されるライセンス |
|
|
188
|
-
|------------------|--------------------------|
|
|
189
|
-
| MIT/BSD/Apache | ほぼすべて(GPL除く) |
|
|
190
|
-
| GPL v2 | GPL v2のみ |
|
|
191
|
-
| GPL v3 | GPL v3, AGPL v3 |
|
|
192
|
-
| LGPL | すべて(動的リンク時) |
|
|
193
|
-
| 商用ライセンス | MIT/BSD/Apache推奨 |
|
|
194
|
-
|
|
195
|
-
## CI/CDへの組み込み
|
|
196
|
-
|
|
197
|
-
### GitHub Actions 例
|
|
198
|
-
|
|
199
|
-
```yaml
|
|
200
|
-
name: License Check
|
|
201
|
-
|
|
202
|
-
on: [push, pull_request]
|
|
203
|
-
|
|
204
|
-
jobs:
|
|
205
|
-
license-check:
|
|
206
|
-
runs-on: ubuntu-latest
|
|
207
|
-
steps:
|
|
208
|
-
- uses: actions/checkout@v2
|
|
209
|
-
|
|
210
|
-
- name: Install license-checker
|
|
211
|
-
run: npm install -g license-checker
|
|
212
|
-
|
|
213
|
-
- name: Check licenses
|
|
214
|
-
run: license-checker --failOn "GPL;AGPL;SSPL"
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
### Screwdriver 例
|
|
218
|
-
|
|
219
|
-
```yaml
|
|
220
|
-
jobs:
|
|
221
|
-
main:
|
|
222
|
-
steps:
|
|
223
|
-
- license-check: npm run license-check
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
## 参考資料
|
|
227
|
-
|
|
228
|
-
- [SPDX License List](https://spdx.org/licenses/) - 標準ライセンス一覧
|
|
229
|
-
- [choosealicense.com](https://choosealicense.com/) - ライセンス選択ガイド
|
|
230
|
-
- [OSS Watch License Compliance](https://www.oss-watch.ac.uk/) - コンプライアンスガイド
|
|
231
|
-
- [FOSSA Documentation](https://fossa.com/docs) - ライセンス管理ツール
|
|
232
|
-
- [GNU License List](https://www.gnu.org/licenses/license-list.html) - GPLとの互換性情報
|
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: stable-version
|
|
3
|
-
description: |
|
|
4
|
-
各言語/フレームワークの安定版バージョン確認ガイド。
|
|
5
|
-
LTSの考え方、EOLチェック、アップグレード判断をサポート。
|
|
6
|
-
allowed-tools: Bash, Read, Grep, Glob, WebFetch
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# 安定版バージョン確認スキル
|
|
10
|
-
|
|
11
|
-
## 目的
|
|
12
|
-
|
|
13
|
-
技術スタックのバージョンを最適な状態に維持し、セキュリティリスクと技術的負債を最小化する。
|
|
14
|
-
|
|
15
|
-
## LTS(Long Term Support)の考え方
|
|
16
|
-
|
|
17
|
-
### LTS優先の原則
|
|
18
|
-
|
|
19
|
-
1. **本番環境**: LTSバージョンを使用(安定性・長期サポート重視)
|
|
20
|
-
2. **開発環境**: Current/Latest対応も許容(新機能の検証用)
|
|
21
|
-
3. **EOL前6ヶ月**: アップグレード計画を開始
|
|
22
|
-
4. **セキュリティパッチ**: EOL後はパッチ提供なし
|
|
23
|
-
|
|
24
|
-
### EOL(End of Life)対応
|
|
25
|
-
|
|
26
|
-
- **EOL後のリスク**: セキュリティパッチなし、脆弱性対応不可
|
|
27
|
-
- **EOL 6ヶ月前**: アップグレード計画開始
|
|
28
|
-
- **EOL 3ヶ月前**: アップグレード実施推奨
|
|
29
|
-
- **EOL到達**: 緊急アップグレード必須
|
|
30
|
-
|
|
31
|
-
## バージョン確認方法
|
|
32
|
-
|
|
33
|
-
### Node.js
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
# 現在のLTSバージョン確認
|
|
37
|
-
curl -s https://nodejs.org/dist/index.json | jq '[.[] | select(.lts != false)] | .[0]'
|
|
38
|
-
|
|
39
|
-
# ローカルバージョン確認
|
|
40
|
-
node --version
|
|
41
|
-
|
|
42
|
-
# nvm使用時の最新LTS
|
|
43
|
-
nvm ls-remote --lts | tail -1
|
|
44
|
-
|
|
45
|
-
# LTSスケジュール確認
|
|
46
|
-
# https://nodejs.org/en/about/releases/
|
|
47
|
-
# - 偶数バージョン(18, 20, 22): LTS
|
|
48
|
-
# - 奇数バージョン(19, 21): Current(短期サポート)
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
**LTS例:**
|
|
52
|
-
- Node.js 18.x: EOL 2025-04-30
|
|
53
|
-
- Node.js 20.x: EOL 2026-04-30
|
|
54
|
-
- Node.js 22.x: EOL 2027-04-30
|
|
55
|
-
|
|
56
|
-
### Python
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
# 公式リリーススケジュール
|
|
60
|
-
# https://devguide.python.org/versions/
|
|
61
|
-
|
|
62
|
-
# ローカルバージョン確認
|
|
63
|
-
python --version
|
|
64
|
-
python3 --version
|
|
65
|
-
|
|
66
|
-
# pyenv使用時
|
|
67
|
-
pyenv install --list | grep -E '^\s+3\.'
|
|
68
|
-
pyenv install --list | grep -v '[a-zA-Z]' | grep '^\s+3\.' | tail -5
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
**LTS例:**
|
|
72
|
-
- Python 3.9: EOL 2025-10
|
|
73
|
-
- Python 3.10: EOL 2026-10
|
|
74
|
-
- Python 3.11: EOL 2027-10
|
|
75
|
-
- Python 3.12: EOL 2028-10
|
|
76
|
-
|
|
77
|
-
### Java
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
# LTSバージョン: 8, 11, 17, 21
|
|
81
|
-
java -version
|
|
82
|
-
|
|
83
|
-
# SDKMAN使用時
|
|
84
|
-
sdk list java | grep -E '(8|11|17|21)\.'
|
|
85
|
-
|
|
86
|
-
# OpenJDK LTS確認
|
|
87
|
-
# https://openjdk.org/
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
**LTS例:**
|
|
91
|
-
- Java 8: 長期サポート(ベンダーにより異なる)
|
|
92
|
-
- Java 11: EOL 2026-09 (Oracle)
|
|
93
|
-
- Java 17: EOL 2029-09 (Oracle)
|
|
94
|
-
- Java 21: EOL 2031-09 (Oracle)
|
|
95
|
-
|
|
96
|
-
### Spring Boot
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
# 公式サポート状況確認
|
|
100
|
-
# https://spring.io/projects/spring-boot#support
|
|
101
|
-
|
|
102
|
-
# 現在のバージョン確認
|
|
103
|
-
./gradlew dependencies | grep spring-boot
|
|
104
|
-
|
|
105
|
-
# または pom.xml / build.gradle から確認
|
|
106
|
-
grep 'spring-boot' pom.xml
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
**サポート例:**
|
|
110
|
-
- Spring Boot 2.7.x: OSS support ended 2023-11-18
|
|
111
|
-
- Spring Boot 3.0.x: OSS support ended 2023-11-24
|
|
112
|
-
- Spring Boot 3.1.x: OSS support ended 2024-05-18
|
|
113
|
-
- Spring Boot 3.2.x: OSS support until 2025-02-23
|
|
114
|
-
- Spring Boot 3.3.x: OSS support until 2025-08-23
|
|
115
|
-
|
|
116
|
-
### PHP
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
# バージョン確認
|
|
120
|
-
php --version
|
|
121
|
-
|
|
122
|
-
# サポート状況確認
|
|
123
|
-
# https://www.php.net/supported-versions.php
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
**サポート例:**
|
|
127
|
-
- PHP 8.1: Security fixes until 2024-11-25
|
|
128
|
-
- PHP 8.2: Security fixes until 2025-12-08
|
|
129
|
-
- PHP 8.3: Security fixes until 2026-11-23
|
|
130
|
-
|
|
131
|
-
### その他フレームワーク
|
|
132
|
-
|
|
133
|
-
| 技術 | LTS確認方法 |
|
|
134
|
-
|------|-----------|
|
|
135
|
-
| React | GitHub releases確認 (https://github.com/facebook/react/releases) |
|
|
136
|
-
| Vue.js | https://v3.vuejs.org/guide/migration/introduction.html |
|
|
137
|
-
| Angular | https://angular.io/guide/releases |
|
|
138
|
-
| Rails | https://rubyonrails.org/ |
|
|
139
|
-
| Django | https://www.djangoproject.com/download/ |
|
|
140
|
-
|
|
141
|
-
## アップグレード判断基準
|
|
142
|
-
|
|
143
|
-
### 即時アップグレード推奨(Critical)
|
|
144
|
-
|
|
145
|
-
- ⚠️ セキュリティ脆弱性(CVE)が公開された場合
|
|
146
|
-
- ⚠️ EOLまで3ヶ月以内
|
|
147
|
-
- ⚠️ 重大なバグ修正リリース
|
|
148
|
-
|
|
149
|
-
### 計画的アップグレード(Warning)
|
|
150
|
-
|
|
151
|
-
- 📅 新LTSリリース後6ヶ月以内に計画開始
|
|
152
|
-
- 📅 メジャーバージョンアップは十分なテスト期間確保
|
|
153
|
-
- 📅 EOLまで6ヶ月〜3ヶ月
|
|
154
|
-
|
|
155
|
-
### アップグレード見送り可(Info)
|
|
156
|
-
|
|
157
|
-
- ✅ マイナーバージョン差(例: 3.2.1 → 3.2.3)
|
|
158
|
-
- ✅ 新機能のみのリリース(セキュリティパッチなし)
|
|
159
|
-
- ✅ 現行バージョンが最新LTS
|
|
160
|
-
|
|
161
|
-
## EOLチェックツール
|
|
162
|
-
|
|
163
|
-
### endoflife.date(推奨)
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
# Web API経由でEOL情報を取得
|
|
167
|
-
curl -s https://endoflife.date/api/nodejs.json | jq '.[] | select(.eol | contains("2025"))'
|
|
168
|
-
curl -s https://endoflife.date/api/python.json | jq '.[] | select(.eol | contains("2025"))'
|
|
169
|
-
curl -s https://endoflife.date/api/java.json | jq '.[] | select(.eol | contains("2025"))'
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### 各プロジェクト公式
|
|
173
|
-
|
|
174
|
-
| 言語/FW | EOL情報URL |
|
|
175
|
-
|---------|-----------|
|
|
176
|
-
| Node.js | https://nodejs.org/en/about/releases/ |
|
|
177
|
-
| Python | https://devguide.python.org/versions/ |
|
|
178
|
-
| Java | https://www.oracle.com/java/technologies/java-se-support-roadmap.html |
|
|
179
|
-
| PHP | https://www.php.net/supported-versions.php |
|
|
180
|
-
| Ruby | https://www.ruby-lang.org/en/downloads/branches/ |
|
|
181
|
-
|
|
182
|
-
## アップグレードパスの設計
|
|
183
|
-
|
|
184
|
-
### メジャーバージョンアップ(例: Node.js 16 → 20)
|
|
185
|
-
|
|
186
|
-
```
|
|
187
|
-
Phase 1: 調査(1週間)
|
|
188
|
-
- Breaking changesの確認
|
|
189
|
-
- 依存パッケージの互換性確認
|
|
190
|
-
- テスト計画策定
|
|
191
|
-
|
|
192
|
-
Phase 2: 開発環境移行(1週間)
|
|
193
|
-
- Node.js 20インストール
|
|
194
|
-
- ローカルテスト実行
|
|
195
|
-
- 問題の洗い出しと修正
|
|
196
|
-
|
|
197
|
-
Phase 3: ステージング環境移行(1週間)
|
|
198
|
-
- CI/CD設定変更
|
|
199
|
-
- E2Eテスト実行
|
|
200
|
-
- パフォーマンステスト
|
|
201
|
-
|
|
202
|
-
Phase 4: 本番環境移行(1週間)
|
|
203
|
-
- ブルーグリーンデプロイメント
|
|
204
|
-
- モニタリング強化
|
|
205
|
-
- ロールバック準備
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### マイナーバージョンアップ(例: 3.10.1 → 3.10.8)
|
|
209
|
-
|
|
210
|
-
```
|
|
211
|
-
即座に実施可能:
|
|
212
|
-
1. ローカルでテスト
|
|
213
|
-
2. CI/CD通過確認
|
|
214
|
-
3. 本番デプロイ
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
## CI/CDへの組み込み
|
|
218
|
-
|
|
219
|
-
### GitHub Actions 例
|
|
220
|
-
|
|
221
|
-
```yaml
|
|
222
|
-
name: Version Audit
|
|
223
|
-
|
|
224
|
-
on:
|
|
225
|
-
schedule:
|
|
226
|
-
- cron: '0 0 * * 1' # 毎週月曜日
|
|
227
|
-
workflow_dispatch:
|
|
228
|
-
|
|
229
|
-
jobs:
|
|
230
|
-
version-audit:
|
|
231
|
-
runs-on: ubuntu-latest
|
|
232
|
-
steps:
|
|
233
|
-
- uses: actions/checkout@v2
|
|
234
|
-
|
|
235
|
-
- name: Check Node.js version
|
|
236
|
-
run: |
|
|
237
|
-
CURRENT=$(node --version | sed 's/v//')
|
|
238
|
-
LATEST_LTS=$(curl -s https://nodejs.org/dist/index.json | jq -r '[.[] | select(.lts != false)] | .[0].version' | sed 's/v//')
|
|
239
|
-
echo "Current: $CURRENT"
|
|
240
|
-
echo "Latest LTS: $LATEST_LTS"
|
|
241
|
-
if [ "$CURRENT" != "$LATEST_LTS" ]; then
|
|
242
|
-
echo "⚠️ Node.js update available: $CURRENT → $LATEST_LTS"
|
|
243
|
-
fi
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
## 参考資料
|
|
247
|
-
|
|
248
|
-
- [endoflife.date](https://endoflife.date/) - 複数技術のEOL情報
|
|
249
|
-
- [Node.js Releases](https://nodejs.org/en/about/releases/)
|
|
250
|
-
- [Python EOL](https://devguide.python.org/versions/)
|
|
251
|
-
- [Java SE Support Roadmap](https://www.oracle.com/java/technologies/java-se-support-roadmap.html)
|
|
252
|
-
- [PHP Supported Versions](https://www.php.net/supported-versions.php)
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
globs:
|
|
3
|
-
- "src/**/*"
|
|
4
|
-
- "scripts/**/*"
|
|
5
|
-
- "test/**/*"
|
|
6
|
-
- "tests/**/*"
|
|
7
|
-
alwaysApply: false
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Code Generation Size Monitoring
|
|
11
|
-
|
|
12
|
-
PROACTIVELY: /michi:spec-impl の各タスク完了後に使用。
|
|
13
|
-
|
|
14
|
-
## Reference
|
|
15
|
-
@templates/claude-agent/rules/code-size-rules.md
|
|
16
|
-
|
|
17
|
-
## Execution Timing
|
|
18
|
-
1. 各sub-task完了後
|
|
19
|
-
2. コミット前
|
|
20
|
-
3. 長時間のコーディングセッション中(3-5ファイル変更ごと)
|
|
21
|
-
|
|
22
|
-
## Actions on Threshold Exceeded
|
|
23
|
-
500行超過時:
|
|
24
|
-
A) 現在の変更でPRを作成する(推奨)
|
|
25
|
-
B) 作業を続行する(警告付き)
|
|
26
|
-
C) 分割戦略を提案してもらう
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Code Size Rules
|
|
2
|
-
|
|
3
|
-
## Threshold
|
|
4
|
-
|
|
5
|
-
| Metric | Value |
|
|
6
|
-
|--------|-------|
|
|
7
|
-
| Maximum Diff Lines | 500 lines |
|
|
8
|
-
| Warning Threshold | 400 lines |
|
|
9
|
-
|
|
10
|
-
## Target Paths
|
|
11
|
-
- src/
|
|
12
|
-
- scripts/
|
|
13
|
-
- test/
|
|
14
|
-
- tests/
|
|
15
|
-
|
|
16
|
-
## Exclusion Patterns (Lock Files)
|
|
17
|
-
- package-lock.json, yarn.lock, pnpm-lock.yaml
|
|
18
|
-
- composer.lock, Gemfile.lock, poetry.lock, Pipfile.lock
|
|
19
|
-
- Cargo.lock, go.sum
|
|
20
|
-
|
|
21
|
-
## Exclusion Patterns (Generated Files)
|
|
22
|
-
- *.min.js, *.min.css, *.map
|
|
23
|
-
- dist/*, build/*, coverage/*, .next/*
|
|
24
|
-
- *.d.ts, *.generated.ts, `__snapshots__/*`
|
|
25
|
-
|
|
26
|
-
## Status Indicators
|
|
27
|
-
|
|
28
|
-
| Status | Condition |
|
|
29
|
-
|--------|-----------|
|
|
30
|
-
| ✅ OK | diff < 400 lines |
|
|
31
|
-
| ⚠️ Warning | 400 <= diff < 500 lines |
|
|
32
|
-
| ❌ Exceeded | diff >= 500 lines |
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# Michi cc-sdd-overrides
|
|
2
|
-
|
|
3
|
-
このディレクトリは、cc-sddツールが生成する汎用テンプレートに対する、Michi固有のカスタマイズを管理します。
|
|
4
|
-
|
|
5
|
-
## 目的
|
|
6
|
-
|
|
7
|
-
- **問題**: cc-sddが生成する`.kiro/settings/`はGit管理外だが、Michi固有のカスタマイズ(日本語、Phase A/B、JIRA/Confluence連携)が必要
|
|
8
|
-
- **解決**: Michi固有の差分をこのディレクトリで管理し、`setup-existing`実行時に適用
|
|
9
|
-
|
|
10
|
-
## ディレクトリ構造
|
|
11
|
-
|
|
12
|
-
```
|
|
13
|
-
cc-sdd-overrides/
|
|
14
|
-
└── settings/
|
|
15
|
-
├── rules/
|
|
16
|
-
│ └── design-review-michi.md # Michi固有の設計レビュールール
|
|
17
|
-
└── templates/
|
|
18
|
-
└── specs/
|
|
19
|
-
├── tasks.md # Michi固有のタスクテンプレート
|
|
20
|
-
└── init.json # 日本語デフォルト設定
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Michi固有の要素
|
|
24
|
-
|
|
25
|
-
### design-review-michi.md
|
|
26
|
-
- cc-sdd 標準の `design-review.md` を拡張
|
|
27
|
-
- Phase 0.3-0.4(テスト計画)の準備状況評価を追加
|
|
28
|
-
- Testing Strategy セクションの詳細度、トレーサビリティ、非機能要件への対応を評価
|
|
29
|
-
- `/michi:validate-design` コマンドで使用
|
|
30
|
-
|
|
31
|
-
### tasks.md
|
|
32
|
-
- 日本語で記述
|
|
33
|
-
- Michiワークフロー(Phase 0.1-0.4, Phase 1-5, Phase A, Phase B)
|
|
34
|
-
- JIRA連携(ラベル: `spec-init`, `requirements`, `design`, `phase-a`, `phase-b`等)
|
|
35
|
-
- Confluence連携(リリース手順書、完了報告)
|
|
36
|
-
- `michi-cli`コマンド参照
|
|
37
|
-
|
|
38
|
-
### init.json
|
|
39
|
-
- `"language": "ja"` - 日本語をデフォルト言語として設定
|
|
40
|
-
|
|
41
|
-
## 適用タイミング
|
|
42
|
-
|
|
43
|
-
`setup-existing`コマンド実行時、以下の順序で処理:
|
|
44
|
-
|
|
45
|
-
1. cc-sddが汎用テンプレートを生成 → `.kiro/settings/`
|
|
46
|
-
2. Michiがオーバーライドを適用 ← `templates/michi/cc-sdd-overrides/`
|
|
47
|
-
|
|
48
|
-
結果として、`.kiro/settings/templates/specs/tasks.md`がMichi固有版に上書きされます。
|
|
49
|
-
|
|
50
|
-
## Git管理
|
|
51
|
-
|
|
52
|
-
- このディレクトリ(`templates/michi/cc-sdd-overrides/`): **Git管理対象**
|
|
53
|
-
- 生成先(`.kiro/settings/`): **Git管理外**(`.gitignore`に含まれる)
|
|
54
|
-
|
|
55
|
-
## 参考
|
|
56
|
-
|
|
57
|
-
- [cc-sdd公式リポジトリ](https://github.com/gotalab/cc-sdd)
|
|
58
|
-
- [setup-existingコマンド実装](../../../src/commands/setup-existing.ts)
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Michi Extension: Design Review with Test Planning Readiness
|
|
2
|
-
|
|
3
|
-
> **Michi 固有拡張**: この設計レビュールールは cc-sdd 標準の `design-review.md` を拡張し、Michi 固有のテスト計画準備状況評価を追加します。
|
|
4
|
-
|
|
5
|
-
## Base Rules Reference
|
|
6
|
-
@.kiro/settings/rules/design-review.md
|
|
7
|
-
|
|
8
|
-
## Additional Review Criteria
|
|
9
|
-
|
|
10
|
-
### 5. Testing Strategy Readiness (Michi Extension)
|
|
11
|
-
|
|
12
|
-
設計レビュー時に、Phase 0.3-0.4(テスト計画)の準備状況も確認してください:
|
|
13
|
-
|
|
14
|
-
#### 評価ポイント
|
|
15
|
-
|
|
16
|
-
- [ ] **Testing Strategy セクションの詳細度**: Phase 0.3 のテストタイプ選択を支援できる十分な詳細を含むか
|
|
17
|
-
- 各テストタイプ(単体/統合/E2E/パフォーマンス/セキュリティ)の必要性が検討されているか
|
|
18
|
-
- テストシナリオが具体的に記述されているか
|
|
19
|
-
- テスト対象コンポーネントが明確か
|
|
20
|
-
|
|
21
|
-
- [ ] **トレーサビリティ**: テストシナリオが requirements.md のトレーサビリティと整合しているか
|
|
22
|
-
- 各要件に対応するテストシナリオが存在するか
|
|
23
|
-
- 要件IDとテストシナリオの紐付けが明確か
|
|
24
|
-
|
|
25
|
-
- [ ] **非機能要件への対応**: パフォーマンス/セキュリティテストの必要性が検討されているか
|
|
26
|
-
- 高負荷が予想されるシステムでパフォーマンステストが計画されているか
|
|
27
|
-
- 機密データを扱うシステムでセキュリティテストが計画されているか
|
|
28
|
-
- 外部公開APIでセキュリティテストが計画されているか
|
|
29
|
-
|
|
30
|
-
#### 判定基準
|
|
31
|
-
|
|
32
|
-
**GO 判定の条件**:
|
|
33
|
-
- Testing Strategy セクションが Phase 0.3 のテストタイプ選択に必要な情報を提供している
|
|
34
|
-
- テストシナリオが要件とトレーサブルである
|
|
35
|
-
- 非機能要件に対するテスト計画が適切に検討されている
|
|
36
|
-
|
|
37
|
-
**NO-GO 判定の条件**:
|
|
38
|
-
- Testing Strategy セクションが不足または不明確
|
|
39
|
-
- テストシナリオと要件の紐付けが不明確
|
|
40
|
-
- 明らかに必要な非機能テスト(パフォーマンス/セキュリティ)が検討されていない
|
|
41
|
-
|
|
42
|
-
#### レビュー後の推奨アクション
|
|
43
|
-
|
|
44
|
-
設計が承認された場合(GO Decision):
|
|
45
|
-
1. Phase 0.3: テストタイプの選択を実施
|
|
46
|
-
2. Phase 0.4: テスト仕様書の作成を実施
|
|
47
|
-
3. Phase 0.5: タスク分割(`/michi:spec-tasks`)に進む
|
|
48
|
-
|
|
49
|
-
詳細は [テスト計画フロー](docs/user-guide/testing/test-planning-flow.md) を参照してください。
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
**使用方法**: この拡張ルールを適用するには、`/michi:validate-design` コマンドを使用してください。
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"feature_name": "{{FEATURE_NAME}}",
|
|
3
|
-
"created_at": "{{TIMESTAMP}}",
|
|
4
|
-
"updated_at": "{{TIMESTAMP}}",
|
|
5
|
-
"language": "ja",
|
|
6
|
-
"phase": "initialized",
|
|
7
|
-
"approvals": {
|
|
8
|
-
"requirements": {
|
|
9
|
-
"generated": false,
|
|
10
|
-
"approved": false
|
|
11
|
-
},
|
|
12
|
-
"design": {
|
|
13
|
-
"generated": false,
|
|
14
|
-
"approved": false
|
|
15
|
-
},
|
|
16
|
-
"tasks": {
|
|
17
|
-
"generated": false,
|
|
18
|
-
"approved": false
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"ready_for_implementation": false
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|