@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.
Files changed (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +28 -0
  3. package/bin/claude-code-booster +28 -0
  4. package/lib/assets/.claude/.mcp.json +45 -0
  5. package/lib/assets/.claude/README.md +169 -0
  6. package/lib/assets/.claude/agents/roles/analyzer.md +267 -0
  7. package/lib/assets/.claude/agents/roles/architect.md +233 -0
  8. package/lib/assets/.claude/agents/roles/backend.md +303 -0
  9. package/lib/assets/.claude/agents/roles/frontend.md +294 -0
  10. package/lib/assets/.claude/agents/roles/mobile.md +309 -0
  11. package/lib/assets/.claude/agents/roles/performance.md +254 -0
  12. package/lib/assets/.claude/agents/roles/qa.md +266 -0
  13. package/lib/assets/.claude/agents/roles/reviewer.md +252 -0
  14. package/lib/assets/.claude/agents/roles/security.md +392 -0
  15. package/lib/assets/.claude/assets/confirm.mp3 +0 -0
  16. package/lib/assets/.claude/assets/perfect.mp3 +0 -0
  17. package/lib/assets/.claude/assets/silent.wav +0 -0
  18. package/lib/assets/.claude/commands/analyze-dependencies.md +158 -0
  19. package/lib/assets/.claude/commands/analyze-performance.md +116 -0
  20. package/lib/assets/.claude/commands/check-fact.md +104 -0
  21. package/lib/assets/.claude/commands/check-github-ci.md +53 -0
  22. package/lib/assets/.claude/commands/check-prompt.md +461 -0
  23. package/lib/assets/.claude/commands/commit-message.md +348 -0
  24. package/lib/assets/.claude/commands/context7.md +50 -0
  25. package/lib/assets/.claude/commands/design-patterns.md +186 -0
  26. package/lib/assets/.claude/commands/explain-code.md +75 -0
  27. package/lib/assets/.claude/commands/fix-error.md +258 -0
  28. package/lib/assets/.claude/commands/multi-role.md +291 -0
  29. package/lib/assets/.claude/commands/plan.md +134 -0
  30. package/lib/assets/.claude/commands/pr-auto-update.md +460 -0
  31. package/lib/assets/.claude/commands/pr-create.md +249 -0
  32. package/lib/assets/.claude/commands/pr-feedback.md +143 -0
  33. package/lib/assets/.claude/commands/pr-issue.md +78 -0
  34. package/lib/assets/.claude/commands/pr-list.md +66 -0
  35. package/lib/assets/.claude/commands/pr-review.md +142 -0
  36. package/lib/assets/.claude/commands/refactor.md +147 -0
  37. package/lib/assets/.claude/commands/role-debate.md +571 -0
  38. package/lib/assets/.claude/commands/role-help.md +276 -0
  39. package/lib/assets/.claude/commands/role.md +360 -0
  40. package/lib/assets/.claude/commands/screenshot.md +103 -0
  41. package/lib/assets/.claude/commands/search-gemini.md +66 -0
  42. package/lib/assets/.claude/commands/semantic-commit.md +1129 -0
  43. package/lib/assets/.claude/commands/sequential-thinking.md +90 -0
  44. package/lib/assets/.claude/commands/show-plan.md +59 -0
  45. package/lib/assets/.claude/commands/smart-review.md +174 -0
  46. package/lib/assets/.claude/commands/spec.md +559 -0
  47. package/lib/assets/.claude/commands/style-ai-writing.md +186 -0
  48. package/lib/assets/.claude/commands/task.md +223 -0
  49. package/lib/assets/.claude/commands/tech-debt.md +87 -0
  50. package/lib/assets/.claude/commands/ultrathink.md +65 -0
  51. package/lib/assets/.claude/commands/update-dart-doc.md +202 -0
  52. package/lib/assets/.claude/commands/update-doc-string.md +306 -0
  53. package/lib/assets/.claude/commands/update-flutter-deps.md +105 -0
  54. package/lib/assets/.claude/commands/update-node-deps.md +105 -0
  55. package/lib/assets/.claude/commands/update-rust-deps.md +107 -0
  56. package/lib/assets/.claude/scripts/auto-comment.sh +16 -0
  57. package/lib/assets/.claude/scripts/check-ai-commit.sh +20 -0
  58. package/lib/assets/.claude/scripts/check-continue.sh +97 -0
  59. package/lib/assets/.claude/scripts/check-locales.sh +1080 -0
  60. package/lib/assets/.claude/scripts/check-project-plan.sh +25 -0
  61. package/lib/assets/.claude/scripts/debug-hook.sh +7 -0
  62. package/lib/assets/.claude/scripts/deny-check.sh +69 -0
  63. package/lib/assets/.claude/scripts/install.sh +174 -0
  64. package/lib/assets/.claude/scripts/ja-space-exclusions.json +18 -0
  65. package/lib/assets/.claude/scripts/ja-space-format.sh +45 -0
  66. package/lib/assets/.claude/scripts/preserve-file-permissions.sh +83 -0
  67. package/lib/assets/.claude/scripts/statusline.sh +153 -0
  68. package/lib/assets/.claude/settings.json +164 -0
  69. package/lib/assets/.claude/settings.local.json +14 -0
  70. package/lib/assets/.github/workflows/mkdocs.yml +32 -0
  71. package/lib/assets/CLAUDE.md +319 -0
  72. package/lib/assets/Dockerfile +77 -0
  73. package/lib/assets/README.md +51 -0
  74. package/lib/assets/app/.gitkeep +0 -0
  75. package/lib/assets/docker-compose.yml +22 -0
  76. package/lib/assets/docs/Dockerfile +19 -0
  77. package/lib/assets/docs/adr/.gitkeep +0 -0
  78. package/lib/assets/docs/assets/css/extra.css +30 -0
  79. package/lib/assets/docs/assets/js/extra.js +45 -0
  80. package/lib/assets/docs/design/.gitkeep +0 -0
  81. package/lib/assets/docs/development/.gitkeep +0 -0
  82. package/lib/assets/docs/index.md +13 -0
  83. package/lib/assets/docs/operation/.gitkeep +0 -0
  84. package/lib/assets/docs/reference/.gitkeep +0 -0
  85. 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
  86. 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
  87. 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
  88. 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
  89. package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +556 -0
  90. package/lib/assets/docs/requirements/.gitkeep +0 -0
  91. package/lib/assets/docs/template/.gitkeep +0 -0
  92. package/lib/assets/docs/template/ADR.md +30 -0
  93. package/lib/assets/docs/template/README.md +50 -0
  94. 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
  95. 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
  96. 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
  97. package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +646 -0
  98. package/lib/assets/docs/template//350/250/255/350/250/210.md +164 -0
  99. package/lib/assets/gulpfile.js +18 -0
  100. package/lib/assets/mkdocs.yml +59 -0
  101. package/lib/assets/package-lock.json +3960 -0
  102. package/lib/assets/package.json +31 -0
  103. package/lib/assets/scripts/journal.js +170 -0
  104. package/lib/assets/scripts/mkdocs.js +59 -0
  105. package/lib/gulpfile.js +37 -0
  106. package/main.js +0 -0
  107. package/package.json +39 -0
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "",
3
+ "version": "0.0.0",
4
+ "main": "index.js",
5
+ "scripts": {
6
+ "start": "gulp dev",
7
+ "journal": "gulp journal:generate",
8
+ "docs:serve": "gulp mkdocs:serve",
9
+ "docs:stop": "gulp mkdocs:stop",
10
+ "docs:build": "gulp mkdocs:build"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/k2works/{project_name}.git"
15
+ },
16
+ "keywords": [
17
+ "ai",
18
+ "programming",
19
+ "learning"
20
+ ],
21
+ "author": "",
22
+ "license": "ISC",
23
+ "bugs": {
24
+ "url": "https://github.com/k2works/{project_name}/issues"
25
+ },
26
+ "homepage": "https://github.com/k2works/{project_name}#readme",
27
+ "type": "module",
28
+ "dependencies": {
29
+ "gulp": "^4.0.2"
30
+ }
31
+ }
@@ -0,0 +1,170 @@
1
+ 'use strict';
2
+
3
+ import fs from 'fs';
4
+ import path from 'path';
5
+ import { execSync } from 'child_process';
6
+
7
+ // Function to register the journal:generate task
8
+ export default function(gulp) {
9
+ // Helper function to generate journal for a specific date
10
+ const generateJournalForDate = (dateStr, journalDir) => {
11
+ // Format date as YYYYMMDD
12
+ const dateObj = new Date(dateStr);
13
+ const formattedDate = dateObj.toISOString().slice(0, 10).replace(/-/g, '');
14
+
15
+ // File path for this date's journal
16
+ const journalFile = path.join(journalDir, `${formattedDate}.md`);
17
+
18
+ // Get commits for this date
19
+ const commits = execSync(`git log --since="${dateStr} 00:00:00" --until="${dateStr} 23:59:59" --format="%h %s%n%b"`, { maxBuffer: 1024 * 1024 * 10 }).toString();
20
+
21
+ // Skip if no commits
22
+ if (!commits.trim()) {
23
+ console.log(`No commits found for ${dateStr}`);
24
+ return false;
25
+ }
26
+
27
+ // Get detailed changes for each commit on this date
28
+ const commitHashesOutput = execSync(`git log --since="${dateStr} 00:00:00" --until="${dateStr} 23:59:59" --format="%h"`, { maxBuffer: 1024 * 1024 * 10 }).toString();
29
+ const commitHashes = commitHashesOutput.split('\n').map(line => line.trim()).filter(Boolean);
30
+
31
+ const detailedCommits = [];
32
+
33
+ commitHashes.forEach(hash => {
34
+ // Get commit details
35
+ const commitMessage = execSync(`git show -s --format="%s%n%b" ${hash}`, { maxBuffer: 1024 * 1024 * 10 }).toString().trim();
36
+
37
+ // Get files changed
38
+ const filesChangedOutput = execSync(`git show --name-status ${hash}`, { maxBuffer: 1024 * 1024 * 10 }).toString();
39
+ const filesChanged = filesChangedOutput.split('\n')
40
+ .map(line => line.trim())
41
+ .filter(line => /^[AMDRT]\s/.test(line));
42
+
43
+ // Get code changes (diff)
44
+ const diff = execSync(`git show ${hash} --color=never`, { maxBuffer: 1024 * 1024 * 10 }).toString();
45
+
46
+ detailedCommits.push({
47
+ hash,
48
+ message: commitMessage,
49
+ filesChanged,
50
+ diff
51
+ });
52
+ });
53
+
54
+ // Create journal content
55
+ let content = `# 作業履歴 ${dateStr}\n\n`;
56
+ content += `## 概要\n\n`;
57
+ content += `${dateStr}の作業内容をまとめています。\n\n`;
58
+
59
+ // Add each commit
60
+ detailedCommits.forEach(commit => {
61
+ content += `## コミット: ${commit.hash}\n\n`;
62
+ content += `### メッセージ\n\n`;
63
+ content += `\`\`\`\n${commit.message}\n\`\`\`\n\n`;
64
+
65
+ content += `### 変更されたファイル\n\n`;
66
+ commit.filesChanged.forEach(file => {
67
+ content += `- ${file}\n`;
68
+ });
69
+ content += `\n`;
70
+
71
+ content += `### 変更内容\n\n`;
72
+ content += `\`\`\`diff\n${commit.diff}\n\`\`\`\n\n`;
73
+
74
+ // Add PlantUML diagram placeholder if there are significant structural changes
75
+ const hasStructuralChanges = commit.filesChanged.some(f =>
76
+ f.endsWith('.rb') &&
77
+ (f.includes('model') || f.includes('controller') || f.includes('service'))
78
+ );
79
+
80
+ if (hasStructuralChanges) {
81
+ content += `### 構造変更\n\n`;
82
+ content += `\`\`\`plantuml\n@startuml\n`;
83
+ content += `' このコミットによる構造変更を表すダイアグラムをここに追加してください\n`;
84
+ content += `' 例:\n`;
85
+ content += `' class NewClass\n`;
86
+ content += `' class ExistingClass\n`;
87
+ content += `' NewClass --> ExistingClass\n`;
88
+ content += `@enduml\n\`\`\`\n\n`;
89
+ }
90
+ });
91
+
92
+ // Write to file
93
+ fs.writeFileSync(journalFile, content);
94
+ console.log(`Created journal entry for ${dateStr} at ${journalFile}`);
95
+ return true;
96
+ };
97
+
98
+ // Journal generation task for a specific date
99
+ gulp.task('journal:generate:date', (done) => {
100
+ // Get date from command line arguments
101
+ const args = process.argv.slice(3);
102
+ const dateArg = args.find(arg => arg.startsWith('--date='));
103
+
104
+ if (!dateArg) {
105
+ console.error('Error: Please provide a date using --date=YYYY-MM-DD format');
106
+ done();
107
+ return;
108
+ }
109
+
110
+ const dateStr = dateArg.split('=')[1];
111
+
112
+ // Validate date format
113
+ if (!/^\d{4}-\d{2}-\d{2}$/.test(dateStr)) {
114
+ console.error('Error: Date must be in YYYY-MM-DD format');
115
+ done();
116
+ return;
117
+ }
118
+
119
+ // Directory to store journal entries
120
+ const journalDir = path.join('docs', 'journal');
121
+
122
+ // Create directory if it doesn't exist
123
+ if (!fs.existsSync(journalDir)) {
124
+ fs.mkdirSync(journalDir, { recursive: true });
125
+ }
126
+
127
+ const result = generateJournalForDate(dateStr, journalDir);
128
+
129
+ if (!result) {
130
+ console.log(`No journal entry was created for ${dateStr}`);
131
+ }
132
+
133
+ done();
134
+ });
135
+
136
+ // Journal generation task for all dates
137
+ gulp.task('journal:generate', (done) => {
138
+ // Directory to store journal entries
139
+ const journalDir = path.join('docs', 'journal');
140
+
141
+ // Create directory if it doesn't exist
142
+ if (!fs.existsSync(journalDir)) {
143
+ fs.mkdirSync(journalDir, { recursive: true });
144
+ }
145
+
146
+ // Get all commit dates
147
+ const datesOutput = execSync('git log --format=%ad --date=short').toString();
148
+ const dates = [...new Set(datesOutput.split('\n').map(line => line.trim()).filter(Boolean))];
149
+
150
+ dates.forEach(dateStr => {
151
+ // Format date as YYYYMMDD
152
+ const dateObj = new Date(dateStr);
153
+ const formattedDate = dateObj.toISOString().slice(0, 10).replace(/-/g, '');
154
+
155
+ // File path for this date's journal
156
+ const journalFile = path.join(journalDir, `${formattedDate}.md`);
157
+
158
+ // Skip if file already exists
159
+ if (fs.existsSync(journalFile)) {
160
+ return;
161
+ }
162
+
163
+ // Generate journal for this date
164
+ generateJournalForDate(dateStr, journalDir);
165
+ });
166
+
167
+ console.log("Journal generation completed.");
168
+ done();
169
+ });
170
+ }
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ import { execSync } from 'child_process';
4
+
5
+ // Function to register the mkdocs:serve task
6
+ export default function(gulp) {
7
+ // MkDocs serve task
8
+ gulp.task('mkdocs:serve', (done) => {
9
+ try {
10
+ console.log('Starting MkDocs server using Docker Compose...');
11
+
12
+ // Execute docker-compose up command to start mkdocs service
13
+ execSync('docker-compose up -d mkdocs', { stdio: 'inherit' });
14
+
15
+ console.log('\nMkDocs server started successfully!');
16
+ console.log('Documentation is now available at http://localhost:8000');
17
+ console.log('Press Ctrl+C to stop the server when done.');
18
+
19
+ done();
20
+ } catch (error) {
21
+ console.error('Error starting MkDocs server:', error.message);
22
+ done(error);
23
+ }
24
+ });
25
+
26
+ // MkDocs build task
27
+ gulp.task('mkdocs:build', (done) => {
28
+ try {
29
+ console.log('Building MkDocs documentation...');
30
+
31
+ // Execute docker-compose run command to build mkdocs documentation
32
+ execSync('docker-compose run --rm mkdocs mkdocs build', { stdio: 'inherit' });
33
+
34
+ console.log('\nMkDocs documentation built successfully!');
35
+
36
+ done();
37
+ } catch (error) {
38
+ console.error('Error building MkDocs documentation:', error.message);
39
+ done(error);
40
+ }
41
+ });
42
+
43
+ // MkDocs stop task
44
+ gulp.task('mkdocs:stop', (done) => {
45
+ try {
46
+ console.log('Stopping MkDocs server...');
47
+
48
+ // Execute docker-compose down command to stop mkdocs service
49
+ execSync('docker-compose down', { stdio: 'inherit' });
50
+
51
+ console.log('MkDocs server stopped successfully!');
52
+
53
+ done();
54
+ } catch (error) {
55
+ console.error('Error stopping MkDocs server:', error.message);
56
+ done(error);
57
+ }
58
+ });
59
+ }
@@ -0,0 +1,37 @@
1
+ const gulp = require('gulp');
2
+ const path = require('path');
3
+ const fs = require('fs-extra');
4
+
5
+ const TEMPLATE_DIR = 'lib/assets';
6
+
7
+ // テンプレートファイルを展開するタスク
8
+ gulp.task('setup', async function () {
9
+ // プロジェクトのルートディレクトリのパスを取得する
10
+ const projectDir = process.env.INIT_CWD || process.cwd();
11
+
12
+ // パッケージのルートディレクトリのパスを取得する
13
+ const packageDir = path.join(__dirname, '..');
14
+
15
+ // テンプレートファイルが含まれるディレクトリのパスを取得する
16
+ const templateDir = path.join(packageDir, TEMPLATE_DIR);
17
+
18
+ try {
19
+ // テンプレートファイルをプロジェクトのルートディレクトリにコピーする
20
+ await fs.copy(templateDir, projectDir, { overwrite: true, errorOnExist: false });
21
+ console.log(`[claude-code-booster] Copied assets from "${templateDir}" to "${projectDir}"`);
22
+ } catch (err) {
23
+ console.error('[claude-code-booster] Asset copy failed:', err);
24
+ throw err;
25
+ }
26
+
27
+ // セットアップ処理を実行する
28
+ runSetup();
29
+ });
30
+
31
+ // セットアップ処理を実行する関数
32
+ function runSetup() {
33
+ // セットアップ処理を実装する
34
+ }
35
+
36
+ // デフォルトタスク
37
+ gulp.task('default', gulp.series('setup'));
package/main.js ADDED
File without changes
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@k2works/claude-code-booster",
3
+ "version": "0.1.0",
4
+ "description": "AI Agent Development Support Tool",
5
+ "main": "main.js",
6
+ "bin": {
7
+ "boost": "bin/claude-code-booster"
8
+ },
9
+ "scripts": {
10
+ "test": "echo \"Error: no test specified\" && exit 1",
11
+ "patch": "npm version patch",
12
+ "minor": "npm version minor",
13
+ "major": "npm version major",
14
+ "release": "npm publish --access public"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/k2works/claude-code-booster.git"
19
+ },
20
+ "author": "k2works",
21
+ "license": "MIT",
22
+ "bugs": {
23
+ "url": "https://github.com/k2works/claude-code-booster/issues"
24
+ },
25
+ "homepage": "https://github.com/k2works/claude-code-booster#readme",
26
+ "files": [
27
+ "bin",
28
+ "lib",
29
+ "README.md",
30
+ "LICENSE",
31
+ "main.js",
32
+ "package.json"
33
+ ],
34
+ "dependencies": {
35
+ "fs-extra": "^11.2.0",
36
+ "gulp": "^5.0.0",
37
+ "path": "^0.12.7"
38
+ }
39
+ }