@k2works/claude-code-booster 0.1.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/LICENSE +21 -0
- package/README.md +28 -0
- package/bin/claude-code-booster +28 -0
- package/lib/assets/.claude/.mcp.json +45 -0
- package/lib/assets/.claude/README.md +169 -0
- package/lib/assets/.claude/agents/roles/analyzer.md +267 -0
- package/lib/assets/.claude/agents/roles/architect.md +233 -0
- package/lib/assets/.claude/agents/roles/backend.md +303 -0
- package/lib/assets/.claude/agents/roles/frontend.md +294 -0
- package/lib/assets/.claude/agents/roles/mobile.md +309 -0
- package/lib/assets/.claude/agents/roles/performance.md +254 -0
- package/lib/assets/.claude/agents/roles/qa.md +266 -0
- package/lib/assets/.claude/agents/roles/reviewer.md +252 -0
- package/lib/assets/.claude/agents/roles/security.md +392 -0
- package/lib/assets/.claude/assets/confirm.mp3 +0 -0
- package/lib/assets/.claude/assets/perfect.mp3 +0 -0
- package/lib/assets/.claude/assets/silent.wav +0 -0
- package/lib/assets/.claude/commands/analyze-dependencies.md +158 -0
- package/lib/assets/.claude/commands/analyze-performance.md +116 -0
- package/lib/assets/.claude/commands/check-fact.md +104 -0
- package/lib/assets/.claude/commands/check-github-ci.md +53 -0
- package/lib/assets/.claude/commands/check-prompt.md +461 -0
- package/lib/assets/.claude/commands/commit-message.md +348 -0
- package/lib/assets/.claude/commands/context7.md +50 -0
- package/lib/assets/.claude/commands/design-patterns.md +186 -0
- package/lib/assets/.claude/commands/explain-code.md +75 -0
- package/lib/assets/.claude/commands/fix-error.md +258 -0
- package/lib/assets/.claude/commands/multi-role.md +291 -0
- package/lib/assets/.claude/commands/plan.md +134 -0
- package/lib/assets/.claude/commands/pr-auto-update.md +460 -0
- package/lib/assets/.claude/commands/pr-create.md +249 -0
- package/lib/assets/.claude/commands/pr-feedback.md +143 -0
- package/lib/assets/.claude/commands/pr-issue.md +78 -0
- package/lib/assets/.claude/commands/pr-list.md +66 -0
- package/lib/assets/.claude/commands/pr-review.md +142 -0
- package/lib/assets/.claude/commands/refactor.md +147 -0
- package/lib/assets/.claude/commands/role-debate.md +571 -0
- package/lib/assets/.claude/commands/role-help.md +276 -0
- package/lib/assets/.claude/commands/role.md +360 -0
- package/lib/assets/.claude/commands/screenshot.md +103 -0
- package/lib/assets/.claude/commands/search-gemini.md +66 -0
- package/lib/assets/.claude/commands/semantic-commit.md +1129 -0
- package/lib/assets/.claude/commands/sequential-thinking.md +90 -0
- package/lib/assets/.claude/commands/show-plan.md +59 -0
- package/lib/assets/.claude/commands/smart-review.md +174 -0
- package/lib/assets/.claude/commands/spec.md +559 -0
- package/lib/assets/.claude/commands/style-ai-writing.md +186 -0
- package/lib/assets/.claude/commands/task.md +223 -0
- package/lib/assets/.claude/commands/tech-debt.md +87 -0
- package/lib/assets/.claude/commands/ultrathink.md +65 -0
- package/lib/assets/.claude/commands/update-dart-doc.md +202 -0
- package/lib/assets/.claude/commands/update-doc-string.md +306 -0
- package/lib/assets/.claude/commands/update-flutter-deps.md +105 -0
- package/lib/assets/.claude/commands/update-node-deps.md +105 -0
- package/lib/assets/.claude/commands/update-rust-deps.md +107 -0
- package/lib/assets/.claude/scripts/auto-comment.sh +16 -0
- package/lib/assets/.claude/scripts/check-ai-commit.sh +20 -0
- package/lib/assets/.claude/scripts/check-continue.sh +97 -0
- package/lib/assets/.claude/scripts/check-locales.sh +1080 -0
- package/lib/assets/.claude/scripts/check-project-plan.sh +25 -0
- package/lib/assets/.claude/scripts/debug-hook.sh +7 -0
- package/lib/assets/.claude/scripts/deny-check.sh +69 -0
- package/lib/assets/.claude/scripts/install.sh +174 -0
- package/lib/assets/.claude/scripts/ja-space-exclusions.json +18 -0
- package/lib/assets/.claude/scripts/ja-space-format.sh +45 -0
- package/lib/assets/.claude/scripts/preserve-file-permissions.sh +83 -0
- package/lib/assets/.claude/scripts/statusline.sh +153 -0
- package/lib/assets/.claude/settings.json +164 -0
- package/lib/assets/.claude/settings.local.json +14 -0
- package/lib/assets/.github/workflows/mkdocs.yml +32 -0
- package/lib/assets/CLAUDE.md +319 -0
- package/lib/assets/Dockerfile +77 -0
- package/lib/assets/README.md +51 -0
- package/lib/assets/app/.gitkeep +0 -0
- package/lib/assets/docker-compose.yml +22 -0
- package/lib/assets/docs/Dockerfile +19 -0
- package/lib/assets/docs/adr/.gitkeep +0 -0
- package/lib/assets/docs/assets/css/extra.css +30 -0
- package/lib/assets/docs/assets/js/extra.js +45 -0
- package/lib/assets/docs/design/.gitkeep +0 -0
- package/lib/assets/docs/development/.gitkeep +0 -0
- package/lib/assets/docs/index.md +13 -0
- package/lib/assets/docs/operation/.gitkeep +0 -0
- package/lib/assets/docs/reference/.gitkeep +0 -0
- package/lib/assets/docs/reference//343/202/210/343/201/204/343/202/275/343/203/225/343/203/210/343/202/246/343/202/247/343/202/242/343/201/250/343/201/257.md +220 -0
- package/lib/assets/docs/reference//343/202/242/343/202/270/343/203/243/343/202/244/343/203/253/343/201/252/350/246/213/347/251/215/343/201/250/350/250/210/347/224/273/343/201/245/343/201/217/343/202/212.md +789 -0
- package/lib/assets/docs/reference//343/202/250/343/202/257/343/202/271/343/203/210/343/203/252/343/203/274/343/203/240/343/203/227/343/203/255/343/202/260/343/203/251/343/203/237/343/203/263/343/202/260.md +554 -0
- package/lib/assets/docs/reference//350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +1249 -0
- package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +556 -0
- package/lib/assets/docs/requirements/.gitkeep +0 -0
- package/lib/assets/docs/template/.gitkeep +0 -0
- package/lib/assets/docs/template/ADR.md +30 -0
- package/lib/assets/docs/template/README.md +50 -0
- package/lib/assets/docs/template//343/201/276/343/201/232/343/201/223/343/202/214/343/202/222/350/252/255/343/202/202/343/201/206/343/203/252/343/202/271/343/203/210.md +12 -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/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +59 -0
- package/lib/assets/docs/template//343/202/244/343/203/263/343/202/273/343/203/227/343/202/267/343/203/247/343/203/263/343/203/207/343/203/203/343/202/255.md +13 -0
- package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +646 -0
- package/lib/assets/docs/template//350/250/255/350/250/210.md +164 -0
- package/lib/assets/gulpfile.js +18 -0
- package/lib/assets/mkdocs.yml +59 -0
- package/lib/assets/package-lock.json +3960 -0
- package/lib/assets/package.json +31 -0
- package/lib/assets/scripts/journal.js +170 -0
- package/lib/assets/scripts/mkdocs.js +59 -0
- package/lib/gulpfile.js +37 -0
- package/main.js +0 -0
- package/package.json +39 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cleanupPeriodDays": 30,
|
|
3
|
+
"env": {
|
|
4
|
+
"BASH_DEFAULT_TIMEOUT_MS": "600000",
|
|
5
|
+
"BASH_MAX_TIMEOUT_MS": "600000",
|
|
6
|
+
"CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR": "true",
|
|
7
|
+
"SHELL": "/opt/homebrew/bin/zsh"
|
|
8
|
+
},
|
|
9
|
+
"includeCoAuthoredBy": false,
|
|
10
|
+
"permissions": {
|
|
11
|
+
"allow": [
|
|
12
|
+
"Bash(*)",
|
|
13
|
+
"Edit(**)",
|
|
14
|
+
"Glob(**)",
|
|
15
|
+
"GlobTool(**)",
|
|
16
|
+
"Grep(**)",
|
|
17
|
+
"GrepTool(**)",
|
|
18
|
+
"LS(**)",
|
|
19
|
+
"MultiEdit(**)",
|
|
20
|
+
"Read(**)",
|
|
21
|
+
"TodoRead()",
|
|
22
|
+
"TodoWrite(**)",
|
|
23
|
+
"WebFetch(domain:*)",
|
|
24
|
+
"WebSearch(**)",
|
|
25
|
+
"Write(**)"
|
|
26
|
+
],
|
|
27
|
+
"deny": [
|
|
28
|
+
"Bash(* | bash)",
|
|
29
|
+
"Bash(* | sh)",
|
|
30
|
+
"Bash(:(){ :|:& };:)",
|
|
31
|
+
"Bash(> /dev/sda*)",
|
|
32
|
+
"Bash(apt-get install*)",
|
|
33
|
+
"Bash(brew install*)",
|
|
34
|
+
"Bash(bundle install*)",
|
|
35
|
+
"Bash(chmod -R 777*)",
|
|
36
|
+
"Bash(chmod 777*)",
|
|
37
|
+
"Bash(chown -R*)",
|
|
38
|
+
"Bash(dd*)",
|
|
39
|
+
"Bash(format*)",
|
|
40
|
+
"Bash(gem install*)",
|
|
41
|
+
"Bash(gh api --method DELETE*)",
|
|
42
|
+
"Bash(gh auth logout*)",
|
|
43
|
+
"Bash(gh auth refresh*)",
|
|
44
|
+
"Bash(gh gist create*)",
|
|
45
|
+
"Bash(gh gist delete*)",
|
|
46
|
+
"Bash(gh gpg-key add*)",
|
|
47
|
+
"Bash(gh gpg-key delete*)",
|
|
48
|
+
"Bash(gh release create*)",
|
|
49
|
+
"Bash(gh release delete*)",
|
|
50
|
+
"Bash(gh release upload*)",
|
|
51
|
+
"Bash(gh repo archive*)",
|
|
52
|
+
"Bash(gh repo clone*)",
|
|
53
|
+
"Bash(gh repo create*)",
|
|
54
|
+
"Bash(gh repo delete*)",
|
|
55
|
+
"Bash(gh repo deploy-key*)",
|
|
56
|
+
"Bash(gh repo edit*)",
|
|
57
|
+
"Bash(gh repo fork*)",
|
|
58
|
+
"Bash(gh repo rename*)",
|
|
59
|
+
"Bash(gh repo sync*)",
|
|
60
|
+
"Bash(gh repo unarchive*)",
|
|
61
|
+
"Bash(gh secret delete*)",
|
|
62
|
+
"Bash(gh secret set*)",
|
|
63
|
+
"Bash(gh ssh-key add*)",
|
|
64
|
+
"Bash(gh ssh-key delete*)",
|
|
65
|
+
"Bash(gh workflow disable*)",
|
|
66
|
+
"Bash(gh workflow enable*)",
|
|
67
|
+
"Bash(gh workflow run:*)",
|
|
68
|
+
"Bash(git checkout*)",
|
|
69
|
+
"Bash(git config*)",
|
|
70
|
+
"Bash(git rebase*)",
|
|
71
|
+
"Bash(git reset --hard*)",
|
|
72
|
+
"Bash(git restore*)",
|
|
73
|
+
"Bash(mkfs*)",
|
|
74
|
+
"Bash(npm install -g*)",
|
|
75
|
+
"Bash(pip install*)",
|
|
76
|
+
"Bash(rm -rf ../*)",
|
|
77
|
+
"Bash(rm -rf /)",
|
|
78
|
+
"Bash(rm -rf /*)",
|
|
79
|
+
"Bash(rm -rf ~/*)",
|
|
80
|
+
"Bash(sudo*)",
|
|
81
|
+
"Bash(yum install*)"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"hooks": {
|
|
85
|
+
"PreToolUse": [
|
|
86
|
+
{
|
|
87
|
+
"matcher": "Bash",
|
|
88
|
+
"hooks": [
|
|
89
|
+
{
|
|
90
|
+
"type": "command",
|
|
91
|
+
"command": "~/.claude/scripts/deny-check.sh"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"type": "command",
|
|
95
|
+
"command": "~/.claude/scripts/check-ai-commit.sh"
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"matcher": "Write|Edit|MultiEdit",
|
|
101
|
+
"hooks": [
|
|
102
|
+
{
|
|
103
|
+
"type": "command",
|
|
104
|
+
"command": "~/.claude/scripts/preserve-file-permissions.sh"
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"PostToolUse": [
|
|
110
|
+
{
|
|
111
|
+
"matcher": "Edit|Write|MultiEdit",
|
|
112
|
+
"hooks": [
|
|
113
|
+
{
|
|
114
|
+
"type": "command",
|
|
115
|
+
"command": "~/.claude/scripts/ja-space-format.sh"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"type": "command",
|
|
119
|
+
"command": "~/.claude/scripts/auto-comment.sh"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"matcher": "Edit|Write|MultiEdit",
|
|
125
|
+
"hooks": [
|
|
126
|
+
{
|
|
127
|
+
"type": "command",
|
|
128
|
+
"command": "~/.claude/scripts/preserve-file-permissions.sh"
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
"Notification": [
|
|
134
|
+
{
|
|
135
|
+
"matcher": "*",
|
|
136
|
+
"hooks": [
|
|
137
|
+
{
|
|
138
|
+
"type": "command",
|
|
139
|
+
"command": "osascript -e 'display notification \"Awaiting confirmation\" with title \"Claude Code\"' && afplay -v 0.3 ~/.claude/assets/confirm.mp3"
|
|
140
|
+
}
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
"Stop": [
|
|
145
|
+
{
|
|
146
|
+
"matcher": "*",
|
|
147
|
+
"hooks": [
|
|
148
|
+
{
|
|
149
|
+
"type": "command",
|
|
150
|
+
"command": "~/.claude/scripts/check-continue.sh"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"type": "command",
|
|
154
|
+
"command": "osascript -e 'display notification \"Task completed\" with title \"Claude Code\"' && afplay -v 0.3 ~/.claude/assets/perfect.mp3"
|
|
155
|
+
}
|
|
156
|
+
]
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
"statusLine": {
|
|
161
|
+
"type": "command",
|
|
162
|
+
"command": "~/.claude/scripts/statusline.sh"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(gh repo view:*)",
|
|
5
|
+
"Bash(gh issue list:*)",
|
|
6
|
+
"mcp__byterover-mcp__byterover-store-knowledge",
|
|
7
|
+
"Bash(tree:*)",
|
|
8
|
+
"Bash(find:*)",
|
|
9
|
+
"mcp__byterover-mcp__byterover-retrieve-knowledge"
|
|
10
|
+
],
|
|
11
|
+
"deny": [],
|
|
12
|
+
"ask": []
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: Deploy MkDocs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
deploy:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout the repository
|
|
14
|
+
uses: actions/checkout@v3
|
|
15
|
+
|
|
16
|
+
- name: Use Node.js latest
|
|
17
|
+
uses: actions/setup-node@v3
|
|
18
|
+
with:
|
|
19
|
+
node-version: latest
|
|
20
|
+
cache: 'npm'
|
|
21
|
+
|
|
22
|
+
- name: Install dependencies
|
|
23
|
+
run: npm install
|
|
24
|
+
|
|
25
|
+
- name: Deploy HTML files
|
|
26
|
+
run: npm run docs:build
|
|
27
|
+
|
|
28
|
+
- name: mkdocs deploy
|
|
29
|
+
uses: peaceiris/actions-gh-pages@v3
|
|
30
|
+
with:
|
|
31
|
+
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
|
32
|
+
publish_dir: ./site
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
# AI Agent 実行ガイドライン
|
|
2
|
+
|
|
3
|
+
**最重要**:自律的に判断・実行。確認は最小限に。
|
|
4
|
+
|
|
5
|
+
## ペルソナ
|
|
6
|
+
|
|
7
|
+
あなたは**よいソフトウェア**に対する明確な考えと**よいソフトウェア**を作るための規律を持った開発経験豊富な開発者です。
|
|
8
|
+
|
|
9
|
+
よいソフトウェアについては @docs/reference/よいソフトウェアとは.md を参照してください。
|
|
10
|
+
|
|
11
|
+
よいソフトウェアについての考えと規律と経験に関する知見は @docs/reference 内を参照してください。
|
|
12
|
+
|
|
13
|
+
あなたは @docs/reference/開発ガイド.md に従いソフトウェア開発を手段として問題解決に取り組みます。
|
|
14
|
+
|
|
15
|
+
あなたは既存のソフトウエア開発のベストプラクティスと最新のAIテクノロジーを融合させることによりソフトウエア開発にイノベーションをもたらします。
|
|
16
|
+
|
|
17
|
+
## コア原則
|
|
18
|
+
|
|
19
|
+
- **即座実行** — 既存ファイルの編集は迷わず着手
|
|
20
|
+
- **大規模変更のみ確認** — 影響範囲が広い場合に限定
|
|
21
|
+
- **品質と一貫性の維持** — 自動チェックを徹底
|
|
22
|
+
- **事実確認** — 情報源を自ら確認し、憶測を事実として述べない
|
|
23
|
+
- **既存優先** — 新規作成より既存ファイルの編集を優先
|
|
24
|
+
|
|
25
|
+
## 基本設定
|
|
26
|
+
|
|
27
|
+
- 言語:日本語(技術用語は英語)
|
|
28
|
+
- スペース:日本語と半角英数字間に半角スペース
|
|
29
|
+
- 文体:ですます調、句読点は「。」「、」
|
|
30
|
+
- 絵文字:過度な絵文字の利用は避ける
|
|
31
|
+
- Cursor では `.windsurf/` を除外
|
|
32
|
+
- Windsurf では `.cursor/` を除外
|
|
33
|
+
|
|
34
|
+
### 略語解釈
|
|
35
|
+
|
|
36
|
+
- `y` = はい(Yes)
|
|
37
|
+
- `n` = いいえ(No)
|
|
38
|
+
- `c` = 続ける(Continue)
|
|
39
|
+
- `r` = 確認(Review)
|
|
40
|
+
- `u` = 元に戻す(Undo)
|
|
41
|
+
|
|
42
|
+
## 実行ルール
|
|
43
|
+
|
|
44
|
+
### 即座実行(確認不要)
|
|
45
|
+
|
|
46
|
+
- **コード操作**:バグ修正、リファクタリング、パフォーマンス改善
|
|
47
|
+
- **ファイル編集**:既存ファイルの修正・更新
|
|
48
|
+
- **ドキュメント**:README、仕様書の更新(新規作成は要求時のみ)
|
|
49
|
+
- **依存関係**:パッケージ追加・更新・削除
|
|
50
|
+
- **テスト**:単体・統合テストの実装(TDD サイクルに従う)
|
|
51
|
+
- **設定**:設定値変更、フォーマット適用
|
|
52
|
+
|
|
53
|
+
### 確認必須
|
|
54
|
+
|
|
55
|
+
- **新規ファイル作成**:必要性を説明して確認
|
|
56
|
+
- **ファイル削除**:重要ファイルの削除
|
|
57
|
+
- **構造変更**:アーキテクチャ、フォルダ構造の大規模変更
|
|
58
|
+
- **外部連携**:新 API、外部ライブラリ導入
|
|
59
|
+
- **セキュリティ**:認証・認可機能の実装
|
|
60
|
+
- **データベース**:スキーマ変更、マイグレーション
|
|
61
|
+
- **本番環境**:デプロイ設定、環境変数変更
|
|
62
|
+
|
|
63
|
+
## 実行フロー
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
1. タスク受信
|
|
67
|
+
↓
|
|
68
|
+
2. 即座実行 or 確認要求を判定
|
|
69
|
+
↓
|
|
70
|
+
3. 実行(既存パターン準拠)
|
|
71
|
+
↓
|
|
72
|
+
4. 完了報告
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## コンテキスト管理
|
|
76
|
+
|
|
77
|
+
### 純粋タスクの分離
|
|
78
|
+
|
|
79
|
+
複雑なタスクは「結果だけが重要な純粋タスク」として独立実行し、メインコンテキストを清潔に保つ。
|
|
80
|
+
|
|
81
|
+
- **純粋タスク例**: バグ修正、テスト実行、コード生成
|
|
82
|
+
- **コンテキスト整理**: 大規模な作業でコンテキストが肥大化した場合は `/compact` コマンドの使用を推奨
|
|
83
|
+
|
|
84
|
+
### コンテキストの記憶
|
|
85
|
+
|
|
86
|
+
1. ユーザー識別:
|
|
87
|
+
- あなたはdefault_userと対話していると想定してください
|
|
88
|
+
- もしdefault_userを識別していない場合は、積極的に識別を試みてください
|
|
89
|
+
2. 記憶の取得:
|
|
90
|
+
- チャット内での最初の会話開始時に「Remembering...」とだけ言って、知識グラフから関連するすべての情報を取得してください
|
|
91
|
+
- 知識グラフは常に「記憶」と呼んでください
|
|
92
|
+
- プロジェクト名をキーに関連する記憶を取得してください
|
|
93
|
+
3. 記憶:
|
|
94
|
+
- ユーザーとの会話中、以下のカテゴリに該当する新しい情報に注意を払ってください:
|
|
95
|
+
- a) 基本的なアイデンティティ(年齢、性別、場所、職業、学歴など)
|
|
96
|
+
- b) 行動(興味、習慣など)
|
|
97
|
+
- c) 好み(コミュニケーションスタイル、好みの言語など)
|
|
98
|
+
- d) 目標(目標、ターゲット、願望など)
|
|
99
|
+
- e) 人間関係(3次の隔たりまでの個人的および職業的関係)
|
|
100
|
+
- 記憶時には必ずプロジェクト名を含める
|
|
101
|
+
- プロジェクト名と合わせて関連するキーワードで記憶する
|
|
102
|
+
4. 記憶の更新:
|
|
103
|
+
- インタラクション中に新しい情報が得られた場合は、以下のように記憶を更新してください:
|
|
104
|
+
- a) 繰り返し登場する組織、人物、重要なイベントについてエンティティを作成する
|
|
105
|
+
- b) それらを関係を使って現在のエンティティに接続する
|
|
106
|
+
- c) それらに関する事実を観察として保存する
|
|
107
|
+
|
|
108
|
+
## 作業完了報告のルール
|
|
109
|
+
|
|
110
|
+
### 完了報告の種類
|
|
111
|
+
|
|
112
|
+
#### 1. 完全完了時の合い言葉
|
|
113
|
+
|
|
114
|
+
作業が完全に完了し、これ以上継続するタスクがない場合は一語一句違えずに以下を報告する:
|
|
115
|
+
|
|
116
|
+
```text
|
|
117
|
+
Simple made easy.
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**使用条件(すべて満たす必要あり)**:
|
|
121
|
+
|
|
122
|
+
- ✅ 全てのタスクが 100% 完了
|
|
123
|
+
- ✅ TODO 項目が全て完了(TodoWrite ツールで管理している TODO リストが空であること)
|
|
124
|
+
- ✅ エラーがゼロ
|
|
125
|
+
- ✅ これ以上新しい指示がない限り続けられるタスクがない
|
|
126
|
+
|
|
127
|
+
**禁止事項**:
|
|
128
|
+
|
|
129
|
+
- ❌ TODO リストに未完了タスクがある場合
|
|
130
|
+
- ❌ 「次のステップ」「残っているタスク」「現在残っている主なタスクは:」など継続予定の記述をした場合
|
|
131
|
+
- ❌ Phase や Step など段階的な作業で未完了の段階が残っている場合
|
|
132
|
+
- ❌ 自分の回答に具体的な残作業リストを明記した場合
|
|
133
|
+
|
|
134
|
+
#### 2. 部分完了時の報告
|
|
135
|
+
|
|
136
|
+
作業が部分的に完了し、続きのタスクがある場合は以下のテンプレートを使用:
|
|
137
|
+
|
|
138
|
+
```markdown
|
|
139
|
+
## 実行完了
|
|
140
|
+
|
|
141
|
+
### 変更内容
|
|
142
|
+
|
|
143
|
+
- [具体的な変更点]
|
|
144
|
+
|
|
145
|
+
### 次のステップ
|
|
146
|
+
|
|
147
|
+
- [推奨される次の作業]
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 継続必要時の動作
|
|
151
|
+
|
|
152
|
+
合い言葉の条件を満たさない場合:
|
|
153
|
+
|
|
154
|
+
- 合い言葉は使用しない
|
|
155
|
+
- 進捗状況と次のアクションを明示
|
|
156
|
+
- 残タスクがある場合は明確に伝える
|
|
157
|
+
|
|
158
|
+
## 開発手法
|
|
159
|
+
|
|
160
|
+
### TDD サイクル
|
|
161
|
+
|
|
162
|
+
開発時は Test-Driven Development (TDD) のサイクルに従います:
|
|
163
|
+
|
|
164
|
+
1. **Red(失敗)**
|
|
165
|
+
|
|
166
|
+
- 最もシンプルな失敗するテストを書く
|
|
167
|
+
- テスト名は動作を明確に記述
|
|
168
|
+
- 失敗メッセージが分かりやすいことを確認
|
|
169
|
+
|
|
170
|
+
2. **Green(成功)**
|
|
171
|
+
|
|
172
|
+
- テストを通す最小限のコードを実装
|
|
173
|
+
- この段階では最適化や美しさは考慮しない
|
|
174
|
+
- とにかくテストを通すことに集中
|
|
175
|
+
|
|
176
|
+
3. **Refactor(改善)**
|
|
177
|
+
- テストが通った後でのみリファクタリング
|
|
178
|
+
- 重複を排除し、意図を明確に
|
|
179
|
+
- 各リファクタリング後にテスト実行
|
|
180
|
+
|
|
181
|
+
### 変更管理
|
|
182
|
+
|
|
183
|
+
変更は以下の 2 種類に明確に分離します:
|
|
184
|
+
|
|
185
|
+
- **構造変更(Structural Changes)**
|
|
186
|
+
|
|
187
|
+
- コードの配置・整理・フォーマット
|
|
188
|
+
- 動作は一切変更しない
|
|
189
|
+
- 例:メソッドの並び替え、インポート整理、変数名変更
|
|
190
|
+
|
|
191
|
+
- **動作変更(Behavioral Changes)**
|
|
192
|
+
- 機能の追加・修正・削除
|
|
193
|
+
- テスト結果が変わる変更
|
|
194
|
+
- 例:新機能追加、バグ修正、ロジック変更
|
|
195
|
+
|
|
196
|
+
**重要**:構造変更と動作変更を同一コミットに含めない
|
|
197
|
+
|
|
198
|
+
### コミット規律
|
|
199
|
+
|
|
200
|
+
コミットは以下の条件をすべて満たした時のみ実行:
|
|
201
|
+
|
|
202
|
+
- ✅ すべてのテストがパス
|
|
203
|
+
- ✅ コンパイラ/リンターの警告がゼロ
|
|
204
|
+
- ✅ 単一の論理的作業単位を表現
|
|
205
|
+
- ✅ コミットメッセージが変更内容を明確に説明
|
|
206
|
+
|
|
207
|
+
**推奨事項**:
|
|
208
|
+
|
|
209
|
+
- 小さく頻繁なコミット
|
|
210
|
+
- 各コミットは独立して意味を持つ
|
|
211
|
+
- 後から履歴を追いやすい粒度
|
|
212
|
+
|
|
213
|
+
### リファクタリングルール
|
|
214
|
+
|
|
215
|
+
リファクタリング時の厳格なルール:
|
|
216
|
+
|
|
217
|
+
1. **前提条件**
|
|
218
|
+
|
|
219
|
+
- すべてのテストが通っている状態でのみ開始
|
|
220
|
+
- 動作変更とリファクタリングを混在させない
|
|
221
|
+
|
|
222
|
+
2. **実行手順**
|
|
223
|
+
|
|
224
|
+
- 確立されたリファクタリングパターンを使用
|
|
225
|
+
- 一度に一つの変更のみ
|
|
226
|
+
- 各ステップ後に必ずテスト実行
|
|
227
|
+
- 失敗したら即座に元に戻す
|
|
228
|
+
|
|
229
|
+
3. **よく使うパターン**
|
|
230
|
+
- Extract Method(メソッド抽出)
|
|
231
|
+
- Rename(名前変更)
|
|
232
|
+
- Move Method(メソッド移動)
|
|
233
|
+
- Extract Variable(変数抽出)
|
|
234
|
+
|
|
235
|
+
### 実装アプローチ
|
|
236
|
+
|
|
237
|
+
効率的な実装のための優先順位:
|
|
238
|
+
|
|
239
|
+
1. **最初のステップ**
|
|
240
|
+
|
|
241
|
+
- 最もシンプルなケースから着手
|
|
242
|
+
- 「動くこと」を最優先
|
|
243
|
+
- 完璧さより進捗を重視
|
|
244
|
+
|
|
245
|
+
2. **コード品質の原則**
|
|
246
|
+
|
|
247
|
+
- 重複を見つけたら即座に排除
|
|
248
|
+
- 意図が明確なコードを書く
|
|
249
|
+
- 依存関係を明示的に
|
|
250
|
+
- メソッドは小さく、単一責任に
|
|
251
|
+
|
|
252
|
+
3. **段階的な改善**
|
|
253
|
+
|
|
254
|
+
- まず動くものを作る
|
|
255
|
+
- テストでカバー
|
|
256
|
+
- その後で最適化
|
|
257
|
+
|
|
258
|
+
4. **エッジケースの扱い**
|
|
259
|
+
- 基本ケースが動いてから考慮
|
|
260
|
+
- 各エッジケースに対応するテスト追加
|
|
261
|
+
- 段階的に堅牢性を向上
|
|
262
|
+
|
|
263
|
+
## 品質保証
|
|
264
|
+
|
|
265
|
+
### 設計原則
|
|
266
|
+
|
|
267
|
+
- 単一責任の原則を遵守
|
|
268
|
+
- インターフェースによる疎結合
|
|
269
|
+
- 早期リターンで可読性向上
|
|
270
|
+
- 過度な抽象化は避ける
|
|
271
|
+
|
|
272
|
+
### 効率性最適化
|
|
273
|
+
|
|
274
|
+
- 重複作業の自動排除
|
|
275
|
+
- バッチ処理の積極活用
|
|
276
|
+
- コンテキストスイッチ最小化
|
|
277
|
+
|
|
278
|
+
### 一貫性維持
|
|
279
|
+
|
|
280
|
+
- 既存コードスタイルの自動継承
|
|
281
|
+
- プロジェクト規約の自動適用
|
|
282
|
+
- 命名規則統一の自動実行
|
|
283
|
+
|
|
284
|
+
### 自動品質管理
|
|
285
|
+
|
|
286
|
+
- 変更前後の動作確認実行
|
|
287
|
+
- エッジケース考慮の実装
|
|
288
|
+
- ドキュメント同期更新
|
|
289
|
+
|
|
290
|
+
### 冗長性の排除
|
|
291
|
+
|
|
292
|
+
- 繰り返し処理は必ず関数化
|
|
293
|
+
- 共通エラーハンドリングの統一
|
|
294
|
+
- ユーティリティ関数の積極活用
|
|
295
|
+
- 重複ロジックの即座の抽象化
|
|
296
|
+
|
|
297
|
+
### ハードコーディング禁止
|
|
298
|
+
|
|
299
|
+
- マジックナンバーは定数化
|
|
300
|
+
- URL、パスは設定ファイルへ
|
|
301
|
+
- 環境依存値は環境変数で管理
|
|
302
|
+
- ビジネスロジックと設定値の分離
|
|
303
|
+
|
|
304
|
+
### エラーハンドリング
|
|
305
|
+
|
|
306
|
+
- 実行不可能時:代替案 3 つ提示
|
|
307
|
+
- 部分実行可能時:可能部分を先行実行、残課題を明示
|
|
308
|
+
|
|
309
|
+
## 実行例
|
|
310
|
+
|
|
311
|
+
- **バグ修正**:`TypeError` 発見 → 即座に型エラー修正
|
|
312
|
+
- **リファクタリング**:重複コード検出 → 共通関数化
|
|
313
|
+
- **DB 変更**:スキーマ更新が必要 → 確認要求「テーブル構造を変更しますか?」
|
|
314
|
+
|
|
315
|
+
## 継続改善
|
|
316
|
+
|
|
317
|
+
- 新パターン検出 → 即座に学習・適用
|
|
318
|
+
- フィードバック → 次回実行に自動反映
|
|
319
|
+
- ベストプラクティス → 随時更新
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# ベースイメージとして Ubuntu 22.04 を使用
|
|
2
|
+
FROM ubuntu:22.04 AS base
|
|
3
|
+
|
|
4
|
+
# 環境変数の設定
|
|
5
|
+
ENV DEBIAN_FRONTEND=noninteractive \
|
|
6
|
+
LANG=ja_JP.UTF-8 \
|
|
7
|
+
LC_ALL=ja_JP.UTF-8 \
|
|
8
|
+
LC_CTYPE=ja_JP.UTF-8 \
|
|
9
|
+
NODE_VER=22
|
|
10
|
+
|
|
11
|
+
# ユーザーの設定
|
|
12
|
+
ARG USERNAME=developer
|
|
13
|
+
ARG USER_UID=1000
|
|
14
|
+
ARG USER_GID=$USER_UID
|
|
15
|
+
|
|
16
|
+
RUN groupadd --gid $USER_GID $USERNAME \
|
|
17
|
+
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
|
|
18
|
+
#
|
|
19
|
+
# [Optional] Add sudo support. Omit if you don't need to install software after connecting.
|
|
20
|
+
&& apt-get update \
|
|
21
|
+
&& apt-get install -y sudo \
|
|
22
|
+
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
|
|
23
|
+
&& chmod 0440 /etc/sudoers.d/$USERNAME
|
|
24
|
+
|
|
25
|
+
# ロケールのセットアップ
|
|
26
|
+
RUN apt-get update && apt-get install -y \
|
|
27
|
+
language-pack-ja-base \
|
|
28
|
+
language-pack-ja \
|
|
29
|
+
&& update-locale LANG=ja_JP.UTF-8 LANGUAGE=ja_JP:ja \
|
|
30
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
31
|
+
|
|
32
|
+
# 基本的なパッケージのインストール
|
|
33
|
+
RUN apt-get update && \
|
|
34
|
+
apt-get install -y \
|
|
35
|
+
build-essential \
|
|
36
|
+
zip \
|
|
37
|
+
unzip \
|
|
38
|
+
git \
|
|
39
|
+
curl \
|
|
40
|
+
wget \
|
|
41
|
+
vim \
|
|
42
|
+
tmux \
|
|
43
|
+
&& apt-get clean \
|
|
44
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
45
|
+
|
|
46
|
+
# Node.jsのインストール
|
|
47
|
+
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
|
|
48
|
+
&& apt-get install -y nodejs \
|
|
49
|
+
&& npm install -g yarn \
|
|
50
|
+
&& mkdir -p /home/$USERNAME/.nvm \
|
|
51
|
+
&& chown -R $USERNAME:$USERNAME /home/$USERNAME/.nvm \
|
|
52
|
+
&& echo '#!/bin/bash\n\
|
|
53
|
+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash\n\
|
|
54
|
+
. /home/'$USERNAME'/.nvm/nvm.sh\n\
|
|
55
|
+
nvm install "'$NODE_VER'"\n\
|
|
56
|
+
nvm use "'$NODE_VER'"' > /tmp/nvm_install.sh \
|
|
57
|
+
&& chmod +x /tmp/nvm_install.sh \
|
|
58
|
+
&& su - $USERNAME -c /tmp/nvm_install.sh \
|
|
59
|
+
&& rm /tmp/nvm_install.sh
|
|
60
|
+
|
|
61
|
+
# Gemini CLIのインストール
|
|
62
|
+
RUN npm install -g @google/gemini-cli
|
|
63
|
+
|
|
64
|
+
# Claude Codeのインストール
|
|
65
|
+
RUN npm install -g @anthropic-ai/claude-code
|
|
66
|
+
|
|
67
|
+
# すべてのインストールが完了した後、ユーザーのホームディレクトリの所有権を確保
|
|
68
|
+
RUN chown -R $USERNAME:$USERNAME /home/$USERNAME
|
|
69
|
+
|
|
70
|
+
# 作業ディレクトリの設定
|
|
71
|
+
WORKDIR /srv
|
|
72
|
+
|
|
73
|
+
# ユーザーを設定したユーザーに切り替える
|
|
74
|
+
USER $USERNAME
|
|
75
|
+
|
|
76
|
+
# デフォルトのシェルを bash に設定
|
|
77
|
+
SHELL ["/bin/bash", "-c"]
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# {project-name}
|
|
2
|
+
|
|
3
|
+
## 概要
|
|
4
|
+
|
|
5
|
+
### 目的
|
|
6
|
+
|
|
7
|
+
### 前提
|
|
8
|
+
|
|
9
|
+
| ソフトウェア | バージョン | 備考 |
|
|
10
|
+
| :----------- | :--------- | :--- |
|
|
11
|
+
| nodejs | 12.12.0 | |
|
|
12
|
+
|
|
13
|
+
## 構成
|
|
14
|
+
|
|
15
|
+
- [構築](#構築)
|
|
16
|
+
- [配置](#配置)
|
|
17
|
+
- [運用](#運用)
|
|
18
|
+
- [開発](#開発)
|
|
19
|
+
|
|
20
|
+
## 詳細
|
|
21
|
+
|
|
22
|
+
### Qick Start
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install
|
|
26
|
+
npm start
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 構築
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
claude mcp add github npx @modelcontextprotocol/server-github -e GITHUB_PERSONAL_ACCESS_TOKEN=xxxxxxxxxxxxxxx
|
|
33
|
+
claude mcp add --transport http byterover-mcp --scope user https://mcp.byterover.dev/v2/mcp
|
|
34
|
+
claude mcp add github npx -y @modelcontextprotocol/server-github -s project
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**[⬆ back to top](#構成)**
|
|
38
|
+
|
|
39
|
+
### 配置
|
|
40
|
+
|
|
41
|
+
**[⬆ back to top](#構成)**
|
|
42
|
+
|
|
43
|
+
### 運用
|
|
44
|
+
|
|
45
|
+
**[⬆ back to top](#構成)**
|
|
46
|
+
|
|
47
|
+
### 開発
|
|
48
|
+
|
|
49
|
+
**[⬆ back to top](#構成)**
|
|
50
|
+
|
|
51
|
+
## 参照
|
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
services:
|
|
2
|
+
mkdocs:
|
|
3
|
+
build:
|
|
4
|
+
context: .
|
|
5
|
+
dockerfile: ./docs/Dockerfile
|
|
6
|
+
environment:
|
|
7
|
+
PLANTUML_SERVER_URL: http://plantuml:8080/plantuml
|
|
8
|
+
volumes:
|
|
9
|
+
- ./docs:/docs/docs
|
|
10
|
+
- ./README.md:/docs/README.md
|
|
11
|
+
- ./mkdocs.yml:/docs/mkdocs.yml
|
|
12
|
+
- ./site:/docs/site
|
|
13
|
+
ports:
|
|
14
|
+
- "8000:8000"
|
|
15
|
+
command: mkdocs serve --dev-addr=0.0.0.0:8000
|
|
16
|
+
links:
|
|
17
|
+
- plantuml
|
|
18
|
+
|
|
19
|
+
plantuml:
|
|
20
|
+
image: plantuml/plantuml-server:jetty
|
|
21
|
+
environment:
|
|
22
|
+
BASE_URL: plantuml
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
FROM python:3.11-slim
|
|
2
|
+
|
|
3
|
+
WORKDIR /docs
|
|
4
|
+
|
|
5
|
+
# Install MkDocs and necessary plugins
|
|
6
|
+
RUN pip install --no-cache-dir \
|
|
7
|
+
mkdocs \
|
|
8
|
+
mkdocs-material \
|
|
9
|
+
pymdown-extensions \
|
|
10
|
+
plantuml-markdown
|
|
11
|
+
|
|
12
|
+
# Copy configuration and docs
|
|
13
|
+
COPY mkdocs.yml /docs/
|
|
14
|
+
|
|
15
|
+
# Expose the MkDocs development server port
|
|
16
|
+
EXPOSE 8000
|
|
17
|
+
|
|
18
|
+
# Start MkDocs development server
|
|
19
|
+
CMD ["mkdocs", "serve", "--dev-addr=0.0.0.0:8000"]
|