claude-code-orchestrator-kit 1.4.1 → 1.4.15
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/.claude/agents/business/workers/lead-research-assistant.md +199 -0
- package/.claude/agents/database/workers/database-architect.md +3 -3
- package/.claude/agents/database/workers/supabase-auditor.md +7 -7
- package/.claude/agents/development/workers/code-reviewer.md +17 -2
- package/.claude/agents/frontend/workers/nextjs-ui-designer.md +30 -0
- package/.claude/agents/health/workers/bug-fixer.md +31 -2
- package/.claude/agents/health/workers/bug-hunter.md +0 -1
- package/.claude/agents/health/workers/dead-code-hunter.md +167 -75
- package/.claude/agents/health/workers/dead-code-remover.md +217 -66
- package/.claude/agents/health/workers/dependency-auditor.md +83 -24
- package/.claude/agents/health/workers/dependency-updater.md +0 -1
- package/.claude/agents/health/workers/security-scanner.md +0 -1
- package/.claude/agents/infrastructure/workers/deployment-engineer.md +446 -0
- package/.claude/agents/infrastructure/workers/infrastructure-specialist.md +2 -2
- package/.claude/agents/meta/workers/meta-agent-v3.md +22 -0
- package/.claude/agents/testing/workers/integration-tester.md +1 -1
- package/.claude/agents/testing/workers/test-writer.md +16 -0
- package/.claude/commands/health-bugs.md +14 -281
- package/.claude/commands/health-cleanup.md +14 -281
- package/.claude/commands/health-deps.md +14 -281
- package/.claude/commands/health-metrics.md +51 -709
- package/.claude/commands/health-reuse.md +14 -311
- package/.claude/commands/health-security.md +14 -281
- package/.claude/commands/push.md +17 -3
- package/.claude/commands/speckit.implement.md +0 -11
- package/.claude/commands/worktree.md +150 -0
- package/.claude/scripts/gates/check-bundle-size.sh +0 -0
- package/.claude/scripts/gates/check-coverage.sh +0 -0
- package/.claude/scripts/gates/check-security.sh +0 -0
- package/.claude/scripts/release.sh +469 -94
- package/.claude/skills/algorithmic-art/LICENSE.txt +202 -0
- package/.claude/skills/algorithmic-art/SKILL.md +405 -0
- package/.claude/skills/algorithmic-art/templates/generator_template.js +223 -0
- package/.claude/skills/algorithmic-art/templates/viewer.html +599 -0
- package/.claude/skills/artifacts-builder/LICENSE.txt +202 -0
- package/.claude/skills/artifacts-builder/SKILL.md +74 -0
- package/.claude/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/.claude/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
- package/.claude/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/.claude/skills/bug-health-inline/SKILL.md +221 -0
- package/.claude/skills/bug-health-inline/references/worker-prompts.md +182 -0
- package/.claude/skills/canvas-design/LICENSE.txt +202 -0
- package/.claude/skills/canvas-design/SKILL.md +130 -0
- package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/.claude/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/.claude/skills/changelog-generator/SKILL.md +104 -0
- package/.claude/skills/cleanup-health-inline/SKILL.md +224 -0
- package/.claude/skills/code-reviewer/SKILL.md +209 -0
- package/.claude/skills/code-reviewer/references/code_review_checklist.md +103 -0
- package/.claude/skills/code-reviewer/references/coding_standards.md +103 -0
- package/.claude/skills/code-reviewer/references/common_antipatterns.md +103 -0
- package/.claude/skills/code-reviewer/scripts/code_quality_checker.py +114 -0
- package/.claude/skills/code-reviewer/scripts/pr_analyzer.py +114 -0
- package/.claude/skills/code-reviewer/scripts/review_report_generator.py +114 -0
- package/.claude/skills/content-research-writer/SKILL.md +538 -0
- package/.claude/skills/deps-health-inline/SKILL.md +227 -0
- package/.claude/skills/frontend-aesthetics/SKILL.md +51 -396
- package/.claude/skills/git-commit-helper/SKILL.md +203 -0
- package/.claude/skills/lead-research-assistant/SKILL.md +199 -0
- package/.claude/skills/reuse-health-inline/SKILL.md +248 -0
- package/.claude/skills/rollback-changes/SKILL.md +50 -524
- package/.claude/skills/run-quality-gate/SKILL.md +36 -346
- package/.claude/skills/security-health-inline/SKILL.md +224 -0
- package/.claude/skills/senior-devops/SKILL.md +209 -0
- package/.claude/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
- package/.claude/skills/senior-devops/references/deployment_strategies.md +103 -0
- package/.claude/skills/senior-devops/references/infrastructure_as_code.md +103 -0
- package/.claude/skills/senior-devops/scripts/deployment_manager.py +114 -0
- package/.claude/skills/senior-devops/scripts/pipeline_generator.py +114 -0
- package/.claude/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
- package/.claude/skills/senior-prompt-engineer/SKILL.md +226 -0
- package/.claude/skills/senior-prompt-engineer/references/agentic_system_design.md +80 -0
- package/.claude/skills/senior-prompt-engineer/references/llm_evaluation_frameworks.md +80 -0
- package/.claude/skills/senior-prompt-engineer/references/prompt_engineering_patterns.md +80 -0
- package/.claude/skills/senior-prompt-engineer/scripts/agent_orchestrator.py +100 -0
- package/.claude/skills/senior-prompt-engineer/scripts/prompt_optimizer.py +100 -0
- package/.claude/skills/senior-prompt-engineer/scripts/rag_evaluator.py +100 -0
- package/.claude/skills/setup-knip/SKILL.md +372 -0
- package/.claude/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/.claude/skills/systematic-debugging/SKILL.md +296 -0
- package/.claude/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/.claude/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/.claude/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/.claude/skills/systematic-debugging/find-polluter.sh +63 -0
- package/.claude/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/.claude/skills/systematic-debugging/test-academic.md +14 -0
- package/.claude/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/.claude/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/.claude/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/.claude/skills/theme-factory/LICENSE.txt +202 -0
- package/.claude/skills/theme-factory/SKILL.md +59 -0
- package/.claude/skills/theme-factory/theme-showcase.pdf +0 -0
- package/.claude/skills/theme-factory/themes/arctic-frost.md +19 -0
- package/.claude/skills/theme-factory/themes/botanical-garden.md +19 -0
- package/.claude/skills/theme-factory/themes/desert-rose.md +19 -0
- package/.claude/skills/theme-factory/themes/forest-canopy.md +19 -0
- package/.claude/skills/theme-factory/themes/golden-hour.md +19 -0
- package/.claude/skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/.claude/skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/.claude/skills/theme-factory/themes/ocean-depths.md +19 -0
- package/.claude/skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/.claude/skills/theme-factory/themes/tech-innovation.md +19 -0
- package/.claude/skills/ui-design-system/SKILL.md +32 -0
- package/.claude/skills/ui-design-system/scripts/design_token_generator.py +529 -0
- package/.claude/skills/ux-researcher-designer/SKILL.md +30 -0
- package/.claude/skills/ux-researcher-designer/scripts/persona_generator.py +508 -0
- package/.claude/skills/webapp-testing/LICENSE.txt +202 -0
- package/.claude/skills/webapp-testing/SKILL.md +96 -0
- package/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
- package/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
- package/.gitignore +4 -0
- package/README.md +492 -1093
- package/README.ru.md +719 -0
- package/docs/Agents Ecosystem/AGENT-ORCHESTRATION.md +2 -2
- package/docs/COMMANDS-GUIDE.md +0 -15
- package/docs/reports/skills/new-skills-analysis-2025-12.md +331 -0
- package/package.json +11 -3
- package/.claude/agents/health/orchestrators/bug-orchestrator.md +0 -1084
- package/.claude/agents/health/orchestrators/dead-code-orchestrator.md +0 -1064
- package/.claude/agents/health/orchestrators/dependency-orchestrator.md +0 -1064
- package/.claude/agents/health/orchestrators/reuse-orchestrator.md +0 -1112
- package/.claude/agents/health/orchestrators/security-orchestrator.md +0 -1064
- package/.claude/commands/worktree-cleanup.md +0 -382
- package/.claude/commands/worktree-create.md +0 -287
- package/.claude/commands/worktree-list.md +0 -239
- package/.claude/commands/worktree-remove.md +0 -339
- package/.claude/project-index.md +0 -75
- package/.claude/skills/load-project-context/SKILL.md +0 -89
- package/.claude/skills/resume-session/SKILL.md +0 -164
- package/.claude/skills/save-session-context/SKILL.md +0 -123
- package/.claude/templates/project-index.template.md +0 -67
- package/.claude/templates/session/context.template.md +0 -40
- package/.claude/templates/session/log.template.md +0 -72
- package/.github/BRANCH_PROTECTION.md +0 -137
- package/.github/workflows/build.yml +0 -70
- package/.github/workflows/deploy-staging.yml +0 -90
- package/.github/workflows/test.yml +0 -104
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Common Antipatterns
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This reference guide provides comprehensive information for code reviewer.
|
|
6
|
+
|
|
7
|
+
## Patterns and Practices
|
|
8
|
+
|
|
9
|
+
### Pattern 1: Best Practice Implementation
|
|
10
|
+
|
|
11
|
+
**Description:**
|
|
12
|
+
Detailed explanation of the pattern.
|
|
13
|
+
|
|
14
|
+
**When to Use:**
|
|
15
|
+
- Scenario 1
|
|
16
|
+
- Scenario 2
|
|
17
|
+
- Scenario 3
|
|
18
|
+
|
|
19
|
+
**Implementation:**
|
|
20
|
+
```typescript
|
|
21
|
+
// Example code implementation
|
|
22
|
+
export class Example {
|
|
23
|
+
// Implementation details
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Benefits:**
|
|
28
|
+
- Benefit 1
|
|
29
|
+
- Benefit 2
|
|
30
|
+
- Benefit 3
|
|
31
|
+
|
|
32
|
+
**Trade-offs:**
|
|
33
|
+
- Consider 1
|
|
34
|
+
- Consider 2
|
|
35
|
+
- Consider 3
|
|
36
|
+
|
|
37
|
+
### Pattern 2: Advanced Technique
|
|
38
|
+
|
|
39
|
+
**Description:**
|
|
40
|
+
Another important pattern for code reviewer.
|
|
41
|
+
|
|
42
|
+
**Implementation:**
|
|
43
|
+
```typescript
|
|
44
|
+
// Advanced example
|
|
45
|
+
async function advancedExample() {
|
|
46
|
+
// Code here
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Guidelines
|
|
51
|
+
|
|
52
|
+
### Code Organization
|
|
53
|
+
- Clear structure
|
|
54
|
+
- Logical separation
|
|
55
|
+
- Consistent naming
|
|
56
|
+
- Proper documentation
|
|
57
|
+
|
|
58
|
+
### Performance Considerations
|
|
59
|
+
- Optimization strategies
|
|
60
|
+
- Bottleneck identification
|
|
61
|
+
- Monitoring approaches
|
|
62
|
+
- Scaling techniques
|
|
63
|
+
|
|
64
|
+
### Security Best Practices
|
|
65
|
+
- Input validation
|
|
66
|
+
- Authentication
|
|
67
|
+
- Authorization
|
|
68
|
+
- Data protection
|
|
69
|
+
|
|
70
|
+
## Common Patterns
|
|
71
|
+
|
|
72
|
+
### Pattern A
|
|
73
|
+
Implementation details and examples.
|
|
74
|
+
|
|
75
|
+
### Pattern B
|
|
76
|
+
Implementation details and examples.
|
|
77
|
+
|
|
78
|
+
### Pattern C
|
|
79
|
+
Implementation details and examples.
|
|
80
|
+
|
|
81
|
+
## Anti-Patterns to Avoid
|
|
82
|
+
|
|
83
|
+
### Anti-Pattern 1
|
|
84
|
+
What not to do and why.
|
|
85
|
+
|
|
86
|
+
### Anti-Pattern 2
|
|
87
|
+
What not to do and why.
|
|
88
|
+
|
|
89
|
+
## Tools and Resources
|
|
90
|
+
|
|
91
|
+
### Recommended Tools
|
|
92
|
+
- Tool 1: Purpose
|
|
93
|
+
- Tool 2: Purpose
|
|
94
|
+
- Tool 3: Purpose
|
|
95
|
+
|
|
96
|
+
### Further Reading
|
|
97
|
+
- Resource 1
|
|
98
|
+
- Resource 2
|
|
99
|
+
- Resource 3
|
|
100
|
+
|
|
101
|
+
## Conclusion
|
|
102
|
+
|
|
103
|
+
Key takeaways for using this reference guide effectively.
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Code Quality Checker
|
|
4
|
+
Automated tool for code reviewer tasks
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
import json
|
|
10
|
+
import argparse
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
from typing import Dict, List, Optional
|
|
13
|
+
|
|
14
|
+
class CodeQualityChecker:
|
|
15
|
+
"""Main class for code quality checker functionality"""
|
|
16
|
+
|
|
17
|
+
def __init__(self, target_path: str, verbose: bool = False):
|
|
18
|
+
self.target_path = Path(target_path)
|
|
19
|
+
self.verbose = verbose
|
|
20
|
+
self.results = {}
|
|
21
|
+
|
|
22
|
+
def run(self) -> Dict:
|
|
23
|
+
"""Execute the main functionality"""
|
|
24
|
+
print(f"🚀 Running {self.__class__.__name__}...")
|
|
25
|
+
print(f"📁 Target: {self.target_path}")
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
self.validate_target()
|
|
29
|
+
self.analyze()
|
|
30
|
+
self.generate_report()
|
|
31
|
+
|
|
32
|
+
print("✅ Completed successfully!")
|
|
33
|
+
return self.results
|
|
34
|
+
|
|
35
|
+
except Exception as e:
|
|
36
|
+
print(f"❌ Error: {e}")
|
|
37
|
+
sys.exit(1)
|
|
38
|
+
|
|
39
|
+
def validate_target(self):
|
|
40
|
+
"""Validate the target path exists and is accessible"""
|
|
41
|
+
if not self.target_path.exists():
|
|
42
|
+
raise ValueError(f"Target path does not exist: {self.target_path}")
|
|
43
|
+
|
|
44
|
+
if self.verbose:
|
|
45
|
+
print(f"✓ Target validated: {self.target_path}")
|
|
46
|
+
|
|
47
|
+
def analyze(self):
|
|
48
|
+
"""Perform the main analysis or operation"""
|
|
49
|
+
if self.verbose:
|
|
50
|
+
print("📊 Analyzing...")
|
|
51
|
+
|
|
52
|
+
# Main logic here
|
|
53
|
+
self.results['status'] = 'success'
|
|
54
|
+
self.results['target'] = str(self.target_path)
|
|
55
|
+
self.results['findings'] = []
|
|
56
|
+
|
|
57
|
+
# Add analysis results
|
|
58
|
+
if self.verbose:
|
|
59
|
+
print(f"✓ Analysis complete: {len(self.results.get('findings', []))} findings")
|
|
60
|
+
|
|
61
|
+
def generate_report(self):
|
|
62
|
+
"""Generate and display the report"""
|
|
63
|
+
print("\n" + "="*50)
|
|
64
|
+
print("REPORT")
|
|
65
|
+
print("="*50)
|
|
66
|
+
print(f"Target: {self.results.get('target')}")
|
|
67
|
+
print(f"Status: {self.results.get('status')}")
|
|
68
|
+
print(f"Findings: {len(self.results.get('findings', []))}")
|
|
69
|
+
print("="*50 + "\n")
|
|
70
|
+
|
|
71
|
+
def main():
|
|
72
|
+
"""Main entry point"""
|
|
73
|
+
parser = argparse.ArgumentParser(
|
|
74
|
+
description="Code Quality Checker"
|
|
75
|
+
)
|
|
76
|
+
parser.add_argument(
|
|
77
|
+
'target',
|
|
78
|
+
help='Target path to analyze or process'
|
|
79
|
+
)
|
|
80
|
+
parser.add_argument(
|
|
81
|
+
'--verbose', '-v',
|
|
82
|
+
action='store_true',
|
|
83
|
+
help='Enable verbose output'
|
|
84
|
+
)
|
|
85
|
+
parser.add_argument(
|
|
86
|
+
'--json',
|
|
87
|
+
action='store_true',
|
|
88
|
+
help='Output results as JSON'
|
|
89
|
+
)
|
|
90
|
+
parser.add_argument(
|
|
91
|
+
'--output', '-o',
|
|
92
|
+
help='Output file path'
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
args = parser.parse_args()
|
|
96
|
+
|
|
97
|
+
tool = CodeQualityChecker(
|
|
98
|
+
args.target,
|
|
99
|
+
verbose=args.verbose
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
results = tool.run()
|
|
103
|
+
|
|
104
|
+
if args.json:
|
|
105
|
+
output = json.dumps(results, indent=2)
|
|
106
|
+
if args.output:
|
|
107
|
+
with open(args.output, 'w') as f:
|
|
108
|
+
f.write(output)
|
|
109
|
+
print(f"Results written to {args.output}")
|
|
110
|
+
else:
|
|
111
|
+
print(output)
|
|
112
|
+
|
|
113
|
+
if __name__ == '__main__':
|
|
114
|
+
main()
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Pr Analyzer
|
|
4
|
+
Automated tool for code reviewer tasks
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
import json
|
|
10
|
+
import argparse
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
from typing import Dict, List, Optional
|
|
13
|
+
|
|
14
|
+
class PrAnalyzer:
|
|
15
|
+
"""Main class for pr analyzer functionality"""
|
|
16
|
+
|
|
17
|
+
def __init__(self, target_path: str, verbose: bool = False):
|
|
18
|
+
self.target_path = Path(target_path)
|
|
19
|
+
self.verbose = verbose
|
|
20
|
+
self.results = {}
|
|
21
|
+
|
|
22
|
+
def run(self) -> Dict:
|
|
23
|
+
"""Execute the main functionality"""
|
|
24
|
+
print(f"🚀 Running {self.__class__.__name__}...")
|
|
25
|
+
print(f"📁 Target: {self.target_path}")
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
self.validate_target()
|
|
29
|
+
self.analyze()
|
|
30
|
+
self.generate_report()
|
|
31
|
+
|
|
32
|
+
print("✅ Completed successfully!")
|
|
33
|
+
return self.results
|
|
34
|
+
|
|
35
|
+
except Exception as e:
|
|
36
|
+
print(f"❌ Error: {e}")
|
|
37
|
+
sys.exit(1)
|
|
38
|
+
|
|
39
|
+
def validate_target(self):
|
|
40
|
+
"""Validate the target path exists and is accessible"""
|
|
41
|
+
if not self.target_path.exists():
|
|
42
|
+
raise ValueError(f"Target path does not exist: {self.target_path}")
|
|
43
|
+
|
|
44
|
+
if self.verbose:
|
|
45
|
+
print(f"✓ Target validated: {self.target_path}")
|
|
46
|
+
|
|
47
|
+
def analyze(self):
|
|
48
|
+
"""Perform the main analysis or operation"""
|
|
49
|
+
if self.verbose:
|
|
50
|
+
print("📊 Analyzing...")
|
|
51
|
+
|
|
52
|
+
# Main logic here
|
|
53
|
+
self.results['status'] = 'success'
|
|
54
|
+
self.results['target'] = str(self.target_path)
|
|
55
|
+
self.results['findings'] = []
|
|
56
|
+
|
|
57
|
+
# Add analysis results
|
|
58
|
+
if self.verbose:
|
|
59
|
+
print(f"✓ Analysis complete: {len(self.results.get('findings', []))} findings")
|
|
60
|
+
|
|
61
|
+
def generate_report(self):
|
|
62
|
+
"""Generate and display the report"""
|
|
63
|
+
print("\n" + "="*50)
|
|
64
|
+
print("REPORT")
|
|
65
|
+
print("="*50)
|
|
66
|
+
print(f"Target: {self.results.get('target')}")
|
|
67
|
+
print(f"Status: {self.results.get('status')}")
|
|
68
|
+
print(f"Findings: {len(self.results.get('findings', []))}")
|
|
69
|
+
print("="*50 + "\n")
|
|
70
|
+
|
|
71
|
+
def main():
|
|
72
|
+
"""Main entry point"""
|
|
73
|
+
parser = argparse.ArgumentParser(
|
|
74
|
+
description="Pr Analyzer"
|
|
75
|
+
)
|
|
76
|
+
parser.add_argument(
|
|
77
|
+
'target',
|
|
78
|
+
help='Target path to analyze or process'
|
|
79
|
+
)
|
|
80
|
+
parser.add_argument(
|
|
81
|
+
'--verbose', '-v',
|
|
82
|
+
action='store_true',
|
|
83
|
+
help='Enable verbose output'
|
|
84
|
+
)
|
|
85
|
+
parser.add_argument(
|
|
86
|
+
'--json',
|
|
87
|
+
action='store_true',
|
|
88
|
+
help='Output results as JSON'
|
|
89
|
+
)
|
|
90
|
+
parser.add_argument(
|
|
91
|
+
'--output', '-o',
|
|
92
|
+
help='Output file path'
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
args = parser.parse_args()
|
|
96
|
+
|
|
97
|
+
tool = PrAnalyzer(
|
|
98
|
+
args.target,
|
|
99
|
+
verbose=args.verbose
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
results = tool.run()
|
|
103
|
+
|
|
104
|
+
if args.json:
|
|
105
|
+
output = json.dumps(results, indent=2)
|
|
106
|
+
if args.output:
|
|
107
|
+
with open(args.output, 'w') as f:
|
|
108
|
+
f.write(output)
|
|
109
|
+
print(f"Results written to {args.output}")
|
|
110
|
+
else:
|
|
111
|
+
print(output)
|
|
112
|
+
|
|
113
|
+
if __name__ == '__main__':
|
|
114
|
+
main()
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Review Report Generator
|
|
4
|
+
Automated tool for code reviewer tasks
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
import json
|
|
10
|
+
import argparse
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
from typing import Dict, List, Optional
|
|
13
|
+
|
|
14
|
+
class ReviewReportGenerator:
|
|
15
|
+
"""Main class for review report generator functionality"""
|
|
16
|
+
|
|
17
|
+
def __init__(self, target_path: str, verbose: bool = False):
|
|
18
|
+
self.target_path = Path(target_path)
|
|
19
|
+
self.verbose = verbose
|
|
20
|
+
self.results = {}
|
|
21
|
+
|
|
22
|
+
def run(self) -> Dict:
|
|
23
|
+
"""Execute the main functionality"""
|
|
24
|
+
print(f"🚀 Running {self.__class__.__name__}...")
|
|
25
|
+
print(f"📁 Target: {self.target_path}")
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
self.validate_target()
|
|
29
|
+
self.analyze()
|
|
30
|
+
self.generate_report()
|
|
31
|
+
|
|
32
|
+
print("✅ Completed successfully!")
|
|
33
|
+
return self.results
|
|
34
|
+
|
|
35
|
+
except Exception as e:
|
|
36
|
+
print(f"❌ Error: {e}")
|
|
37
|
+
sys.exit(1)
|
|
38
|
+
|
|
39
|
+
def validate_target(self):
|
|
40
|
+
"""Validate the target path exists and is accessible"""
|
|
41
|
+
if not self.target_path.exists():
|
|
42
|
+
raise ValueError(f"Target path does not exist: {self.target_path}")
|
|
43
|
+
|
|
44
|
+
if self.verbose:
|
|
45
|
+
print(f"✓ Target validated: {self.target_path}")
|
|
46
|
+
|
|
47
|
+
def analyze(self):
|
|
48
|
+
"""Perform the main analysis or operation"""
|
|
49
|
+
if self.verbose:
|
|
50
|
+
print("📊 Analyzing...")
|
|
51
|
+
|
|
52
|
+
# Main logic here
|
|
53
|
+
self.results['status'] = 'success'
|
|
54
|
+
self.results['target'] = str(self.target_path)
|
|
55
|
+
self.results['findings'] = []
|
|
56
|
+
|
|
57
|
+
# Add analysis results
|
|
58
|
+
if self.verbose:
|
|
59
|
+
print(f"✓ Analysis complete: {len(self.results.get('findings', []))} findings")
|
|
60
|
+
|
|
61
|
+
def generate_report(self):
|
|
62
|
+
"""Generate and display the report"""
|
|
63
|
+
print("\n" + "="*50)
|
|
64
|
+
print("REPORT")
|
|
65
|
+
print("="*50)
|
|
66
|
+
print(f"Target: {self.results.get('target')}")
|
|
67
|
+
print(f"Status: {self.results.get('status')}")
|
|
68
|
+
print(f"Findings: {len(self.results.get('findings', []))}")
|
|
69
|
+
print("="*50 + "\n")
|
|
70
|
+
|
|
71
|
+
def main():
|
|
72
|
+
"""Main entry point"""
|
|
73
|
+
parser = argparse.ArgumentParser(
|
|
74
|
+
description="Review Report Generator"
|
|
75
|
+
)
|
|
76
|
+
parser.add_argument(
|
|
77
|
+
'target',
|
|
78
|
+
help='Target path to analyze or process'
|
|
79
|
+
)
|
|
80
|
+
parser.add_argument(
|
|
81
|
+
'--verbose', '-v',
|
|
82
|
+
action='store_true',
|
|
83
|
+
help='Enable verbose output'
|
|
84
|
+
)
|
|
85
|
+
parser.add_argument(
|
|
86
|
+
'--json',
|
|
87
|
+
action='store_true',
|
|
88
|
+
help='Output results as JSON'
|
|
89
|
+
)
|
|
90
|
+
parser.add_argument(
|
|
91
|
+
'--output', '-o',
|
|
92
|
+
help='Output file path'
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
args = parser.parse_args()
|
|
96
|
+
|
|
97
|
+
tool = ReviewReportGenerator(
|
|
98
|
+
args.target,
|
|
99
|
+
verbose=args.verbose
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
results = tool.run()
|
|
103
|
+
|
|
104
|
+
if args.json:
|
|
105
|
+
output = json.dumps(results, indent=2)
|
|
106
|
+
if args.output:
|
|
107
|
+
with open(args.output, 'w') as f:
|
|
108
|
+
f.write(output)
|
|
109
|
+
print(f"Results written to {args.output}")
|
|
110
|
+
else:
|
|
111
|
+
print(output)
|
|
112
|
+
|
|
113
|
+
if __name__ == '__main__':
|
|
114
|
+
main()
|