claude-code-toolkit 1.0.11 → 1.0.13
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/README.md +16 -71
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +49 -36
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/template.js +145 -94
- package/dist/commands/template.js.map +1 -1
- package/package.json +1 -1
- package/templates/.claude/agents/code-reviewer.json +36 -0
- package/templates/.claude/agents/debugger.json +41 -0
- package/templates/.claude/agents/doc-writer.json +37 -0
- package/templates/.claude/agents/mobile-ui-specialist.json +41 -0
- package/templates/.claude/agents/orchestrator.json +42 -0
- package/templates/.claude/agents/researcher.json +48 -0
- package/templates/.claude/agents/test-generator.json +42 -0
- package/templates/.claude/skills/persistent-memory-system/SKILL.md +229 -0
- package/templates/.claude/skills/persistent-memory-system/memory-templates.md +152 -0
- package/templates/AGENTS.md +141 -127
- package/templates/CLAUDE.md +116 -89
package/README.md
CHANGED
|
@@ -34,97 +34,50 @@ Transform any project into a professional, AI-powered development workspace with
|
|
|
34
34
|
|
|
35
35
|
## 🚀 Quick Start
|
|
36
36
|
|
|
37
|
-
### Option 1: Install
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
# Clone or navigate to the toolkit directory
|
|
41
|
-
cd claude-code-toolkit
|
|
42
|
-
|
|
43
|
-
# Install dependencies
|
|
44
|
-
npm install
|
|
45
|
-
|
|
46
|
-
# Build the TypeScript
|
|
47
|
-
npm run build
|
|
48
|
-
|
|
49
|
-
# Link globally for local development
|
|
50
|
-
npm link
|
|
51
|
-
|
|
52
|
-
# Now you can use claude-toolkit anywhere
|
|
53
|
-
claude-toolkit --version
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Option 2: Install from npm (When Published)
|
|
37
|
+
### Option 1: Install in Existing Project
|
|
57
38
|
|
|
58
39
|
```bash
|
|
59
40
|
# Install globally
|
|
60
41
|
npm install -g claude-code-toolkit
|
|
61
42
|
|
|
62
|
-
#
|
|
63
|
-
claude-toolkit --version
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### Option 3: Install in Existing Project
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
# Navigate to your project
|
|
70
|
-
cd your-project
|
|
71
|
-
|
|
72
|
-
# Install toolkit
|
|
43
|
+
# Install in current project
|
|
73
44
|
claude-toolkit install
|
|
74
45
|
|
|
75
|
-
# Set up hooks
|
|
46
|
+
# Set up hooks
|
|
76
47
|
.claude/hooks/hook-manager.sh setup
|
|
77
48
|
.claude/hooks/hook-manager.sh install
|
|
78
49
|
```
|
|
79
50
|
|
|
80
|
-
### Option
|
|
51
|
+
### Option 2: Create New Project with Toolkit
|
|
81
52
|
|
|
82
53
|
```bash
|
|
54
|
+
# Install globally
|
|
55
|
+
npm install -g claude-code-toolkit
|
|
56
|
+
|
|
83
57
|
# Create new React project
|
|
84
58
|
claude-toolkit template my-awesome-app --type react
|
|
85
59
|
|
|
86
60
|
# Create new Node.js API
|
|
87
61
|
claude-toolkit template my-api --type node
|
|
88
62
|
|
|
89
|
-
# Create new Vue.js app
|
|
90
|
-
claude-toolkit template my-vue-app --type vue
|
|
91
|
-
|
|
92
63
|
# Create new Python service
|
|
93
64
|
claude-toolkit template my-service --type python
|
|
94
65
|
```
|
|
95
66
|
|
|
96
|
-
### Option
|
|
97
|
-
|
|
98
|
-
If you prefer manual setup, copy the `templates/.claude` directory to your project root, along with `templates/AGENTS.md` and `templates/CLAUDE.md`.
|
|
67
|
+
### Option 3: Manual Setup (Copy & Paste)
|
|
99
68
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
To publish this package to npm:
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
# Login to npm (one-time)
|
|
106
|
-
npm login
|
|
107
|
-
|
|
108
|
-
# Build the package
|
|
109
|
-
npm run build
|
|
110
|
-
|
|
111
|
-
# Publish to npm
|
|
112
|
-
npm publish
|
|
113
|
-
|
|
114
|
-
# Or publish with public access (for scoped packages)
|
|
115
|
-
npm publish --access public
|
|
116
|
-
```
|
|
69
|
+
If you prefer manual setup, copy the `.claude` directory from this repository to any project root.
|
|
117
70
|
|
|
118
71
|
## 📋 Detailed Setup Guide
|
|
119
72
|
|
|
120
73
|
### Step 1: Install the Toolkit
|
|
121
74
|
|
|
122
75
|
```bash
|
|
123
|
-
#
|
|
124
|
-
cd claude-code-toolkit && npm install && npm run build && npm link
|
|
125
|
-
|
|
126
|
-
# Or from npm (when published)
|
|
76
|
+
# Install globally (recommended)
|
|
127
77
|
npm install -g claude-code-toolkit
|
|
78
|
+
|
|
79
|
+
# Or install locally in a project
|
|
80
|
+
npm install claude-code-toolkit --save-dev
|
|
128
81
|
```
|
|
129
82
|
|
|
130
83
|
### Step 2: Install in Your Project
|
|
@@ -331,7 +284,7 @@ The hooks system integrates seamlessly with existing CI/CD:
|
|
|
331
284
|
## 🎨 Customization
|
|
332
285
|
|
|
333
286
|
### Agent Configuration
|
|
334
|
-
Edit
|
|
287
|
+
Edit `AGENTS.md` in your project root to customize agent behaviors:
|
|
335
288
|
|
|
336
289
|
```markdown
|
|
337
290
|
## custom-agent
|
|
@@ -463,14 +416,6 @@ MIT License - See [LICENSE](LICENSE) for details.
|
|
|
463
416
|
|
|
464
417
|
**🎉 Ready to supercharge your development workflow?**
|
|
465
418
|
|
|
466
|
-
|
|
467
|
-
```bash
|
|
468
|
-
cd claude-code-toolkit && npm install && npm run build && npm link && claude-toolkit install
|
|
469
|
-
```
|
|
470
|
-
|
|
471
|
-
**From npm (when published):**
|
|
472
|
-
```bash
|
|
473
|
-
npm install -g claude-code-toolkit && claude-toolkit install
|
|
474
|
-
```
|
|
419
|
+
Start with: `npm install -g claude-code-toolkit && claude-toolkit install`
|
|
475
420
|
|
|
476
|
-
Then experience AI-enhanced development like never before!
|
|
421
|
+
Then experience AI-enhanced development like never before! 🚀
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,iBA2LhE"}
|
package/dist/commands/install.js
CHANGED
|
@@ -47,15 +47,28 @@ async function installToolkit(options = {}) {
|
|
|
47
47
|
await fs.ensureDir(claudeDir);
|
|
48
48
|
// Copy agents configuration
|
|
49
49
|
if (!options.noAgents) {
|
|
50
|
+
// Copy AGENTS.md
|
|
50
51
|
const agentsSource = path.join(templatesDir, 'AGENTS.md');
|
|
51
52
|
const agentsDest = path.join(cwd, 'AGENTS.md');
|
|
52
53
|
if (await fs.pathExists(agentsSource)) {
|
|
53
54
|
if (options.force || !(await fs.pathExists(agentsDest))) {
|
|
54
55
|
await fs.copy(agentsSource, agentsDest);
|
|
55
|
-
console.log('✅
|
|
56
|
+
console.log('✅ AGENTS.md installed');
|
|
56
57
|
}
|
|
57
58
|
else {
|
|
58
|
-
console.log('⚠️
|
|
59
|
+
console.log('⚠️ AGENTS.md already exists (use --force to overwrite)');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Copy agent configurations
|
|
63
|
+
const agentConfigsSource = path.join(templatesDir, '.claude', 'agents');
|
|
64
|
+
const agentConfigsDest = path.join(claudeDir, 'agents');
|
|
65
|
+
if (await fs.pathExists(agentConfigsSource)) {
|
|
66
|
+
if (options.force || !(await fs.pathExists(agentConfigsDest))) {
|
|
67
|
+
await fs.copy(agentConfigsSource, agentConfigsDest);
|
|
68
|
+
console.log('✅ Agent configurations installed (.claude/agents/)');
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
console.log('⚠️ Agent configurations already exist (use --force to overwrite)');
|
|
59
72
|
}
|
|
60
73
|
}
|
|
61
74
|
}
|
|
@@ -86,15 +99,15 @@ async function installToolkit(options = {}) {
|
|
|
86
99
|
try {
|
|
87
100
|
// Create ZIP with contents at root (not nested in folder)
|
|
88
101
|
// Use PowerShell with proper path handling for Claude compatibility
|
|
89
|
-
const psCommand = `
|
|
90
|
-
$skillPath = '${skillPath.replace(/\\/g, '/')}';
|
|
91
|
-
$zipPath = '${zipPath.replace(/\\/g, '/')}';
|
|
92
|
-
if (Test-Path $zipPath) { Remove-Item $zipPath -Force };
|
|
93
|
-
$tempDir = Join-Path $env:TEMP ('skill_' + [guid]::NewGuid().ToString());
|
|
94
|
-
New-Item -ItemType Directory -Path $tempDir -Force | Out-Null;
|
|
95
|
-
Copy-Item -Path "$skillPath/*" -Destination $tempDir -Recurse;
|
|
96
|
-
Compress-Archive -Path "$tempDir/*" -DestinationPath $zipPath -Force;
|
|
97
|
-
Remove-Item -Path $tempDir -Recurse -Force;
|
|
102
|
+
const psCommand = `
|
|
103
|
+
$skillPath = '${skillPath.replace(/\\/g, '/')}';
|
|
104
|
+
$zipPath = '${zipPath.replace(/\\/g, '/')}';
|
|
105
|
+
if (Test-Path $zipPath) { Remove-Item $zipPath -Force };
|
|
106
|
+
$tempDir = Join-Path $env:TEMP ('skill_' + [guid]::NewGuid().ToString());
|
|
107
|
+
New-Item -ItemType Directory -Path $tempDir -Force | Out-Null;
|
|
108
|
+
Copy-Item -Path "$skillPath/*" -Destination $tempDir -Recurse;
|
|
109
|
+
Compress-Archive -Path "$tempDir/*" -DestinationPath $zipPath -Force;
|
|
110
|
+
Remove-Item -Path $tempDir -Recurse -Force;
|
|
98
111
|
`.replace(/\n/g, ' ');
|
|
99
112
|
(0, child_process_1.execSync)(`powershell -Command "${psCommand}"`, { stdio: 'pipe' });
|
|
100
113
|
console.log(`📦 ${skill} packaged as ${zipName}`);
|
|
@@ -164,31 +177,31 @@ async function installToolkit(options = {}) {
|
|
|
164
177
|
const contextFile = path.join(memoryDest, 'context.md');
|
|
165
178
|
if (await fs.pathExists(path.dirname(contextFile))) {
|
|
166
179
|
const projectName = path.basename(cwd);
|
|
167
|
-
const context = `# Current Project Context
|
|
168
|
-
|
|
169
|
-
## Project Overview
|
|
170
|
-
**Name**: ${projectName}
|
|
171
|
-
**Type**: New project with Claude Code toolkit
|
|
172
|
-
**Status**: Setup phase - toolkit installed
|
|
173
|
-
|
|
174
|
-
## Active Components
|
|
175
|
-
- Professional Documentation Writer skill
|
|
176
|
-
- Mobile UI/UX Master skill
|
|
177
|
-
- Claude Code Hooks Master skill
|
|
178
|
-
- Persistent Memory System skill
|
|
179
|
-
- Six specialized agents (code-reviewer, doc-writer, test-generator, debugger, researcher, mobile-ui-specialist)
|
|
180
|
-
- Global configuration in CLAUDE.md
|
|
181
|
-
- Hook automation system (pre-commit, post-commit, pre-push, custom)
|
|
182
|
-
|
|
183
|
-
## Next Steps
|
|
184
|
-
1. Upload skills to Claude settings
|
|
185
|
-
2. Set up hooks: .claude/hooks/hook-manager.sh setup
|
|
186
|
-
3. Install git hooks: .claude/hooks/hook-manager.sh install
|
|
187
|
-
4. Start development with enhanced AI assistance
|
|
188
|
-
|
|
189
|
-
## Recent Changes
|
|
190
|
-
- ${new Date().toISOString().split('T')[0]}: Claude Code toolkit installed
|
|
191
|
-
- Skills and hooks configured for optimal development workflow
|
|
180
|
+
const context = `# Current Project Context
|
|
181
|
+
|
|
182
|
+
## Project Overview
|
|
183
|
+
**Name**: ${projectName}
|
|
184
|
+
**Type**: New project with Claude Code toolkit
|
|
185
|
+
**Status**: Setup phase - toolkit installed
|
|
186
|
+
|
|
187
|
+
## Active Components
|
|
188
|
+
- Professional Documentation Writer skill
|
|
189
|
+
- Mobile UI/UX Master skill
|
|
190
|
+
- Claude Code Hooks Master skill
|
|
191
|
+
- Persistent Memory System skill
|
|
192
|
+
- Six specialized agents (code-reviewer, doc-writer, test-generator, debugger, researcher, mobile-ui-specialist)
|
|
193
|
+
- Global configuration in CLAUDE.md
|
|
194
|
+
- Hook automation system (pre-commit, post-commit, pre-push, custom)
|
|
195
|
+
|
|
196
|
+
## Next Steps
|
|
197
|
+
1. Upload skills to Claude settings
|
|
198
|
+
2. Set up hooks: .claude/hooks/hook-manager.sh setup
|
|
199
|
+
3. Install git hooks: .claude/hooks/hook-manager.sh install
|
|
200
|
+
4. Start development with enhanced AI assistance
|
|
201
|
+
|
|
202
|
+
## Recent Changes
|
|
203
|
+
- ${new Date().toISOString().split('T')[0]}: Claude Code toolkit installed
|
|
204
|
+
- Skills and hooks configured for optimal development workflow
|
|
192
205
|
`;
|
|
193
206
|
await fs.writeFile(contextFile, context);
|
|
194
207
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,39 +102,39 @@ async function createBasicStructure(projectPath, type) {
|
|
|
102
102
|
'typescript': '^5.0.0'
|
|
103
103
|
};
|
|
104
104
|
// Create basic React files
|
|
105
|
-
await fs.writeFile(path.join(projectPath, 'index.html'), `<!DOCTYPE html>
|
|
106
|
-
<html lang="en">
|
|
107
|
-
<head>
|
|
108
|
-
<meta charset="UTF-8" />
|
|
109
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
110
|
-
<title>${packageJson.name}</title>
|
|
111
|
-
</head>
|
|
112
|
-
<body>
|
|
113
|
-
<div id="root"></div>
|
|
114
|
-
<script type="module" src="/src/main.tsx"></script>
|
|
115
|
-
</body>
|
|
105
|
+
await fs.writeFile(path.join(projectPath, 'index.html'), `<!DOCTYPE html>
|
|
106
|
+
<html lang="en">
|
|
107
|
+
<head>
|
|
108
|
+
<meta charset="UTF-8" />
|
|
109
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
110
|
+
<title>${packageJson.name}</title>
|
|
111
|
+
</head>
|
|
112
|
+
<body>
|
|
113
|
+
<div id="root"></div>
|
|
114
|
+
<script type="module" src="/src/main.tsx"></script>
|
|
115
|
+
</body>
|
|
116
116
|
</html>`);
|
|
117
117
|
await fs.ensureDir(path.join(projectPath, 'src'));
|
|
118
|
-
await fs.writeFile(path.join(projectPath, 'src/main.tsx'), `import React from 'react'
|
|
119
|
-
import ReactDOM from 'react-dom/client'
|
|
120
|
-
import App from './App.tsx'
|
|
121
|
-
|
|
122
|
-
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
123
|
-
<React.StrictMode>
|
|
124
|
-
<App />
|
|
125
|
-
</React.StrictMode>,
|
|
118
|
+
await fs.writeFile(path.join(projectPath, 'src/main.tsx'), `import React from 'react'
|
|
119
|
+
import ReactDOM from 'react-dom/client'
|
|
120
|
+
import App from './App.tsx'
|
|
121
|
+
|
|
122
|
+
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
123
|
+
<React.StrictMode>
|
|
124
|
+
<App />
|
|
125
|
+
</React.StrictMode>,
|
|
126
126
|
)`);
|
|
127
|
-
await fs.writeFile(path.join(projectPath, 'src/App.tsx'), `import React from 'react'
|
|
128
|
-
|
|
129
|
-
function App() {
|
|
130
|
-
return (
|
|
131
|
-
<div>
|
|
132
|
-
<h1>Welcome to ${packageJson.name}</h1>
|
|
133
|
-
<p>Built with Claude Code toolkit</p>
|
|
134
|
-
</div>
|
|
135
|
-
)
|
|
136
|
-
}
|
|
137
|
-
|
|
127
|
+
await fs.writeFile(path.join(projectPath, 'src/App.tsx'), `import React from 'react'
|
|
128
|
+
|
|
129
|
+
function App() {
|
|
130
|
+
return (
|
|
131
|
+
<div>
|
|
132
|
+
<h1>Welcome to ${packageJson.name}</h1>
|
|
133
|
+
<p>Built with Claude Code toolkit</p>
|
|
134
|
+
</div>
|
|
135
|
+
)
|
|
136
|
+
}
|
|
137
|
+
|
|
138
138
|
export default App`);
|
|
139
139
|
break;
|
|
140
140
|
case 'vue':
|
|
@@ -166,16 +166,16 @@ export default App`);
|
|
|
166
166
|
'jest': '^29.0.0'
|
|
167
167
|
};
|
|
168
168
|
await fs.ensureDir(path.join(projectPath, 'src'));
|
|
169
|
-
await fs.writeFile(path.join(projectPath, 'src/index.js'), `const express = require('express');
|
|
170
|
-
const app = express();
|
|
171
|
-
const port = process.env.PORT || 3000;
|
|
172
|
-
|
|
173
|
-
app.get('/', (req, res) => {
|
|
174
|
-
res.json({ message: 'Hello from ${packageJson.name}!' });
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
app.listen(port, () => {
|
|
178
|
-
console.log(\`Server running on port \${port}\`);
|
|
169
|
+
await fs.writeFile(path.join(projectPath, 'src/index.js'), `const express = require('express');
|
|
170
|
+
const app = express();
|
|
171
|
+
const port = process.env.PORT || 3000;
|
|
172
|
+
|
|
173
|
+
app.get('/', (req, res) => {
|
|
174
|
+
res.json({ message: 'Hello from ${packageJson.name}!' });
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
app.listen(port, () => {
|
|
178
|
+
console.log(\`Server running on port \${port}\`);
|
|
179
179
|
});`);
|
|
180
180
|
break;
|
|
181
181
|
case 'python':
|
|
@@ -185,19 +185,19 @@ app.listen(port, () => {
|
|
|
185
185
|
test: 'pytest'
|
|
186
186
|
};
|
|
187
187
|
await fs.ensureDir(path.join(projectPath, 'src'));
|
|
188
|
-
await fs.writeFile(path.join(projectPath, 'src/main.py'), `from fastapi import FastAPI
|
|
189
|
-
|
|
190
|
-
app = FastAPI(title="${packageJson.name}")
|
|
191
|
-
|
|
192
|
-
@app.get("/")
|
|
193
|
-
async def root():
|
|
194
|
-
return {"message": "Hello from ${packageJson.name}!", "toolkit": "Claude Code"}
|
|
195
|
-
|
|
196
|
-
@app.get("/health")
|
|
197
|
-
async def health():
|
|
188
|
+
await fs.writeFile(path.join(projectPath, 'src/main.py'), `from fastapi import FastAPI
|
|
189
|
+
|
|
190
|
+
app = FastAPI(title="${packageJson.name}")
|
|
191
|
+
|
|
192
|
+
@app.get("/")
|
|
193
|
+
async def root():
|
|
194
|
+
return {"message": "Hello from ${packageJson.name}!", "toolkit": "Claude Code"}
|
|
195
|
+
|
|
196
|
+
@app.get("/health")
|
|
197
|
+
async def health():
|
|
198
198
|
return {"status": "healthy"}`);
|
|
199
|
-
await fs.writeFile(path.join(projectPath, 'requirements.txt'), `fastapi==0.104.0
|
|
200
|
-
uvicorn[standard]==0.24.0
|
|
199
|
+
await fs.writeFile(path.join(projectPath, 'requirements.txt'), `fastapi==0.104.0
|
|
200
|
+
uvicorn[standard]==0.24.0
|
|
201
201
|
pytest==7.4.0`);
|
|
202
202
|
break;
|
|
203
203
|
default:
|
|
@@ -206,48 +206,61 @@ pytest==7.4.0`);
|
|
|
206
206
|
// Write package.json
|
|
207
207
|
await fs.writeJson(path.join(projectPath, 'package.json'), packageJson, { spaces: 2 });
|
|
208
208
|
// Create README
|
|
209
|
-
const readme = `# ${packageJson.name}
|
|
210
|
-
|
|
211
|
-
Created with Claude Code toolkit.
|
|
212
|
-
|
|
213
|
-
## Getting Started
|
|
214
|
-
|
|
215
|
-
\`\`\`bash
|
|
216
|
-
npm install
|
|
217
|
-
npm run dev
|
|
218
|
-
\`\`\`
|
|
219
|
-
|
|
220
|
-
## Claude Code
|
|
221
|
-
|
|
222
|
-
This project includes:
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
-
|
|
227
|
-
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
-
|
|
243
|
-
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
-
|
|
209
|
+
const readme = `# ${packageJson.name}
|
|
210
|
+
|
|
211
|
+
Created with Claude Code toolkit.
|
|
212
|
+
|
|
213
|
+
## Getting Started
|
|
214
|
+
|
|
215
|
+
\`\`\`bash
|
|
216
|
+
npm install
|
|
217
|
+
npm run dev
|
|
218
|
+
\`\`\`
|
|
219
|
+
|
|
220
|
+
## Claude Code Integration
|
|
221
|
+
|
|
222
|
+
This project includes a complete AI-powered development environment:
|
|
223
|
+
|
|
224
|
+
### Agents (.claude/agents/)
|
|
225
|
+
Specialized AI agents that activate based on your requests:
|
|
226
|
+
- **code-reviewer** - "review this code" triggers code quality analysis
|
|
227
|
+
- **doc-writer** - "write docs" triggers documentation generation
|
|
228
|
+
- **test-generator** - "write tests" triggers test creation
|
|
229
|
+
- **debugger** - "fix this bug" triggers debugging assistance
|
|
230
|
+
- **researcher** - "research best practices" triggers research
|
|
231
|
+
- **mobile-ui-specialist** - "fix mobile layout" triggers UI optimization
|
|
232
|
+
|
|
233
|
+
### Skills (.claude/skills/)
|
|
234
|
+
Upload these ZIP files to [claude.ai/settings](https://claude.ai/settings):
|
|
235
|
+
- \`mobile-ui-ux-master.zip\` - Mobile UI patterns
|
|
236
|
+
- \`professional-documentation-writer.zip\` - Documentation templates
|
|
237
|
+
- \`claude-code-hooks-master.zip\` - Automation workflows
|
|
238
|
+
- \`persistent-memory-system.zip\` - Knowledge management
|
|
239
|
+
|
|
240
|
+
### Memory System (.claude/memory/)
|
|
241
|
+
Persistent project knowledge:
|
|
242
|
+
- \`context.md\` - Current project state
|
|
243
|
+
- \`decisions.md\` - Architectural decisions
|
|
244
|
+
- \`learnings.md\` - Development insights
|
|
245
|
+
- \`patterns.md\` - Code patterns
|
|
246
|
+
|
|
247
|
+
### Hooks (.claude/hooks/)
|
|
248
|
+
Automated quality checks:
|
|
249
|
+
\`\`\`bash
|
|
250
|
+
.claude/hooks/hook-manager.sh setup # Make hooks executable
|
|
251
|
+
.claude/hooks/hook-manager.sh install # Install git hooks
|
|
252
|
+
\`\`\`
|
|
253
|
+
|
|
254
|
+
## Usage
|
|
255
|
+
|
|
256
|
+
Just ask Claude naturally:
|
|
257
|
+
- "Review this code for security issues"
|
|
258
|
+
- "Write tests for the auth module"
|
|
259
|
+
- "Debug why the API is failing"
|
|
260
|
+
- "Document this component"
|
|
261
|
+
- "Fix the mobile card layout"
|
|
262
|
+
|
|
263
|
+
Claude will automatically activate the appropriate agent and follow its instructions.
|
|
251
264
|
`;
|
|
252
265
|
await fs.writeFile(path.join(projectPath, 'README.md'), readme);
|
|
253
266
|
}
|
|
@@ -262,6 +275,44 @@ async function installClaudeToolkit(projectPath, toolkitRoot) {
|
|
|
262
275
|
if (await fs.pathExists(claudeSource)) {
|
|
263
276
|
await fs.copy(claudeSource, claudeDest);
|
|
264
277
|
console.log('✅ Claude Code toolkit integrated');
|
|
278
|
+
// Create ZIP files for each skill
|
|
279
|
+
const skillsDir = path.join(claudeDest, 'skills');
|
|
280
|
+
if (await fs.pathExists(skillsDir)) {
|
|
281
|
+
const skills = await fs.readdir(skillsDir);
|
|
282
|
+
for (const skill of skills) {
|
|
283
|
+
const skillPath = path.join(skillsDir, skill);
|
|
284
|
+
if ((await fs.stat(skillPath)).isDirectory()) {
|
|
285
|
+
const zipName = `${skill}.zip`;
|
|
286
|
+
const zipPath = path.join(projectPath, zipName);
|
|
287
|
+
try {
|
|
288
|
+
// Create ZIP with contents at root (not nested in folder)
|
|
289
|
+
const psCommand = `
|
|
290
|
+
$skillPath = '${skillPath.replace(/\\/g, '/')}';
|
|
291
|
+
$zipPath = '${zipPath.replace(/\\/g, '/')}';
|
|
292
|
+
if (Test-Path $zipPath) { Remove-Item $zipPath -Force };
|
|
293
|
+
$tempDir = Join-Path $env:TEMP ('skill_' + [guid]::NewGuid().ToString());
|
|
294
|
+
New-Item -ItemType Directory -Path $tempDir -Force | Out-Null;
|
|
295
|
+
Copy-Item -Path "$skillPath/*" -Destination $tempDir -Recurse;
|
|
296
|
+
Compress-Archive -Path "$tempDir/*" -DestinationPath $zipPath -Force;
|
|
297
|
+
Remove-Item -Path $tempDir -Recurse -Force;
|
|
298
|
+
`.replace(/\n/g, ' ');
|
|
299
|
+
(0, child_process_1.execSync)(`powershell -Command "${psCommand}"`, { stdio: 'pipe' });
|
|
300
|
+
console.log(`📦 ${skill} packaged as ${zipName}`);
|
|
301
|
+
}
|
|
302
|
+
catch (error) {
|
|
303
|
+
// Fallback: try tar if available
|
|
304
|
+
try {
|
|
305
|
+
const tarCmd = `cd "${skillPath}" && tar -acf "${zipPath}" *`;
|
|
306
|
+
(0, child_process_1.execSync)(tarCmd, { stdio: 'pipe', shell: 'bash' });
|
|
307
|
+
console.log(`📦 ${skill} packaged as ${zipName}`);
|
|
308
|
+
}
|
|
309
|
+
catch {
|
|
310
|
+
console.log(`⚠️ Could not create ZIP for ${skill} - create manually`);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
265
316
|
}
|
|
266
317
|
else {
|
|
267
318
|
console.log('⚠️ Claude configuration templates not found at:', claudeSource);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "code-reviewer",
|
|
3
|
+
"description": "Automated code quality and security analysis agent",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"triggers": [
|
|
6
|
+
"review this code",
|
|
7
|
+
"review this file",
|
|
8
|
+
"check this code",
|
|
9
|
+
"code review",
|
|
10
|
+
"security review",
|
|
11
|
+
"find bugs",
|
|
12
|
+
"analyze this code"
|
|
13
|
+
],
|
|
14
|
+
"auto_triggers": {
|
|
15
|
+
"on_file_change": ["*.ts", "*.tsx", "*.js", "*.jsx", "*.py", "*.go", "*.rs"],
|
|
16
|
+
"on_commit": true,
|
|
17
|
+
"on_pr": true
|
|
18
|
+
},
|
|
19
|
+
"instructions": [
|
|
20
|
+
"Analyze code for bugs, security vulnerabilities, and anti-patterns",
|
|
21
|
+
"Check for OWASP Top 10 vulnerabilities",
|
|
22
|
+
"Identify performance issues and memory leaks",
|
|
23
|
+
"Suggest concrete improvements with code examples",
|
|
24
|
+
"Check for proper error handling",
|
|
25
|
+
"Verify input validation and sanitization",
|
|
26
|
+
"Look for hardcoded secrets or credentials",
|
|
27
|
+
"Assess code maintainability and readability"
|
|
28
|
+
],
|
|
29
|
+
"output_format": {
|
|
30
|
+
"sections": ["Summary", "Critical Issues", "Warnings", "Suggestions", "Security"],
|
|
31
|
+
"include_line_numbers": true,
|
|
32
|
+
"include_code_snippets": true
|
|
33
|
+
},
|
|
34
|
+
"tools": ["Read", "Grep", "Glob", "LSP"],
|
|
35
|
+
"permissions": "read-only"
|
|
36
|
+
}
|