@sk8metal/michi-cli 0.1.0 → 0.2.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 +17 -0
- package/README.md +1 -0
- package/dist/scripts/__tests__/validate-phase.test.js +83 -0
- package/dist/scripts/__tests__/validate-phase.test.js.map +1 -1
- package/dist/scripts/config/config-schema.d.ts +14 -0
- package/dist/scripts/config/config-schema.d.ts.map +1 -1
- package/dist/scripts/config/config-schema.js +9 -0
- package/dist/scripts/config/config-schema.js.map +1 -1
- package/dist/scripts/phase-runner.d.ts.map +1 -1
- package/dist/scripts/phase-runner.js +2 -2
- package/dist/scripts/phase-runner.js.map +1 -1
- package/dist/scripts/validate-phase.d.ts.map +1 -1
- package/dist/scripts/validate-phase.js +18 -3
- package/dist/scripts/validate-phase.js.map +1 -1
- package/dist/src/__tests__/integration/setup/claude.test.js +82 -0
- package/dist/src/__tests__/integration/setup/claude.test.js.map +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +1 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/setup-existing.d.ts +1 -0
- package/dist/src/commands/setup-existing.d.ts.map +1 -1
- package/dist/src/commands/setup-existing.js +33 -0
- package/dist/src/commands/setup-existing.js.map +1 -1
- package/docs/user-guide/guides/agent-skills-integration.md +217 -0
- package/docs/user-guide/guides/customization.md +2 -2
- package/docs/user-guide/guides/multi-project.md +2 -2
- package/docs/user-guide/guides/phase-automation.md +25 -25
- package/docs/user-guide/guides/workflow.md +8 -20
- package/docs/user-guide/reference/config.md +2 -2
- package/docs/user-guide/reference/tasks-template.md +2 -2
- package/docs/user-guide/testing/test-planning-flow.md +1 -1
- package/package.json +2 -3
- package/scripts/__tests__/validate-phase.test.ts +100 -0
- package/scripts/config/config-schema.ts +11 -0
- package/scripts/phase-runner.ts +12 -3
- package/scripts/validate-phase.ts +21 -3
- package/templates/claude/agents/design-reviewer/AGENT.md +497 -0
- package/templates/claude/agents/e2e-first-planner/AGENT.md +410 -0
- package/templates/claude/agents/oss-license-checker/AGENT.md +265 -0
- package/templates/claude/agents/pr-resolver/AGENT.md +196 -0
- package/templates/claude/agents/stable-version-auditor/AGENT.md +279 -0
- package/templates/claude/commands/kiro/kiro-spec-impl.md +13 -4
- package/templates/claude/commands/kiro/kiro-spec-tasks.md +17 -3
- package/templates/claude/commands/michi/design-review.md +66 -0
- package/templates/claude/commands/michi/e2e-plan.md +113 -0
- package/templates/claude/commands/michi/license-check.md +80 -0
- package/templates/claude/commands/michi/pr-resolve.md +153 -0
- package/templates/claude/commands/michi/version-audit.md +91 -0
- package/templates/claude/skills/design-review/SKILL.md +648 -0
- package/templates/claude/skills/e2e-first-planning/SKILL.md +360 -0
- package/templates/claude/skills/oss-license/SKILL.md +232 -0
- package/templates/claude/skills/stable-version/SKILL.md +252 -0
|
@@ -0,0 +1,252 @@
|
|
|
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)
|