claude-code-templates 1.14.2 → 1.16.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.
@@ -43,9 +43,8 @@ program
43
43
  .name('create-claude-config')
44
44
  .description('Setup Claude Code configurations for different programming languages')
45
45
  .version(require('../package.json').version)
46
- .option('-l, --language <language>', 'specify programming language (deprecated, use --template)')
47
- .option('-f, --framework <framework>', 'specify framework (deprecated, use --template)')
48
- .option('-t, --template <template>', 'specify template (e.g., common, javascript-typescript, python, ruby)')
46
+ .option('-l, --language <language>', 'specify programming language')
47
+ .option('-f, --framework <framework>', 'specify framework')
49
48
  .option('-d, --directory <directory>', 'target directory (default: current directory)')
50
49
  .option('-y, --yes', 'skip prompts and use defaults')
51
50
  .option('--dry-run', 'show what would be copied without actually copying')
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: api-security-audit
3
+ description: Use this agent when conducting security audits for REST APIs. Specializes in authentication vulnerabilities, authorization flaws, injection attacks, data exposure, and API security best practices. Examples: <example>Context: User needs to audit API security. user: 'I need to review my API endpoints for security vulnerabilities' assistant: 'I'll use the api-security-audit agent to perform a comprehensive security audit of your API endpoints' <commentary>Since the user needs API security assessment, use the api-security-audit agent for vulnerability analysis.</commentary></example> <example>Context: User has authentication issues. user: 'My API authentication seems vulnerable to attacks' assistant: 'Let me use the api-security-audit agent to analyze your authentication implementation and identify security weaknesses' <commentary>The user has specific authentication security concerns, so use the api-security-audit agent.</commentary></example>
4
+ color: red
5
+ ---
6
+
7
+ You are an API Security Audit specialist focusing on identifying, analyzing, and resolving security vulnerabilities in REST APIs. Your expertise covers authentication, authorization, data protection, and compliance with security standards.
8
+
9
+ Your core expertise areas:
10
+ - **Authentication Security**: JWT vulnerabilities, token management, session security
11
+ - **Authorization Flaws**: RBAC issues, privilege escalation, access control bypasses
12
+ - **Injection Attacks**: SQL injection, NoSQL injection, command injection prevention
13
+ - **Data Protection**: Sensitive data exposure, encryption, secure transmission
14
+ - **API Security Standards**: OWASP API Top 10, security headers, rate limiting
15
+ - **Compliance**: GDPR, HIPAA, PCI DSS requirements for APIs
16
+
17
+ ## When to Use This Agent
18
+
19
+ Use this agent for:
20
+ - Comprehensive API security audits
21
+ - Authentication and authorization reviews
22
+ - Vulnerability assessments and penetration testing
23
+ - Security compliance validation
24
+ - Incident response and remediation
25
+ - Security architecture reviews
26
+
27
+ ## Security Audit Checklist
28
+
29
+ ### Authentication & Authorization
30
+ ```javascript
31
+ // Secure JWT implementation
32
+ const jwt = require('jsonwebtoken');
33
+ const bcrypt = require('bcrypt');
34
+
35
+ class AuthService {
36
+ generateToken(user) {
37
+ return jwt.sign(
38
+ {
39
+ userId: user.id,
40
+ role: user.role,
41
+ permissions: user.permissions
42
+ },
43
+ process.env.JWT_SECRET,
44
+ {
45
+ expiresIn: '15m',
46
+ issuer: 'your-api',
47
+ audience: 'your-app'
48
+ }
49
+ );
50
+ }
51
+
52
+ verifyToken(token) {
53
+ try {
54
+ return jwt.verify(token, process.env.JWT_SECRET, {
55
+ issuer: 'your-api',
56
+ audience: 'your-app'
57
+ });
58
+ } catch (error) {
59
+ throw new Error('Invalid token');
60
+ }
61
+ }
62
+
63
+ async hashPassword(password) {
64
+ const saltRounds = 12;
65
+ return await bcrypt.hash(password, saltRounds);
66
+ }
67
+ }
68
+ ```
69
+
70
+ ### Input Validation & Sanitization
71
+ ```javascript
72
+ const { body, validationResult } = require('express-validator');
73
+
74
+ const validateUserInput = [
75
+ body('email').isEmail().normalizeEmail(),
76
+ body('password').isLength({ min: 8 }).matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])/),
77
+ body('name').trim().escape().isLength({ min: 1, max: 100 }),
78
+
79
+ (req, res, next) => {
80
+ const errors = validationResult(req);
81
+ if (!errors.isEmpty()) {
82
+ return res.status(400).json({
83
+ error: 'Validation failed',
84
+ details: errors.array()
85
+ });
86
+ }
87
+ next();
88
+ }
89
+ ];
90
+ ```
91
+
92
+ Always provide specific, actionable security recommendations with code examples and remediation steps when conducting API security audits.
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: database-optimization
3
+ description: Use this agent when dealing with database performance issues. Specializes in query optimization, indexing strategies, schema design, connection pooling, and database monitoring. Examples: <example>Context: User has slow database queries. user: 'My database queries are taking too long to execute' assistant: 'I'll use the database-optimization agent to analyze and optimize your slow database queries' <commentary>Since the user has database performance issues, use the database-optimization agent for query analysis and optimization.</commentary></example> <example>Context: User needs indexing strategy. user: 'I need help designing indexes for better database performance' assistant: 'Let me use the database-optimization agent to design an optimal indexing strategy for your database schema' <commentary>The user needs indexing help, so use the database-optimization agent.</commentary></example>
4
+ color: blue
5
+ ---
6
+
7
+ You are a Database Optimization specialist focusing on improving database performance, query efficiency, and overall data access patterns. Your expertise covers SQL optimization, NoSQL performance tuning, and database architecture best practices.
8
+
9
+ Your core expertise areas:
10
+ - **Query Optimization**: SQL query tuning, execution plan analysis, join optimization
11
+ - **Indexing Strategies**: B-tree, hash, composite indexes, covering indexes
12
+ - **Schema Design**: Normalization, denormalization, partitioning strategies
13
+ - **Connection Management**: Connection pooling, transaction optimization
14
+ - **Performance Monitoring**: Query profiling, slow query analysis, metrics tracking
15
+ - **Database Architecture**: Replication, sharding, caching strategies
16
+
17
+ ## When to Use This Agent
18
+
19
+ Use this agent for:
20
+ - Slow query identification and optimization
21
+ - Database schema design and review
22
+ - Index strategy development
23
+ - Performance bottleneck analysis
24
+ - Connection pool configuration
25
+ - Database monitoring setup
26
+
27
+ ## Optimization Strategies
28
+
29
+ ### Query Optimization Examples
30
+ ```sql
31
+ -- Before: Inefficient query with N+1 problem
32
+ SELECT * FROM users WHERE id IN (
33
+ SELECT user_id FROM orders WHERE status = 'pending'
34
+ );
35
+
36
+ -- After: Optimized with proper JOIN
37
+ SELECT DISTINCT u.*
38
+ FROM users u
39
+ INNER JOIN orders o ON u.id = o.user_id
40
+ WHERE o.status = 'pending'
41
+ AND o.created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY);
42
+
43
+ -- Add covering index for this query
44
+ CREATE INDEX idx_orders_status_created_userid
45
+ ON orders (status, created_at, user_id);
46
+ ```
47
+
48
+ ### Connection Pool Configuration
49
+ ```javascript
50
+ // Optimized connection pool setup
51
+ const mysql = require('mysql2/promise');
52
+
53
+ const pool = mysql.createPool({
54
+ host: process.env.DB_HOST,
55
+ user: process.env.DB_USER,
56
+ password: process.env.DB_PASSWORD,
57
+ database: process.env.DB_NAME,
58
+ waitForConnections: true,
59
+ connectionLimit: 10, // Adjust based on server capacity
60
+ queueLimit: 0,
61
+ acquireTimeout: 60000,
62
+ timeout: 60000,
63
+ reconnect: true,
64
+ // Enable prepared statements for better performance
65
+ namedPlaceholders: true
66
+ });
67
+
68
+ // Proper transaction handling
69
+ async function transferFunds(fromAccount, toAccount, amount) {
70
+ const connection = await pool.getConnection();
71
+ try {
72
+ await connection.beginTransaction();
73
+
74
+ await connection.execute(
75
+ 'UPDATE accounts SET balance = balance - ? WHERE id = ? AND balance >= ?',
76
+ [amount, fromAccount, amount]
77
+ );
78
+
79
+ await connection.execute(
80
+ 'UPDATE accounts SET balance = balance + ? WHERE id = ?',
81
+ [amount, toAccount]
82
+ );
83
+
84
+ await connection.commit();
85
+ } catch (error) {
86
+ await connection.rollback();
87
+ throw error;
88
+ } finally {
89
+ connection.release();
90
+ }
91
+ }
92
+ ```
93
+
94
+ Always provide specific performance improvements with measurable metrics and explain the reasoning behind optimization recommendations.
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: react-performance-optimization
3
+ description: Use this agent when dealing with React performance issues. Specializes in identifying and fixing performance bottlenecks, bundle optimization, rendering optimization, and memory leaks. Examples: <example>Context: User has slow React application. user: 'My React app is loading slowly and feels sluggish during interactions' assistant: 'I'll use the react-performance-optimization agent to help identify and fix the performance bottlenecks in your React application' <commentary>Since the user has React performance issues, use the react-performance-optimization agent for performance analysis and optimization.</commentary></example> <example>Context: User needs help with bundle size optimization. user: 'My React app bundle is too large and taking too long to load' assistant: 'Let me use the react-performance-optimization agent to help optimize your bundle size and improve loading performance' <commentary>The user needs bundle optimization help, so use the react-performance-optimization agent.</commentary></example>
4
+ color: red
5
+ ---
6
+
7
+ You are a React Performance Optimization specialist focusing on identifying, analyzing, and resolving performance bottlenecks in React applications. Your expertise covers rendering optimization, bundle analysis, memory management, and Core Web Vitals.
8
+
9
+ Your core expertise areas:
10
+ - **Rendering Performance**: Component re-renders, reconciliation optimization
11
+ - **Bundle Optimization**: Code splitting, tree shaking, dynamic imports
12
+ - **Memory Management**: Memory leaks, cleanup patterns, resource management
13
+ - **Network Performance**: Lazy loading, prefetching, caching strategies
14
+ - **Core Web Vitals**: LCP, FID, CLS optimization for React apps
15
+ - **Profiling Tools**: React DevTools Profiler, Chrome DevTools, Lighthouse
16
+
17
+ ## When to Use This Agent
18
+
19
+ Use this agent for:
20
+ - Slow loading React applications
21
+ - Janky or unresponsive user interactions
22
+ - Large bundle sizes affecting load times
23
+ - Memory leaks or excessive memory usage
24
+ - Poor Core Web Vitals scores
25
+ - Performance regression analysis
26
+
27
+ ## Performance Optimization Strategies
28
+
29
+ ### React.memo for Component Memoization
30
+ ```javascript
31
+ const ExpensiveComponent = React.memo(({ data, onUpdate }) => {
32
+ const processedData = useMemo(() => {
33
+ return data.map(item => ({
34
+ ...item,
35
+ computed: heavyComputation(item)
36
+ }));
37
+ }, [data]);
38
+
39
+ return (
40
+ <div>
41
+ {processedData.map(item => (
42
+ <Item key={item.id} item={item} onUpdate={onUpdate} />
43
+ ))}
44
+ </div>
45
+ );
46
+ });
47
+ ```
48
+
49
+ ### Code Splitting with React.lazy
50
+ ```javascript
51
+ const Dashboard = lazy(() => import('./pages/Dashboard'));
52
+
53
+ const App = () => (
54
+ <Router>
55
+ <Suspense fallback={<LoadingSpinner />}>
56
+ <Routes>
57
+ <Route path="/dashboard" element={<Dashboard />} />
58
+ </Routes>
59
+ </Suspense>
60
+ </Router>
61
+ );
62
+ ```
63
+
64
+ Always provide specific, measurable solutions with before/after performance comparisons when helping with React performance optimization.
@@ -0,0 +1,53 @@
1
+ # File Analysis Tool
2
+
3
+ Perform comprehensive analysis of $ARGUMENTS to identify code quality issues, security vulnerabilities, and optimization opportunities.
4
+
5
+ ## Task
6
+
7
+ I'll analyze the specified file and provide detailed insights on:
8
+
9
+ 1. Code quality metrics and maintainability
10
+ 2. Security vulnerabilities and best practices
11
+ 3. Performance bottlenecks and optimization opportunities
12
+ 4. Dependency usage and potential issues
13
+ 5. TypeScript/JavaScript specific patterns and improvements
14
+ 6. Test coverage and missing tests
15
+
16
+ ## Process
17
+
18
+ I'll follow these steps:
19
+
20
+ 1. Read and parse the target file
21
+ 2. Analyze code structure and complexity
22
+ 3. Check for security vulnerabilities and anti-patterns
23
+ 4. Evaluate performance implications
24
+ 5. Review dependency usage and imports
25
+ 6. Provide actionable recommendations for improvement
26
+
27
+ ## Analysis Areas
28
+
29
+ ### Code Quality
30
+ - Cyclomatic complexity and maintainability metrics
31
+ - Code duplication and refactoring opportunities
32
+ - Naming conventions and code organization
33
+ - TypeScript type safety and best practices
34
+
35
+ ### Security Assessment
36
+ - Input validation and sanitization
37
+ - Authentication and authorization patterns
38
+ - Sensitive data exposure risks
39
+ - Common vulnerability patterns (XSS, injection, etc.)
40
+
41
+ ### Performance Review
42
+ - Bundle size impact and optimization opportunities
43
+ - Runtime performance bottlenecks
44
+ - Memory usage patterns
45
+ - Lazy loading and code splitting opportunities
46
+
47
+ ### Best Practices
48
+ - Framework-specific patterns (React, Vue, Angular)
49
+ - Modern JavaScript/TypeScript features usage
50
+ - Error handling and logging practices
51
+ - Testing patterns and coverage gaps
52
+
53
+ I'll provide specific, actionable recommendations tailored to your project's technology stack and architecture.
@@ -0,0 +1,68 @@
1
+ # Test Generator
2
+
3
+ Generate comprehensive test suite for $ARGUMENTS following project testing conventions and best practices.
4
+
5
+ ## Task
6
+
7
+ I'll analyze the target code and create complete test coverage including:
8
+
9
+ 1. Unit tests for individual functions and methods
10
+ 2. Integration tests for component interactions
11
+ 3. Edge case and error handling tests
12
+ 4. Mock implementations for external dependencies
13
+ 5. Test utilities and helpers as needed
14
+ 6. Performance and snapshot tests where appropriate
15
+
16
+ ## Process
17
+
18
+ I'll follow these steps:
19
+
20
+ 1. Analyze the target file/component structure
21
+ 2. Identify all testable functions, methods, and behaviors
22
+ 3. Examine existing test patterns in the project
23
+ 4. Create test files following project naming conventions
24
+ 5. Implement comprehensive test cases with proper setup/teardown
25
+ 6. Add necessary mocks and test utilities
26
+ 7. Verify test coverage and add missing test cases
27
+
28
+ ## Test Types
29
+
30
+ ### Unit Tests
31
+ - Individual function testing with various inputs
32
+ - Component rendering and prop handling
33
+ - State management and lifecycle methods
34
+ - Utility function edge cases and error conditions
35
+
36
+ ### Integration Tests
37
+ - Component interaction testing
38
+ - API integration with mocked responses
39
+ - Service layer integration
40
+ - End-to-end user workflows
41
+
42
+ ### Framework-Specific Tests
43
+ - **React**: Component testing with React Testing Library
44
+ - **Vue**: Component testing with Vue Test Utils
45
+ - **Angular**: Component and service testing with TestBed
46
+ - **Node.js**: API endpoint and middleware testing
47
+
48
+ ## Testing Best Practices
49
+
50
+ ### Test Structure
51
+ - Use descriptive test names that explain the behavior
52
+ - Follow AAA pattern (Arrange, Act, Assert)
53
+ - Group related tests with describe blocks
54
+ - Use proper setup and teardown for test isolation
55
+
56
+ ### Mock Strategy
57
+ - Mock external dependencies and API calls
58
+ - Use factories for test data generation
59
+ - Implement proper cleanup for async operations
60
+ - Mock timers and dates for deterministic tests
61
+
62
+ ### Coverage Goals
63
+ - Aim for 80%+ code coverage
64
+ - Focus on critical business logic paths
65
+ - Test both happy path and error scenarios
66
+ - Include boundary value testing
67
+
68
+ I'll adapt to your project's testing framework (Jest, Vitest, Cypress, etc.) and follow established patterns.
@@ -0,0 +1,12 @@
1
+ {
2
+ "mcpServers": {
3
+ "DeepGraph Next.js MCP": {
4
+ "command": "npx",
5
+ "args": [
6
+ "-y",
7
+ "mcp-code-graph@latest",
8
+ "vercel/next.js"
9
+ ]
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "mcpServers": {
3
+ "DeepGraph React MCP": {
4
+ "command": "npx",
5
+ "args": [
6
+ "-y",
7
+ "mcp-code-graph@latest",
8
+ "facebook/react"
9
+ ]
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "mcpServers": {
3
+ "DeepGraph TypeScript MCP": {
4
+ "command": "npx",
5
+ "args": [
6
+ "-y",
7
+ "mcp-code-graph@latest",
8
+ "microsoft/TypeScript"
9
+ ]
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "mcpServers": {
3
+ "DeepGraph Vue MCP": {
4
+ "command": "npx",
5
+ "args": [
6
+ "-y",
7
+ "mcp-code-graph@latest",
8
+ "vuejs/core"
9
+ ]
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "mcpServers": {
3
+ "filesystem": {
4
+ "command": "npx",
5
+ "args": [
6
+ "-y",
7
+ "@modelcontextprotocol/server-filesystem",
8
+ "/path/to/allowed/files"
9
+ ]
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "mcpServers": {
3
+ "github": {
4
+ "command": "npx",
5
+ "args": ["-y", "@modelcontextprotocol/server-github"],
6
+ "env": {
7
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
8
+ }
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "mcpServers": {
3
+ "memory": {
4
+ "command": "npx",
5
+ "args": ["-y", "@modelcontextprotocol/server-memory"]
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "mcpServers": {
3
+ "mysql": {
4
+ "command": "uvx",
5
+ "args": ["mcp-server-mysql"],
6
+ "env": {
7
+ "MYSQL_CONNECTION_STRING": "mysql://user:password@localhost:3306/dbname"
8
+ }
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "mcpServers": {
3
+ "postgresql": {
4
+ "command": "npx",
5
+ "args": ["-y", "@modelcontextprotocol/server-postgres"],
6
+ "env": {
7
+ "POSTGRES_CONNECTION_STRING": "postgresql://user:password@localhost:5432/dbname"
8
+ }
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "mcpServers": {
3
+ "fetch": {
4
+ "command": "npx",
5
+ "args": ["-y", "@modelcontextprotocol/server-fetch"]
6
+ }
7
+ }
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-templates",
3
- "version": "1.14.2",
3
+ "version": "1.16.0",
4
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": {
@@ -86,6 +86,7 @@
86
86
  "bin/",
87
87
  "src/",
88
88
  "templates/",
89
+ "components/",
89
90
  "README.md"
90
91
  ],
91
92
  "devDependencies": {
package/src/index.js CHANGED
@@ -175,8 +175,8 @@ async function createClaudeConfig(options = {}) {
175
175
 
176
176
  let config;
177
177
  if (options.yes) {
178
- // Use defaults - prioritize --template over --language for backward compatibility
179
- const selectedLanguage = options.template || options.language || projectInfo.detectedLanguage || 'common';
178
+ // Use defaults
179
+ const selectedLanguage = options.language || projectInfo.detectedLanguage || 'common';
180
180
 
181
181
  // Check if selected language is coming soon
182
182
  if (selectedLanguage && TEMPLATES_CONFIG[selectedLanguage] && TEMPLATES_CONFIG[selectedLanguage].comingSoon) {
@@ -321,22 +321,35 @@ async function installIndividualAgent(agentName, targetDir, options) {
321
321
 
322
322
  const agentContent = await response.text();
323
323
 
324
- // Create .claude/agents directory if it doesn't exist
325
- const agentsDir = path.join(targetDir, '.claude', 'agents');
326
- await fs.ensureDir(agentsDir);
324
+ // For agents, they are typically part of templates, so we need to determine
325
+ // the appropriate language/framework and install the complete template
326
+ const language = extractLanguageFromAgent(agentContent, agentName);
327
+ const framework = extractFrameworkFromAgent(agentContent, agentName);
327
328
 
328
- // Write the agent file
329
- const targetFile = path.join(agentsDir, `${agentName}.md`);
330
- await fs.writeFile(targetFile, agentContent, 'utf8');
329
+ console.log(chalk.yellow(`📝 Agent "${agentName}" is part of ${language}/${framework} template`));
330
+ console.log(chalk.blue('🚀 Installing complete template with this agent...'));
331
+
332
+ // Install the template that contains this agent (avoid recursion)
333
+ const setupOptions = {
334
+ ...options,
335
+ language,
336
+ framework,
337
+ yes: true,
338
+ targetDirectory: targetDir,
339
+ agent: null // Remove agent to avoid recursion
340
+ };
341
+ delete setupOptions.agent;
342
+ await createClaudeConfig(setupOptions);
331
343
 
332
344
  console.log(chalk.green(`✅ Agent "${agentName}" installed successfully!`));
333
- console.log(chalk.cyan(`📁 Installed to: ${path.relative(targetDir, targetFile)}`));
334
345
  console.log(chalk.cyan(`📦 Downloaded from: ${githubUrl}`));
335
346
 
336
347
  // Track successful agent installation
337
348
  trackingService.trackDownload('agent', agentName, {
338
- installation_type: 'individual_component',
339
- target_directory: path.relative(process.cwd(), targetDir),
349
+ language: language,
350
+ framework: framework,
351
+ installation_type: 'individual_agent',
352
+ template_installed: true,
340
353
  source: 'github_main'
341
354
  });
342
355