i18n(uk): add missing files, translate P4 root docs
- Copy code/image/config files across all modules - Translate brand-voice and code-review templates - Translate CONTRIBUTING, CODE_OF_CONDUCT, SECURITY, STYLE_GUIDE - Copy CHANGELOG as-is (technical log) Ref: luongnv89/claude-howto#63
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "devops-automation",
|
||||
"version": "1.0.0",
|
||||
"description": "Complete DevOps automation for deployment, monitoring, and incident response",
|
||||
"author": {
|
||||
"name": "Community"
|
||||
},
|
||||
"license": "MIT"
|
||||
}
|
||||
107
uk/07-plugins/devops-automation/README.md
Normal file
107
uk/07-plugins/devops-automation/README.md
Normal file
@@ -0,0 +1,107 @@
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="../../resources/logos/claude-howto-logo-dark.svg">
|
||||
<img alt="Claude How To" src="../../resources/logos/claude-howto-logo.svg">
|
||||
</picture>
|
||||
|
||||
# DevOps Automation Plugin
|
||||
|
||||
Complete DevOps automation for deployment, monitoring, and incident response.
|
||||
|
||||
## Features
|
||||
|
||||
✅ Automated deployments
|
||||
✅ Rollback procedures
|
||||
✅ System health monitoring
|
||||
✅ Incident response workflows
|
||||
✅ Kubernetes integration
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
/plugin install devops-automation
|
||||
```
|
||||
|
||||
## What's Included
|
||||
|
||||
### Slash Commands
|
||||
- `/deploy` - Deploy to production or staging
|
||||
- `/rollback` - Rollback to previous version
|
||||
- `/status` - Check system health
|
||||
- `/incident` - Handle production incidents
|
||||
|
||||
### Subagents
|
||||
- `deployment-specialist` - Deployment operations
|
||||
- `incident-commander` - Incident coordination
|
||||
- `alert-analyzer` - System health analysis
|
||||
|
||||
### MCP Servers
|
||||
- Kubernetes integration
|
||||
|
||||
### Scripts
|
||||
- `deploy.sh` - Deployment automation
|
||||
- `rollback.sh` - Rollback automation
|
||||
- `health-check.sh` - Health check utilities
|
||||
|
||||
### Hooks
|
||||
- `pre-deploy.js` - Pre-deployment validation
|
||||
- `post-deploy.js` - Post-deployment tasks
|
||||
|
||||
## Usage
|
||||
|
||||
### Deploy to Staging
|
||||
```
|
||||
/deploy staging
|
||||
```
|
||||
|
||||
### Deploy to Production
|
||||
```
|
||||
/deploy production
|
||||
```
|
||||
|
||||
### Rollback
|
||||
```
|
||||
/rollback production
|
||||
```
|
||||
|
||||
### Check Status
|
||||
```
|
||||
/status
|
||||
```
|
||||
|
||||
### Handle Incident
|
||||
```
|
||||
/incident
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
- Claude Code 1.0+
|
||||
- Kubernetes CLI (kubectl)
|
||||
- Cluster access configured
|
||||
|
||||
## Configuration
|
||||
|
||||
Set up your Kubernetes config:
|
||||
```bash
|
||||
export KUBECONFIG=~/.kube/config
|
||||
```
|
||||
|
||||
## Example Workflow
|
||||
|
||||
```
|
||||
User: /deploy production
|
||||
|
||||
Claude:
|
||||
1. Runs pre-deploy hook (validates kubectl, cluster connection)
|
||||
2. Delegates to deployment-specialist subagent
|
||||
3. Runs deploy.sh script
|
||||
4. Monitors deployment progress via Kubernetes MCP
|
||||
5. Runs post-deploy hook (waits for pods, smoke tests)
|
||||
6. Provides deployment summary
|
||||
|
||||
Result:
|
||||
✅ Deployment complete
|
||||
📦 Version: v2.1.0
|
||||
🚀 Pods: 3/3 ready
|
||||
⏱️ Time: 2m 34s
|
||||
```
|
||||
14
uk/07-plugins/devops-automation/agents/alert-analyzer.md
Normal file
14
uk/07-plugins/devops-automation/agents/alert-analyzer.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: alert-analyzer
|
||||
description: Analyzes monitoring alerts and system metrics
|
||||
tools: read, grep, bash
|
||||
---
|
||||
|
||||
# Alert Analyzer
|
||||
|
||||
Analyzes system health and alerts:
|
||||
- Alert correlation
|
||||
- Trend analysis
|
||||
- Root cause identification
|
||||
- Metric visualization
|
||||
- Proactive issue detection
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: deployment-specialist
|
||||
description: Handles all deployment operations
|
||||
tools: read, write, bash, grep
|
||||
---
|
||||
|
||||
# Deployment Specialist
|
||||
|
||||
Expert in deployment operations:
|
||||
- Blue-green deployments
|
||||
- Canary releases
|
||||
- Rollback procedures
|
||||
- Health checks
|
||||
- Database migrations
|
||||
14
uk/07-plugins/devops-automation/agents/incident-commander.md
Normal file
14
uk/07-plugins/devops-automation/agents/incident-commander.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: incident-commander
|
||||
description: Coordinates incident response
|
||||
tools: read, write, bash, grep
|
||||
---
|
||||
|
||||
# Incident Commander
|
||||
|
||||
Manages incident response:
|
||||
- Severity assessment
|
||||
- Team coordination
|
||||
- Status updates
|
||||
- Resolution tracking
|
||||
- Post-mortem facilitation
|
||||
15
uk/07-plugins/devops-automation/commands/deploy.md
Normal file
15
uk/07-plugins/devops-automation/commands/deploy.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: Deploy
|
||||
description: Deploy application to production or staging
|
||||
---
|
||||
|
||||
# Deploy Application
|
||||
|
||||
Execute deployment workflow:
|
||||
|
||||
1. Run pre-deployment checks
|
||||
2. Build application
|
||||
3. Run tests
|
||||
4. Deploy to target environment
|
||||
5. Run health checks
|
||||
6. Notify team on Slack
|
||||
16
uk/07-plugins/devops-automation/commands/incident.md
Normal file
16
uk/07-plugins/devops-automation/commands/incident.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
name: Incident Response
|
||||
description: Handle production incidents with structured response
|
||||
---
|
||||
|
||||
# Incident Response
|
||||
|
||||
Structured incident response workflow:
|
||||
|
||||
1. Create incident record
|
||||
2. Assess severity and impact
|
||||
3. Notify on-call team
|
||||
4. Gather diagnostic information
|
||||
5. Coordinate response efforts
|
||||
6. Document resolution
|
||||
7. Schedule post-mortem
|
||||
14
uk/07-plugins/devops-automation/commands/rollback.md
Normal file
14
uk/07-plugins/devops-automation/commands/rollback.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: Rollback
|
||||
description: Rollback to previous deployment
|
||||
---
|
||||
|
||||
# Rollback Deployment
|
||||
|
||||
Rollback to previous stable version:
|
||||
|
||||
1. Identify previous deployment
|
||||
2. Verify rollback target is healthy
|
||||
3. Execute rollback procedure
|
||||
4. Run health checks
|
||||
5. Notify team
|
||||
15
uk/07-plugins/devops-automation/commands/status.md
Normal file
15
uk/07-plugins/devops-automation/commands/status.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: System Status
|
||||
description: Check overall system health and status
|
||||
---
|
||||
|
||||
# System Status Check
|
||||
|
||||
Check system health across all services:
|
||||
|
||||
1. Query Kubernetes pod status
|
||||
2. Check database connections
|
||||
3. Monitor API response times
|
||||
4. Review error rates
|
||||
5. Check resource utilization
|
||||
6. Report overall health
|
||||
34
uk/07-plugins/devops-automation/hooks/post-deploy.js
Normal file
34
uk/07-plugins/devops-automation/hooks/post-deploy.js
Normal file
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Post-deployment hook
|
||||
* Runs after deployment completes
|
||||
*/
|
||||
|
||||
async function postDeploy() {
|
||||
console.log('Running post-deployment tasks...');
|
||||
|
||||
const { execSync } = require('child_process');
|
||||
|
||||
// Wait for pods to be ready
|
||||
console.log('Waiting for pods to be ready...');
|
||||
try {
|
||||
execSync('kubectl wait --for=condition=ready pod -l app=myapp --timeout=300s', {
|
||||
stdio: 'inherit'
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('❌ Pods failed to become ready');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Run smoke tests
|
||||
console.log('Running smoke tests...');
|
||||
// Add your smoke test commands here
|
||||
|
||||
console.log('✅ Post-deployment tasks complete');
|
||||
}
|
||||
|
||||
postDeploy().catch(error => {
|
||||
console.error('Post-deploy hook failed:', error);
|
||||
process.exit(1);
|
||||
});
|
||||
35
uk/07-plugins/devops-automation/hooks/pre-deploy.js
Normal file
35
uk/07-plugins/devops-automation/hooks/pre-deploy.js
Normal file
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Pre-deployment hook
|
||||
* Validates environment and prerequisites before deployment
|
||||
*/
|
||||
|
||||
async function preDeploy() {
|
||||
console.log('Running pre-deployment checks...');
|
||||
|
||||
const { execSync } = require('child_process');
|
||||
|
||||
// Check if kubectl is installed
|
||||
try {
|
||||
execSync('which kubectl', { stdio: 'pipe' });
|
||||
} catch (error) {
|
||||
console.error('❌ kubectl not found. Please install Kubernetes CLI.');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Check if connected to cluster
|
||||
try {
|
||||
execSync('kubectl cluster-info', { stdio: 'pipe' });
|
||||
} catch (error) {
|
||||
console.error('❌ Not connected to Kubernetes cluster');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log('✅ Pre-deployment checks passed');
|
||||
}
|
||||
|
||||
preDeploy().catch(error => {
|
||||
console.error('Pre-deploy hook failed:', error);
|
||||
process.exit(1);
|
||||
});
|
||||
11
uk/07-plugins/devops-automation/mcp/kubernetes-config.json
Normal file
11
uk/07-plugins/devops-automation/mcp/kubernetes-config.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"kubernetes": {
|
||||
"command": "npx",
|
||||
"args": ["@modelcontextprotocol/server-kubernetes"],
|
||||
"env": {
|
||||
"KUBECONFIG": "${KUBECONFIG}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
28
uk/07-plugins/devops-automation/scripts/deploy.sh
Normal file
28
uk/07-plugins/devops-automation/scripts/deploy.sh
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "🚀 Starting deployment..."
|
||||
|
||||
# Load environment
|
||||
ENV=${1:-staging}
|
||||
echo "📦 Target environment: $ENV"
|
||||
|
||||
# Pre-deployment checks
|
||||
echo "✓ Running pre-deployment checks..."
|
||||
npm run lint
|
||||
npm test
|
||||
|
||||
# Build
|
||||
echo "🔨 Building application..."
|
||||
npm run build
|
||||
|
||||
# Deploy
|
||||
echo "🚢 Deploying to $ENV..."
|
||||
kubectl apply -f k8s/$ENV/
|
||||
|
||||
# Health check
|
||||
echo "🏥 Running health checks..."
|
||||
sleep 10
|
||||
curl -f http://api.$ENV.example.com/health
|
||||
|
||||
echo "✅ Deployment complete!"
|
||||
30
uk/07-plugins/devops-automation/scripts/health-check.sh
Normal file
30
uk/07-plugins/devops-automation/scripts/health-check.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "🏥 System Health Check"
|
||||
echo "===================="
|
||||
|
||||
ENV=${1:-production}
|
||||
|
||||
# Check API
|
||||
echo -n "API: "
|
||||
if curl -sf http://api.$ENV.example.com/health > /dev/null; then
|
||||
echo "✅ Healthy"
|
||||
else
|
||||
echo "❌ Unhealthy"
|
||||
fi
|
||||
|
||||
# Check Database
|
||||
echo -n "Database: "
|
||||
if pg_isready -h db.$ENV.example.com > /dev/null 2>&1; then
|
||||
echo "✅ Healthy"
|
||||
else
|
||||
echo "❌ Unhealthy"
|
||||
fi
|
||||
|
||||
# Check Pods
|
||||
echo -n "Kubernetes Pods: "
|
||||
PODS_READY=$(kubectl get pods -n $ENV --no-headers | grep "Running" | wc -l)
|
||||
PODS_TOTAL=$(kubectl get pods -n $ENV --no-headers | wc -l)
|
||||
echo "$PODS_READY/$PODS_TOTAL ready"
|
||||
|
||||
echo "===================="
|
||||
25
uk/07-plugins/devops-automation/scripts/rollback.sh
Normal file
25
uk/07-plugins/devops-automation/scripts/rollback.sh
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "⏪ Starting rollback..."
|
||||
|
||||
ENV=${1:-staging}
|
||||
echo "📦 Target environment: $ENV"
|
||||
|
||||
# Get previous deployment
|
||||
PREVIOUS=$(kubectl rollout history deployment/app -n $ENV | tail -2 | head -1 | awk '{print $1}')
|
||||
echo "🔄 Rolling back to revision: $PREVIOUS"
|
||||
|
||||
# Execute rollback
|
||||
kubectl rollout undo deployment/app -n $ENV
|
||||
|
||||
# Wait for rollback
|
||||
echo "⏳ Waiting for rollback to complete..."
|
||||
kubectl rollout status deployment/app -n $ENV
|
||||
|
||||
# Health check
|
||||
echo "🏥 Running health checks..."
|
||||
sleep 5
|
||||
curl -f http://api.$ENV.example.com/health
|
||||
|
||||
echo "✅ Rollback complete!"
|
||||
9
uk/07-plugins/documentation/.claude-plugin/plugin.json
Normal file
9
uk/07-plugins/documentation/.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "documentation",
|
||||
"version": "1.0.0",
|
||||
"description": "Comprehensive documentation generation and maintenance",
|
||||
"author": {
|
||||
"name": "Community"
|
||||
},
|
||||
"license": "MIT"
|
||||
}
|
||||
119
uk/07-plugins/documentation/README.md
Normal file
119
uk/07-plugins/documentation/README.md
Normal file
@@ -0,0 +1,119 @@
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="../../resources/logos/claude-howto-logo-dark.svg">
|
||||
<img alt="Claude How To" src="../../resources/logos/claude-howto-logo.svg">
|
||||
</picture>
|
||||
|
||||
# Documentation Plugin
|
||||
|
||||
Comprehensive documentation generation and maintenance for your project.
|
||||
|
||||
## Features
|
||||
|
||||
✅ API documentation generation
|
||||
✅ README creation and updates
|
||||
✅ Documentation synchronization
|
||||
✅ Code comment improvements
|
||||
✅ Example generation
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
/plugin install documentation
|
||||
```
|
||||
|
||||
## What's Included
|
||||
|
||||
### Slash Commands
|
||||
- `/generate-api-docs` - Generate API documentation
|
||||
- `/generate-readme` - Create or update README
|
||||
- `/sync-docs` - Sync docs with code changes
|
||||
- `/validate-docs` - Validate documentation
|
||||
|
||||
### Subagents
|
||||
- `api-documenter` - API documentation specialist
|
||||
- `code-commentator` - Code comment improvements
|
||||
- `example-generator` - Code example creation
|
||||
|
||||
### Templates
|
||||
- `api-endpoint.md` - API endpoint documentation template
|
||||
- `function-docs.md` - Function documentation template
|
||||
- `adr-template.md` - Architecture Decision Record template
|
||||
|
||||
### MCP Servers
|
||||
- GitHub integration for documentation syncing
|
||||
|
||||
## Usage
|
||||
|
||||
### Generate API Documentation
|
||||
```
|
||||
/generate-api-docs
|
||||
```
|
||||
|
||||
### Create README
|
||||
```
|
||||
/generate-readme
|
||||
```
|
||||
|
||||
### Sync Documentation
|
||||
```
|
||||
/sync-docs
|
||||
```
|
||||
|
||||
### Validate Documentation
|
||||
```
|
||||
/validate-docs
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
- Claude Code 1.0+
|
||||
- GitHub access (optional)
|
||||
|
||||
## Example Workflow
|
||||
|
||||
```
|
||||
User: /generate-api-docs
|
||||
|
||||
Claude:
|
||||
1. Scans all API endpoints in /src/api/
|
||||
2. Delegates to api-documenter subagent
|
||||
3. Extracts function signatures and JSDoc
|
||||
4. Organizes by module/endpoint
|
||||
5. Uses api-endpoint.md template
|
||||
6. Generates comprehensive markdown docs
|
||||
7. Includes curl, JavaScript, and Python examples
|
||||
|
||||
Result:
|
||||
✅ API documentation generated
|
||||
📄 Files created:
|
||||
- docs/api/users.md
|
||||
- docs/api/auth.md
|
||||
- docs/api/products.md
|
||||
📊 Coverage: 23/23 endpoints documented
|
||||
```
|
||||
|
||||
## Templates Usage
|
||||
|
||||
### API Endpoint Template
|
||||
Use for documenting REST API endpoints with full examples.
|
||||
|
||||
### Function Documentation Template
|
||||
Use for documenting individual functions/methods.
|
||||
|
||||
### ADR Template
|
||||
Use for documenting architectural decisions.
|
||||
|
||||
## Configuration
|
||||
|
||||
Set up GitHub token for documentation syncing:
|
||||
```bash
|
||||
export GITHUB_TOKEN="your_github_token"
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
- Keep documentation close to code
|
||||
- Update docs with code changes
|
||||
- Include practical examples
|
||||
- Validate regularly
|
||||
- Use templates for consistency
|
||||
14
uk/07-plugins/documentation/agents/api-documenter.md
Normal file
14
uk/07-plugins/documentation/agents/api-documenter.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: api-documenter
|
||||
description: API documentation specialist
|
||||
tools: read, write, grep
|
||||
---
|
||||
|
||||
# API Documenter
|
||||
|
||||
Creates comprehensive API documentation:
|
||||
- Endpoint documentation
|
||||
- Parameter descriptions
|
||||
- Response schemas
|
||||
- Code examples (curl, JS, Python)
|
||||
- Error codes
|
||||
14
uk/07-plugins/documentation/agents/code-commentator.md
Normal file
14
uk/07-plugins/documentation/agents/code-commentator.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: code-commentator
|
||||
description: Code comment and inline documentation specialist
|
||||
tools: read, write, edit
|
||||
---
|
||||
|
||||
# Code Commentator
|
||||
|
||||
Improves code documentation:
|
||||
- JSDoc/docstring comments
|
||||
- Inline explanations
|
||||
- Parameter descriptions
|
||||
- Return type documentation
|
||||
- Usage examples
|
||||
14
uk/07-plugins/documentation/agents/example-generator.md
Normal file
14
uk/07-plugins/documentation/agents/example-generator.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: example-generator
|
||||
description: Code example and tutorial specialist
|
||||
tools: read, write
|
||||
---
|
||||
|
||||
# Example Generator
|
||||
|
||||
Creates practical code examples:
|
||||
- Getting started guides
|
||||
- Common use cases
|
||||
- Integration examples
|
||||
- Best practices
|
||||
- Troubleshooting scenarios
|
||||
15
uk/07-plugins/documentation/commands/generate-api-docs.md
Normal file
15
uk/07-plugins/documentation/commands/generate-api-docs.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: Generate API Documentation
|
||||
description: Generate comprehensive API documentation from source code
|
||||
---
|
||||
|
||||
# API Documentation Generator
|
||||
|
||||
Generate complete API documentation:
|
||||
|
||||
1. Scan API endpoints
|
||||
2. Extract function signatures and JSDoc
|
||||
3. Organize by module/endpoint
|
||||
4. Create markdown with examples
|
||||
5. Include request/response schemas
|
||||
6. Add error documentation
|
||||
15
uk/07-plugins/documentation/commands/generate-readme.md
Normal file
15
uk/07-plugins/documentation/commands/generate-readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: Generate README
|
||||
description: Create or update project README
|
||||
---
|
||||
|
||||
# README Generator
|
||||
|
||||
Generate comprehensive README:
|
||||
|
||||
1. Project overview and description
|
||||
2. Installation instructions
|
||||
3. Usage examples
|
||||
4. API documentation links
|
||||
5. Contributing guidelines
|
||||
6. License information
|
||||
14
uk/07-plugins/documentation/commands/sync-docs.md
Normal file
14
uk/07-plugins/documentation/commands/sync-docs.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: Sync Documentation
|
||||
description: Sync documentation with code changes
|
||||
---
|
||||
|
||||
# Documentation Sync
|
||||
|
||||
Synchronize documentation with codebase:
|
||||
|
||||
1. Detect code changes
|
||||
2. Identify outdated documentation
|
||||
3. Update affected docs
|
||||
4. Verify examples still work
|
||||
5. Update version numbers
|
||||
14
uk/07-plugins/documentation/commands/validate-docs.md
Normal file
14
uk/07-plugins/documentation/commands/validate-docs.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: Validate Documentation
|
||||
description: Validate documentation for completeness and accuracy
|
||||
---
|
||||
|
||||
# Documentation Validation
|
||||
|
||||
Validate documentation quality:
|
||||
|
||||
1. Check for broken links
|
||||
2. Verify code examples
|
||||
3. Ensure completeness
|
||||
4. Check formatting
|
||||
5. Validate against actual code
|
||||
11
uk/07-plugins/documentation/mcp/github-docs-config.json
Normal file
11
uk/07-plugins/documentation/mcp/github-docs-config.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"github": {
|
||||
"command": "npx",
|
||||
"args": ["@modelcontextprotocol/server-github"],
|
||||
"env": {
|
||||
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
39
uk/07-plugins/documentation/templates/adr-template.md
Normal file
39
uk/07-plugins/documentation/templates/adr-template.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# ADR [Number]: [Title]
|
||||
|
||||
## Status
|
||||
[Proposed | Accepted | Deprecated | Superseded]
|
||||
|
||||
## Context
|
||||
What is the issue that we're seeing that is motivating this decision or change?
|
||||
|
||||
## Decision
|
||||
What is the change that we're proposing and/or doing?
|
||||
|
||||
## Consequences
|
||||
What becomes easier or more difficult to do because of this change?
|
||||
|
||||
### Positive
|
||||
- Benefit 1
|
||||
- Benefit 2
|
||||
|
||||
### Negative
|
||||
- Drawback 1
|
||||
- Drawback 2
|
||||
|
||||
### Neutral
|
||||
- Consideration 1
|
||||
- Consideration 2
|
||||
|
||||
## Alternatives Considered
|
||||
What other options were considered and why were they not chosen?
|
||||
|
||||
### Alternative 1
|
||||
Description and reason for not choosing.
|
||||
|
||||
### Alternative 2
|
||||
Description and reason for not choosing.
|
||||
|
||||
## References
|
||||
- Related ADRs
|
||||
- External documentation
|
||||
- Discussion links
|
||||
101
uk/07-plugins/documentation/templates/api-endpoint.md
Normal file
101
uk/07-plugins/documentation/templates/api-endpoint.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# [METHOD] /api/v1/[endpoint]
|
||||
|
||||
## Description
|
||||
Brief explanation of what this endpoint does.
|
||||
|
||||
## Authentication
|
||||
Required authentication method (e.g., Bearer token).
|
||||
|
||||
## Parameters
|
||||
|
||||
### Path Parameters
|
||||
| Name | Type | Required | Description |
|
||||
|------|------|----------|-------------|
|
||||
| id | string | Yes | Resource ID |
|
||||
|
||||
### Query Parameters
|
||||
| Name | Type | Required | Description |
|
||||
|------|------|----------|-------------|
|
||||
| page | integer | No | Page number (default: 1) |
|
||||
| limit | integer | No | Items per page (default: 20) |
|
||||
|
||||
### Request Body
|
||||
```json
|
||||
{
|
||||
"field": "value"
|
||||
}
|
||||
```
|
||||
|
||||
## Responses
|
||||
|
||||
### 200 OK
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"data": {
|
||||
"id": "123",
|
||||
"name": "Example"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 400 Bad Request
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"error": {
|
||||
"code": "VALIDATION_ERROR",
|
||||
"message": "Invalid input"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 404 Not Found
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"error": {
|
||||
"code": "NOT_FOUND",
|
||||
"message": "Resource not found"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
### cURL
|
||||
```bash
|
||||
curl -X GET "https://api.example.com/api/v1/endpoint" \
|
||||
-H "Authorization: Bearer YOUR_TOKEN" \
|
||||
-H "Content-Type: application/json"
|
||||
```
|
||||
|
||||
### JavaScript
|
||||
```javascript
|
||||
const response = await fetch('/api/v1/endpoint', {
|
||||
headers: {
|
||||
'Authorization': 'Bearer token',
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
});
|
||||
const data = await response.json();
|
||||
```
|
||||
|
||||
### Python
|
||||
```python
|
||||
import requests
|
||||
|
||||
response = requests.get(
|
||||
'https://api.example.com/api/v1/endpoint',
|
||||
headers={'Authorization': 'Bearer token'}
|
||||
)
|
||||
data = response.json()
|
||||
```
|
||||
|
||||
## Rate Limits
|
||||
- 1000 requests per hour for authenticated users
|
||||
- 100 requests per hour for public endpoints
|
||||
|
||||
## Related Endpoints
|
||||
- [GET /api/v1/related](#)
|
||||
- [POST /api/v1/related](#)
|
||||
50
uk/07-plugins/documentation/templates/function-docs.md
Normal file
50
uk/07-plugins/documentation/templates/function-docs.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Function: `functionName`
|
||||
|
||||
## Description
|
||||
Brief description of what the function does.
|
||||
|
||||
## Signature
|
||||
```typescript
|
||||
function functionName(param1: Type1, param2: Type2): ReturnType
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| param1 | Type1 | Yes | Description of param1 |
|
||||
| param2 | Type2 | No | Description of param2 |
|
||||
|
||||
## Returns
|
||||
**Type**: `ReturnType`
|
||||
|
||||
Description of what is returned.
|
||||
|
||||
## Throws
|
||||
- `Error`: When invalid input is provided
|
||||
- `TypeError`: When wrong type is passed
|
||||
|
||||
## Examples
|
||||
|
||||
### Basic Usage
|
||||
```typescript
|
||||
const result = functionName('value1', 'value2');
|
||||
console.log(result);
|
||||
```
|
||||
|
||||
### Advanced Usage
|
||||
```typescript
|
||||
const result = functionName(
|
||||
complexParam1,
|
||||
{ option: true }
|
||||
);
|
||||
```
|
||||
|
||||
## Notes
|
||||
- Additional notes or warnings
|
||||
- Performance considerations
|
||||
- Best practices
|
||||
|
||||
## See Also
|
||||
- [Related Function](#)
|
||||
- [API Documentation](#)
|
||||
9
uk/07-plugins/pr-review/.claude-plugin/plugin.json
Normal file
9
uk/07-plugins/pr-review/.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "pr-review",
|
||||
"version": "1.0.0",
|
||||
"description": "Complete PR review workflow with security, testing, and docs",
|
||||
"author": {
|
||||
"name": "Anthropic"
|
||||
},
|
||||
"license": "MIT"
|
||||
}
|
||||
91
uk/07-plugins/pr-review/README.md
Normal file
91
uk/07-plugins/pr-review/README.md
Normal file
@@ -0,0 +1,91 @@
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="../../resources/logos/claude-howto-logo-dark.svg">
|
||||
<img alt="Claude How To" src="../../resources/logos/claude-howto-logo.svg">
|
||||
</picture>
|
||||
|
||||
# PR Review Plugin
|
||||
|
||||
Complete PR review workflow with security, testing, and documentation checks.
|
||||
|
||||
## Features
|
||||
|
||||
✅ Security analysis
|
||||
✅ Test coverage checking
|
||||
✅ Documentation verification
|
||||
✅ Code quality assessment
|
||||
✅ Performance impact analysis
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
/plugin install pr-review
|
||||
```
|
||||
|
||||
## What's Included
|
||||
|
||||
### Slash Commands
|
||||
- `/review-pr` - Comprehensive PR review
|
||||
- `/check-security` - Security-focused review
|
||||
- `/check-tests` - Test coverage analysis
|
||||
|
||||
### Subagents
|
||||
- `security-reviewer` - Security vulnerability detection
|
||||
- `test-checker` - Test coverage analysis
|
||||
- `performance-analyzer` - Performance impact evaluation
|
||||
|
||||
### MCP Servers
|
||||
- GitHub integration for PR data
|
||||
|
||||
### Hooks
|
||||
- `pre-review.js` - Pre-review validation
|
||||
|
||||
## Usage
|
||||
|
||||
### Basic PR Review
|
||||
```
|
||||
/review-pr
|
||||
```
|
||||
|
||||
### Security Check Only
|
||||
```
|
||||
/check-security
|
||||
```
|
||||
|
||||
### Test Coverage Check
|
||||
```
|
||||
/check-tests
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
- Claude Code 1.0+
|
||||
- GitHub access
|
||||
- Git repository
|
||||
|
||||
## Configuration
|
||||
|
||||
Set up your GitHub token:
|
||||
```bash
|
||||
export GITHUB_TOKEN="your_github_token"
|
||||
```
|
||||
|
||||
## Example Workflow
|
||||
|
||||
```
|
||||
User: /review-pr
|
||||
|
||||
Claude:
|
||||
1. Runs pre-review hook (validates git repo)
|
||||
2. Fetches PR data via GitHub MCP
|
||||
3. Delegates security review to security-reviewer subagent
|
||||
4. Delegates testing to test-checker subagent
|
||||
5. Delegates performance to performance-analyzer subagent
|
||||
6. Synthesizes all findings
|
||||
7. Provides comprehensive review report
|
||||
|
||||
Result:
|
||||
✅ Security: No critical issues found
|
||||
⚠️ Testing: Coverage is 65%, recommend 80%+
|
||||
✅ Performance: No significant impact
|
||||
📝 Recommendations: Add tests for edge cases
|
||||
```
|
||||
13
uk/07-plugins/pr-review/agents/performance-analyzer.md
Normal file
13
uk/07-plugins/pr-review/agents/performance-analyzer.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
name: performance-analyzer
|
||||
description: Performance impact analysis
|
||||
tools: read, grep, bash
|
||||
---
|
||||
|
||||
# Performance Analyzer
|
||||
|
||||
Evaluates performance impact of changes:
|
||||
- Algorithm complexity
|
||||
- Database query efficiency
|
||||
- Memory usage
|
||||
- Caching opportunities
|
||||
13
uk/07-plugins/pr-review/agents/security-reviewer.md
Normal file
13
uk/07-plugins/pr-review/agents/security-reviewer.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
name: security-reviewer
|
||||
description: Security-focused code review
|
||||
tools: read, grep, diff
|
||||
---
|
||||
|
||||
# Security Reviewer
|
||||
|
||||
Specializes in finding security vulnerabilities:
|
||||
- Authentication/authorization issues
|
||||
- Data exposure
|
||||
- Injection attacks
|
||||
- Secure configuration
|
||||
13
uk/07-plugins/pr-review/agents/test-checker.md
Normal file
13
uk/07-plugins/pr-review/agents/test-checker.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
name: test-checker
|
||||
description: Test coverage and quality analysis
|
||||
tools: read, bash, grep
|
||||
---
|
||||
|
||||
# Test Checker
|
||||
|
||||
Analyzes test coverage and quality:
|
||||
- Coverage percentage
|
||||
- Missing test cases
|
||||
- Test quality assessment
|
||||
- Edge case identification
|
||||
14
uk/07-plugins/pr-review/commands/check-security.md
Normal file
14
uk/07-plugins/pr-review/commands/check-security.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: Security Check
|
||||
description: Run security-focused code review
|
||||
---
|
||||
|
||||
# Security Check
|
||||
|
||||
Perform focused security analysis on code changes:
|
||||
|
||||
1. Authentication/authorization checks
|
||||
2. Data exposure risks
|
||||
3. Injection vulnerabilities
|
||||
4. Cryptographic weaknesses
|
||||
5. Sensitive data in logs
|
||||
14
uk/07-plugins/pr-review/commands/check-tests.md
Normal file
14
uk/07-plugins/pr-review/commands/check-tests.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: Test Coverage Check
|
||||
description: Verify test coverage and quality
|
||||
---
|
||||
|
||||
# Test Coverage Check
|
||||
|
||||
Analyze test coverage and quality:
|
||||
|
||||
1. Check test coverage percentage
|
||||
2. Identify untested code paths
|
||||
3. Review test quality
|
||||
4. Suggest missing test cases
|
||||
5. Verify edge cases are covered
|
||||
14
uk/07-plugins/pr-review/commands/review-pr.md
Normal file
14
uk/07-plugins/pr-review/commands/review-pr.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: Review PR
|
||||
description: Start comprehensive PR review with security and testing checks
|
||||
---
|
||||
|
||||
# PR Review
|
||||
|
||||
This command initiates a complete pull request review including:
|
||||
|
||||
1. Security analysis
|
||||
2. Test coverage verification
|
||||
3. Documentation updates
|
||||
4. Code quality checks
|
||||
5. Performance impact assessment
|
||||
37
uk/07-plugins/pr-review/hooks/pre-review.js
Normal file
37
uk/07-plugins/pr-review/hooks/pre-review.js
Normal file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Pre-review hook
|
||||
* Runs before starting PR review to ensure prerequisites are met
|
||||
*/
|
||||
|
||||
async function preReview() {
|
||||
console.log('Running pre-review checks...');
|
||||
|
||||
// Check if git repository
|
||||
const { execSync } = require('child_process');
|
||||
try {
|
||||
execSync('git rev-parse --git-dir', { stdio: 'pipe' });
|
||||
} catch (error) {
|
||||
console.error('❌ Not a git repository');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Check for uncommitted changes
|
||||
try {
|
||||
const status = execSync('git status --porcelain', { encoding: 'utf-8' });
|
||||
if (status.trim()) {
|
||||
console.warn('⚠️ Warning: Uncommitted changes detected');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('❌ Failed to check git status');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log('✅ Pre-review checks passed');
|
||||
}
|
||||
|
||||
preReview().catch(error => {
|
||||
console.error('Pre-review hook failed:', error);
|
||||
process.exit(1);
|
||||
});
|
||||
11
uk/07-plugins/pr-review/mcp/github-config.json
Normal file
11
uk/07-plugins/pr-review/mcp/github-config.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"github": {
|
||||
"command": "npx",
|
||||
"args": ["@modelcontextprotocol/server-github"],
|
||||
"env": {
|
||||
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user