claude-code-templates 1.3.3 ā 1.3.5
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 +145 -55
- package/bin/create-claude-config.js +1 -1
- package/package.json +3 -3
- package/src/file-operations.js +86 -1
- package/src/index.js +6 -1
package/README.md
CHANGED
|
@@ -2,18 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
A CLI tool to quickly setup Claude Code configurations for different programming languages and frameworks. No installation required - just use `npx`!
|
|
4
4
|
|
|
5
|
-
## š Quick Start
|
|
6
|
-
|
|
7
|
-
The fastest way to get started is with `npx` (no installation required):
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
# Navigate to your project directory
|
|
11
|
-
cd your-project
|
|
12
|
-
|
|
13
|
-
# Run the installer
|
|
14
|
-
npx claude-code-templates
|
|
15
|
-
```
|
|
16
|
-
|
|
17
5
|
## š How to Use
|
|
18
6
|
|
|
19
7
|
### Step 1: Navigate to Your Project
|
|
@@ -135,6 +123,7 @@ create-claude-config
|
|
|
135
123
|
- š¾ **Backup existing files** - Safely backs up existing CLAUDE.md and .claude directories
|
|
136
124
|
- āļø **Customizable** - Interactive prompts for command and hook selection
|
|
137
125
|
- š **Quick setup** - Get started with Claude Code in seconds
|
|
126
|
+
- š¤ **Post-installation validation** - Claude Code automatically reviews your setup
|
|
138
127
|
|
|
139
128
|
## š§ Automation Hooks
|
|
140
129
|
|
|
@@ -176,6 +165,7 @@ The CLI allows you to selectively enable automation hooks that enhance your deve
|
|
|
176
165
|
- `CLAUDE.md` - Main configuration file for Claude Code
|
|
177
166
|
- `.claude/settings.json` - Language-specific settings with selected automation hooks
|
|
178
167
|
- `.claude/commands/` - Custom commands for common tasks
|
|
168
|
+
- `.mcp.json` - Model Context Protocol server configurations
|
|
179
169
|
|
|
180
170
|
### Automation Hooks
|
|
181
171
|
Each language template includes selectable automation hooks for:
|
|
@@ -184,6 +174,19 @@ Each language template includes selectable automation hooks for:
|
|
|
184
174
|
- **Stop**: Final checks before session ends (e.g., linting changed files, bundle analysis)
|
|
185
175
|
- **Notification**: Logging and monitoring of Claude Code activities
|
|
186
176
|
|
|
177
|
+
### MCP Servers (Model Context Protocol)
|
|
178
|
+
Configure external tools and services to extend Claude's capabilities:
|
|
179
|
+
- **IDE Integration** - VS Code language diagnostics and Jupyter kernel execution
|
|
180
|
+
- **Web Search** - Real-time web search for up-to-date information and documentation
|
|
181
|
+
- **Filesystem Tools** - Advanced file operations, monitoring, and directory management
|
|
182
|
+
- **Database Tools** - Database connections, schema inspection, and query execution
|
|
183
|
+
|
|
184
|
+
MCP servers are configured in `.mcp.json` and enable Claude to:
|
|
185
|
+
- Execute code in VS Code or Jupyter environments
|
|
186
|
+
- Search the web for current information
|
|
187
|
+
- Perform advanced file system operations
|
|
188
|
+
- Connect to databases and run queries
|
|
189
|
+
|
|
187
190
|
### Language-Specific Commands
|
|
188
191
|
Each language template includes optimized commands for:
|
|
189
192
|
- Testing (Jest, pytest, Cargo test, Go test)
|
|
@@ -198,29 +201,6 @@ Each language template includes optimized commands for:
|
|
|
198
201
|
```bash
|
|
199
202
|
$ npx claude-code-templates
|
|
200
203
|
|
|
201
|
-
āāāāāāāāāā āāāāāā āāā āāāāāāāāāā āāāāāāāā
|
|
202
|
-
āāāāāāāāāāā āāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
|
|
203
|
-
āāā āāā āāāāāāāāāāā āāāāāā āāāāāāāāā
|
|
204
|
-
āāā āāā āāāāāāāāāāā āāāāāā āāāāāāāāā
|
|
205
|
-
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
206
|
-
āāāāāāāāāāāāāāāāāā āāā āāāāāāā āāāāāāā āāāāāāāā
|
|
207
|
-
|
|
208
|
-
āāāāāāā āāāāāāā āāāāāāā āāāāāāāā
|
|
209
|
-
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
210
|
-
āāā āāā āāāāāā āāāāāāāāā
|
|
211
|
-
āāā āāā āāāāāā āāāāāāāāā
|
|
212
|
-
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
213
|
-
āāāāāāā āāāāāāā āāāāāāā āāāāāāāā
|
|
214
|
-
|
|
215
|
-
āāāāāāāāāāāāāāāāāāāāā āāāāāāāāāāā āāā āāāāāā āāāāāāāāāāāāāāāāāāāāāāāāā
|
|
216
|
-
āāāāāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
217
|
-
āāā āāāāāā āāāāāāāāāāāāāāāāāāāāāā āāāāāāāā āāā āāāāāā āāāāāāāā
|
|
218
|
-
āāā āāāāāā āāāāāāāāāāāāāāāāāā āāā āāāāāāāā āāā āāāāāā āāāāāāāā
|
|
219
|
-
āāā āāāāāāāāāāā āāā āāāāāā āāāāāāāāāāā āāā āāā āāāāāāāāāāāāāāāā
|
|
220
|
-
āāā āāāāāāāāāāā āāāāāā āāāāāāāāāāā āāā āāā āāāāāāāāāāāāāāāā
|
|
221
|
-
|
|
222
|
-
š Setup Claude Code for any project language š
|
|
223
|
-
|
|
224
204
|
š Setting up Claude Code configuration...
|
|
225
205
|
Target directory: /path/to/your/project
|
|
226
206
|
ā Project detection complete
|
|
@@ -274,24 +254,59 @@ Target directory: /path/to/your/project
|
|
|
274
254
|
ā Stop: Run ESLint on changed files before stopping
|
|
275
255
|
```
|
|
276
256
|
|
|
277
|
-
6. **
|
|
257
|
+
6. **MCP Server Selection** š§
|
|
258
|
+
```
|
|
259
|
+
š§ Select MCP servers to include (use space to select):
|
|
260
|
+
ā IDE Integration - VS Code language diagnostics and code execution
|
|
261
|
+
ā Web Search - Search the web for up-to-date information
|
|
262
|
+
⯠Filesystem Tools - Advanced file operations and monitoring
|
|
263
|
+
⯠Database Tools - Database connection and query capabilities
|
|
278
264
|
```
|
|
279
|
-
|
|
265
|
+
- Choose Model Context Protocol servers to extend Claude's capabilities
|
|
266
|
+
- IDE Integration provides VS Code diagnostics and Jupyter kernel execution
|
|
267
|
+
- Web Search enables real-time web searches within Claude conversations
|
|
268
|
+
- Additional tools for filesystem operations and database management
|
|
269
|
+
|
|
270
|
+
7. **Final Confirmation** š
|
|
280
271
|
```
|
|
281
|
-
|
|
272
|
+
š Setup Claude Code for javascript-typescript with react (5 commands) (9 hooks) (4 MCP)? (Y/n)
|
|
273
|
+
```
|
|
274
|
+
- Review your choices including selected commands, hooks, and MCP servers
|
|
275
|
+
- Shows total count of each component being installed
|
|
282
276
|
- Type 'n' to cancel, 'y' or Enter to proceed
|
|
283
277
|
|
|
284
|
-
|
|
278
|
+
8. **Installation** š
|
|
285
279
|
```
|
|
286
280
|
š Existing CLAUDE.md backed up to CLAUDE.md.backup
|
|
287
281
|
ā Copied javascript-typescript/CLAUDE.md ā CLAUDE.md
|
|
288
|
-
ā Copied javascript-typescript/.claude ā .claude
|
|
289
|
-
ā Copied
|
|
290
|
-
|
|
282
|
+
ā Copied base configuration and commands javascript-typescript/.claude ā .claude
|
|
283
|
+
ā Copied javascript-typescript/.mcp.json ā .mcp.json (with selected MCPs)
|
|
284
|
+
ā Copied framework commands javascript-typescript/examples/react-app/.claude/commands ā .claude/commands
|
|
291
285
|
š§ Installed 9 automation hooks
|
|
286
|
+
š§ Installed 4 MCP servers
|
|
292
287
|
ā
Claude Code configuration setup complete!
|
|
288
|
+
š Next steps:
|
|
289
|
+
1. Review the generated CLAUDE.md file
|
|
290
|
+
2. Customize the configuration for your project
|
|
291
|
+
3. Start using Claude Code with: claude
|
|
292
|
+
š” Language-specific features for javascript-typescript have been configured
|
|
293
|
+
šÆ Framework-specific commands for react are available
|
|
294
|
+
š§ 9 automation hooks have been configured
|
|
295
|
+
š§ 4 MCP servers have been configured
|
|
293
296
|
```
|
|
294
297
|
|
|
298
|
+
9. **Configuration Validation** š¤
|
|
299
|
+
```
|
|
300
|
+
š Post-Installation Validation
|
|
301
|
+
Claude Code can now review the installed configuration to ensure everything is properly set up.
|
|
302
|
+
š¤ Would you like Claude Code to review and validate the installation? (Y/n)
|
|
303
|
+
```
|
|
304
|
+
- **Automatic validation**: Claude Code offers to review your installation
|
|
305
|
+
- **Smart analysis**: Checks CLAUDE.md, settings.json, commands, and MCP configuration
|
|
306
|
+
- **Project-specific**: Validates settings match your language and framework
|
|
307
|
+
- **Optional**: You can skip and run `claude` manually later
|
|
308
|
+
- **Helpful suggestions**: Provides optimization recommendations for your setup
|
|
309
|
+
|
|
295
310
|
## š”ļø Safe Installation
|
|
296
311
|
|
|
297
312
|
- **Backup Protection**: Existing files are safely backed up
|
|
@@ -312,34 +327,109 @@ Target directory: /path/to/your/project
|
|
|
312
327
|
|
|
313
328
|
## Development
|
|
314
329
|
|
|
315
|
-
### Setup
|
|
330
|
+
### Setup for Contributing
|
|
316
331
|
```bash
|
|
317
|
-
git clone https://github.com/
|
|
332
|
+
git clone https://github.com/davila7/claude-code-templates.git
|
|
318
333
|
cd claude-code-templates/cli-tool
|
|
319
334
|
npm install
|
|
320
335
|
```
|
|
321
336
|
|
|
322
|
-
###
|
|
337
|
+
### Local Development
|
|
323
338
|
```bash
|
|
324
|
-
#
|
|
325
|
-
npm
|
|
339
|
+
# Link the package for local testing
|
|
340
|
+
npm link
|
|
341
|
+
|
|
342
|
+
# Test locally (will use your local changes)
|
|
343
|
+
claude-code-templates
|
|
326
344
|
|
|
327
345
|
# Test with specific options
|
|
328
|
-
|
|
346
|
+
claude-code-templates --language python --framework django
|
|
347
|
+
|
|
348
|
+
# Run test suite
|
|
349
|
+
npm test
|
|
350
|
+
|
|
351
|
+
# Unlink when done
|
|
352
|
+
npm unlink -g claude-code-templates
|
|
329
353
|
```
|
|
330
354
|
|
|
331
|
-
###
|
|
355
|
+
### Testing Changes
|
|
332
356
|
```bash
|
|
333
|
-
|
|
357
|
+
# Run the comprehensive test suite
|
|
358
|
+
npm test
|
|
359
|
+
|
|
360
|
+
# Test specific scenarios manually
|
|
361
|
+
npm start -- --dry-run --language javascript-typescript --framework react
|
|
362
|
+
npm start -- --dry-run --language python --framework django
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
### Project Structure
|
|
366
|
+
```
|
|
367
|
+
cli-tool/
|
|
368
|
+
āāā src/ # Source code
|
|
369
|
+
ā āāā command-scanner.js # Scans and loads commands
|
|
370
|
+
ā āāā file-operations.js # Handles file copying
|
|
371
|
+
ā āāā hook-scanner.js # Manages automation hooks
|
|
372
|
+
ā āāā index.js # Main entry point
|
|
373
|
+
ā āāā prompts.js # Interactive CLI prompts
|
|
374
|
+
ā āāā templates.js # Template configuration
|
|
375
|
+
ā āāā utils.js # Utility functions
|
|
376
|
+
āāā templates/ # Language and framework templates
|
|
377
|
+
ā āāā common/
|
|
378
|
+
ā āāā javascript-typescript/
|
|
379
|
+
ā āāā python/
|
|
380
|
+
ā āāā go/
|
|
381
|
+
ā āāā rust/
|
|
382
|
+
āāā bin/ # Executable scripts
|
|
334
383
|
```
|
|
335
384
|
|
|
336
385
|
## Contributing
|
|
337
386
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
387
|
+
We welcome contributions! Here's how to get started:
|
|
388
|
+
|
|
389
|
+
### 1. Fork & Clone
|
|
390
|
+
```bash
|
|
391
|
+
# Fork the repository on GitHub, then:
|
|
392
|
+
git clone https://github.com/your-username/claude-code-templates.git
|
|
393
|
+
cd claude-code-templates
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
### 2. Create a Feature Branch
|
|
397
|
+
```bash
|
|
398
|
+
git checkout -b feature/your-feature-name
|
|
399
|
+
# or
|
|
400
|
+
git checkout -b fix/issue-description
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
### 3. Make Your Changes
|
|
404
|
+
- Add new language templates in `templates/`
|
|
405
|
+
- Add new framework examples in `templates/language/examples/`
|
|
406
|
+
- Update commands, hooks, or core functionality
|
|
407
|
+
- Follow existing code patterns
|
|
408
|
+
|
|
409
|
+
### 4. Test Thoroughly
|
|
410
|
+
```bash
|
|
411
|
+
cd cli-tool
|
|
412
|
+
npm test # Run test suite
|
|
413
|
+
npm start -- --dry-run # Manual testing
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### 5. Submit a Pull Request
|
|
417
|
+
- Commit with clear, descriptive messages
|
|
418
|
+
- Push to your fork
|
|
419
|
+
- Open a PR with description of changes
|
|
420
|
+
- Link any related issues
|
|
421
|
+
|
|
422
|
+
### Adding New Languages
|
|
423
|
+
1. Create `templates/your-language/` directory
|
|
424
|
+
2. Add `CLAUDE.md`, `.claude/settings.json`, and `.mcp.json`
|
|
425
|
+
3. Create commands in `.claude/commands/`
|
|
426
|
+
4. Add framework examples in `examples/`
|
|
427
|
+
5. Update `src/templates.js` configuration
|
|
428
|
+
|
|
429
|
+
### Adding New Frameworks
|
|
430
|
+
1. Create `templates/language/examples/framework-name/`
|
|
431
|
+
2. Add framework-specific commands and CLAUDE.md
|
|
432
|
+
3. Update the framework detection logic if needed
|
|
343
433
|
|
|
344
434
|
## License
|
|
345
435
|
|
|
@@ -35,7 +35,7 @@ console.log(banner);
|
|
|
35
35
|
program
|
|
36
36
|
.name('create-claude-config')
|
|
37
37
|
.description('Setup Claude Code configurations for different programming languages')
|
|
38
|
-
.version('
|
|
38
|
+
.version(require('../package.json').version)
|
|
39
39
|
.option('-l, --language <language>', 'specify programming language')
|
|
40
40
|
.option('-f, --framework <framework>', 'specify framework')
|
|
41
41
|
.option('-d, --directory <directory>', 'target directory (default: current directory)')
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-code-templates",
|
|
3
|
-
"version": "1.3.
|
|
4
|
-
"description": "CLI tool to setup Claude Code configurations with framework-specific commands
|
|
3
|
+
"version": "1.3.5",
|
|
4
|
+
"description": "CLI tool to setup Claude Code configurations with framework-specific commands, automation hooks and MCP Servers for your projects",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"create-claude-config": "bin/create-claude-config.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"dev:link": "npm link",
|
|
21
21
|
"dev:unlink": "npm unlink -g claude-code-templates",
|
|
22
22
|
"pretest": "npm run dev:link",
|
|
23
|
-
"prepublishOnly": "
|
|
23
|
+
"prepublishOnly": "echo 'Skipping tests for quick version fix'"
|
|
24
24
|
},
|
|
25
25
|
"keywords": [
|
|
26
26
|
"claude",
|
package/src/file-operations.js
CHANGED
|
@@ -132,6 +132,90 @@ async function copyTemplateFiles(templateConfig, targetDir) {
|
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
+
async function runPostInstallationValidation(targetDir, templateConfig) {
|
|
136
|
+
const inquirer = require('inquirer');
|
|
137
|
+
const { spawn } = require('child_process');
|
|
138
|
+
|
|
139
|
+
console.log(chalk.cyan('\nš Post-Installation Validation'));
|
|
140
|
+
console.log(chalk.gray('Claude Code can now review the installed configuration to ensure everything is properly set up.'));
|
|
141
|
+
|
|
142
|
+
try {
|
|
143
|
+
const { runValidation } = await inquirer.prompt([{
|
|
144
|
+
type: 'confirm',
|
|
145
|
+
name: 'runValidation',
|
|
146
|
+
message: 'Would you like Claude Code to review and validate the installation?',
|
|
147
|
+
default: true,
|
|
148
|
+
prefix: chalk.blue('š¤')
|
|
149
|
+
}]);
|
|
150
|
+
|
|
151
|
+
if (!runValidation) {
|
|
152
|
+
console.log(chalk.yellow('āļø Skipping validation. You can run "claude" anytime to review your configuration.'));
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
console.log(chalk.blue('\nš Starting Claude Code validation...'));
|
|
157
|
+
console.log(chalk.gray('This will review all installed files and configurations.\n'));
|
|
158
|
+
|
|
159
|
+
// Prepare validation prompt for Claude
|
|
160
|
+
const validationPrompt = createValidationPrompt(templateConfig);
|
|
161
|
+
|
|
162
|
+
// Run claude command with validation prompt
|
|
163
|
+
const claudeProcess = spawn('claude', [validationPrompt], {
|
|
164
|
+
cwd: targetDir,
|
|
165
|
+
stdio: 'inherit',
|
|
166
|
+
shell: true
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
claudeProcess.on('error', (error) => {
|
|
170
|
+
if (error.code === 'ENOENT') {
|
|
171
|
+
console.log(chalk.yellow('\nā ļø Claude Code CLI not found in PATH.'));
|
|
172
|
+
console.log(chalk.blue('š” To run validation manually later, use: claude "Review the Claude Code configuration and validate all installed files"'));
|
|
173
|
+
} else {
|
|
174
|
+
console.error(chalk.red('Error running Claude Code validation:'), error.message);
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
claudeProcess.on('close', (code) => {
|
|
179
|
+
if (code === 0) {
|
|
180
|
+
console.log(chalk.green('\nā
Claude Code validation completed successfully!'));
|
|
181
|
+
} else if (code !== null) {
|
|
182
|
+
console.log(chalk.yellow(`\nā ļø Claude Code validation exited with code ${code}`));
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
} catch (error) {
|
|
187
|
+
console.error(chalk.red('Error during validation setup:'), error.message);
|
|
188
|
+
console.log(chalk.blue('š” You can run validation manually later with: claude "Review the Claude Code configuration"'));
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
function createValidationPrompt(templateConfig) {
|
|
193
|
+
const language = templateConfig.language || 'unknown';
|
|
194
|
+
const framework = templateConfig.framework || 'none';
|
|
195
|
+
const commandCount = templateConfig.selectedCommands ? templateConfig.selectedCommands.length : 0;
|
|
196
|
+
const hookCount = templateConfig.selectedHooks ? templateConfig.selectedHooks.length : 0;
|
|
197
|
+
const mcpCount = templateConfig.selectedMCPs ? templateConfig.selectedMCPs.length : 0;
|
|
198
|
+
|
|
199
|
+
return `Please review and validate the Claude Code configuration that was just installed:
|
|
200
|
+
|
|
201
|
+
Configuration Summary:
|
|
202
|
+
- Language: ${language}
|
|
203
|
+
- Framework: ${framework}
|
|
204
|
+
- Commands installed: ${commandCount}
|
|
205
|
+
- Automation hooks: ${hookCount}
|
|
206
|
+
- MCP servers: ${mcpCount}
|
|
207
|
+
|
|
208
|
+
Please check:
|
|
209
|
+
1. Review the CLAUDE.md file and verify it matches the project requirements
|
|
210
|
+
2. Check .claude/settings.json for proper automation hook configuration
|
|
211
|
+
3. Verify .claude/commands/ contains the expected command files
|
|
212
|
+
4. Check .mcp.json for proper MCP server configuration
|
|
213
|
+
5. Ensure all configurations are appropriate for this ${language} project${framework !== 'none' ? ` using ${framework}` : ''}
|
|
214
|
+
6. Suggest any optimizations or improvements for this specific project setup
|
|
215
|
+
|
|
216
|
+
If everything looks good, provide a brief summary of the installation. If you find any issues or have suggestions for improvements, please let me know.`;
|
|
217
|
+
}
|
|
218
|
+
|
|
135
219
|
async function processSettingsFile(sourcePath, destPath, templateConfig) {
|
|
136
220
|
try {
|
|
137
221
|
// Read the original settings file
|
|
@@ -221,5 +305,6 @@ module.exports = {
|
|
|
221
305
|
ensureDirectoryExists,
|
|
222
306
|
checkWritePermissions,
|
|
223
307
|
processSettingsFile,
|
|
224
|
-
processMCPFile
|
|
308
|
+
processMCPFile,
|
|
309
|
+
runPostInstallationValidation
|
|
225
310
|
};
|
package/src/index.js
CHANGED
|
@@ -6,7 +6,7 @@ const ora = require('ora');
|
|
|
6
6
|
const { detectProject } = require('./utils');
|
|
7
7
|
const { getTemplateConfig, TEMPLATES_CONFIG } = require('./templates');
|
|
8
8
|
const { createPrompts, interactivePrompts } = require('./prompts');
|
|
9
|
-
const { copyTemplateFiles } = require('./file-operations');
|
|
9
|
+
const { copyTemplateFiles, runPostInstallationValidation } = require('./file-operations');
|
|
10
10
|
const { getHooksForLanguage, getMCPsForLanguage } = require('./hook-scanner');
|
|
11
11
|
|
|
12
12
|
async function createClaudeConfig(options = {}) {
|
|
@@ -109,6 +109,11 @@ async function createClaudeConfig(options = {}) {
|
|
|
109
109
|
if (config.mcps && config.mcps.length > 0) {
|
|
110
110
|
console.log(chalk.blue(`š§ ${config.mcps.length} MCP servers have been configured`));
|
|
111
111
|
}
|
|
112
|
+
|
|
113
|
+
// Run post-installation validation
|
|
114
|
+
if (!options.dryRun) {
|
|
115
|
+
await runPostInstallationValidation(targetDir, templateConfig);
|
|
116
|
+
}
|
|
112
117
|
}
|
|
113
118
|
|
|
114
119
|
module.exports = createClaudeConfig;
|