mirror of
https://github.com/wshobson/agents.git
synced 2026-03-18 09:37:15 +00:00
Compare commits
2 Commits
a6f0f457c4
...
payment-el
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
94d1aba17a | ||
|
|
204e8129aa |
@@ -6,8 +6,8 @@
|
||||
"url": "https://github.com/wshobson"
|
||||
},
|
||||
"metadata": {
|
||||
"description": "Production-ready workflow orchestration with 72 focused plugins, 112 specialized agents, and 146 skills - optimized for granular installation and minimal token usage",
|
||||
"version": "1.5.6"
|
||||
"description": "Production-ready workflow orchestration with 73 focused plugins, 112 specialized agents, and 146 skills - optimized for granular installation and minimal token usage",
|
||||
"version": "1.5.1"
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
@@ -53,7 +53,7 @@
|
||||
"name": "backend-development",
|
||||
"source": "./plugins/backend-development",
|
||||
"description": "Backend API design, GraphQL architecture, workflow orchestration with Temporal, and test-driven backend development",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.0",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -66,7 +66,7 @@
|
||||
"name": "frontend-mobile-development",
|
||||
"source": "./plugins/frontend-mobile-development",
|
||||
"description": "Frontend UI development and mobile application implementation across platforms",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -114,6 +114,19 @@
|
||||
"license": "MIT",
|
||||
"category": "workflows"
|
||||
},
|
||||
{
|
||||
"name": "code-review-ai",
|
||||
"source": "./plugins/code-review-ai",
|
||||
"description": "AI-powered architectural review and code quality analysis",
|
||||
"version": "1.2.0",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
},
|
||||
"homepage": "https://github.com/wshobson/agents",
|
||||
"license": "MIT",
|
||||
"category": "quality"
|
||||
},
|
||||
{
|
||||
"name": "code-refactoring",
|
||||
"source": "./plugins/code-refactoring",
|
||||
@@ -168,8 +181,8 @@
|
||||
},
|
||||
{
|
||||
"name": "llm-application-dev",
|
||||
"description": "LLM application development with LangGraph, RAG systems, vector search, and AI agent architectures for Claude 4.6 and GPT-5.2",
|
||||
"version": "2.0.5",
|
||||
"description": "LLM application development with LangGraph, RAG systems, vector search, and AI agent architectures for Claude 4.5 and GPT-5.2",
|
||||
"version": "2.0.3",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -183,7 +196,7 @@
|
||||
"name": "agent-orchestration",
|
||||
"source": "./plugins/agent-orchestration",
|
||||
"description": "Multi-agent system optimization, agent improvement workflows, and context management",
|
||||
"version": "1.2.1",
|
||||
"version": "1.2.0",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -221,7 +234,7 @@
|
||||
{
|
||||
"name": "data-engineering",
|
||||
"description": "ETL pipeline construction, data warehouse design, batch processing workflows, and data-driven feature development",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.0",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -234,7 +247,7 @@
|
||||
{
|
||||
"name": "incident-response",
|
||||
"description": "Production incident management, triage workflows, and automated incident resolution",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.0",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -273,7 +286,7 @@
|
||||
{
|
||||
"name": "observability-monitoring",
|
||||
"description": "Metrics collection, logging infrastructure, distributed tracing, SLO implementation, and monitoring dashboards",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -312,7 +325,7 @@
|
||||
{
|
||||
"name": "kubernetes-operations",
|
||||
"description": "Kubernetes manifest generation, networking configuration, security policies, observability setup, GitOps workflows, and auto-scaling",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -325,7 +338,7 @@
|
||||
{
|
||||
"name": "cloud-infrastructure",
|
||||
"description": "Cloud architecture design for AWS/Azure/GCP, Kubernetes cluster configuration, Terraform infrastructure-as-code, hybrid cloud networking, and multi-cloud cost optimization",
|
||||
"version": "1.2.3",
|
||||
"version": "1.2.2",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -338,7 +351,7 @@
|
||||
{
|
||||
"name": "cicd-automation",
|
||||
"description": "CI/CD pipeline configuration, GitHub Actions/GitLab CI workflow setup, and automated deployment pipeline orchestration",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -391,7 +404,7 @@
|
||||
"name": "performance-testing-review",
|
||||
"source": "./plugins/performance-testing-review",
|
||||
"description": "Performance analysis, test coverage review, and AI-powered code quality assessment",
|
||||
"version": "1.2.1",
|
||||
"version": "1.2.0",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -404,7 +417,7 @@
|
||||
"name": "framework-migration",
|
||||
"source": "./plugins/framework-migration",
|
||||
"description": "Framework updates, migration planning, and architectural transformation workflows",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.0",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -455,7 +468,7 @@
|
||||
{
|
||||
"name": "security-scanning",
|
||||
"description": "SAST analysis, dependency vulnerability scanning, OWASP Top 10 compliance, container security scanning, and automated security hardening",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.0",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -521,7 +534,7 @@
|
||||
"name": "api-scaffolding",
|
||||
"source": "./plugins/api-scaffolding",
|
||||
"description": "REST and GraphQL API scaffolding, framework selection, backend architecture, and API generation",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -586,7 +599,7 @@
|
||||
"name": "documentation-generation",
|
||||
"source": "./plugins/documentation-generation",
|
||||
"description": "OpenAPI specification generation, Mermaid diagram creation, tutorial writing, API reference documentation",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -625,7 +638,7 @@
|
||||
"name": "business-analytics",
|
||||
"source": "./plugins/business-analytics",
|
||||
"description": "Business metrics analysis, KPI tracking, financial reporting, and data-driven decision making",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -637,7 +650,7 @@
|
||||
{
|
||||
"name": "startup-business-analyst",
|
||||
"description": "Comprehensive startup business analysis with market sizing (TAM/SAM/SOM), financial modeling, team planning, and strategic research for early-stage companies",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.4",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -651,7 +664,7 @@
|
||||
"name": "hr-legal-compliance",
|
||||
"source": "./plugins/hr-legal-compliance",
|
||||
"description": "HR policy documentation, legal compliance templates (GDPR/SOC2/HIPAA), employment contracts, and regulatory documentation",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -690,7 +703,7 @@
|
||||
"name": "blockchain-web3",
|
||||
"source": "./plugins/blockchain-web3",
|
||||
"description": "Smart contract development with Solidity, DeFi protocol implementation, NFT platforms, and Web3 application architecture",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -703,7 +716,7 @@
|
||||
"name": "quantitative-trading",
|
||||
"source": "./plugins/quantitative-trading",
|
||||
"description": "Quantitative analysis, algorithmic trading strategies, financial modeling, portfolio risk management, and backtesting",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -716,7 +729,7 @@
|
||||
"name": "payment-processing",
|
||||
"source": "./plugins/payment-processing",
|
||||
"description": "Payment gateway integration with Stripe, PayPal, checkout flow implementation, subscription billing, and PCI compliance",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -729,7 +742,7 @@
|
||||
"name": "game-development",
|
||||
"source": "./plugins/game-development",
|
||||
"description": "Unity game development with C# scripting, Minecraft server plugin development with Bukkit/Spigot APIs",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -742,7 +755,7 @@
|
||||
"name": "accessibility-compliance",
|
||||
"source": "./plugins/accessibility-compliance",
|
||||
"description": "WCAG accessibility auditing, compliance validation, UI testing for screen readers, keyboard navigation, and inclusive design",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -755,7 +768,7 @@
|
||||
"name": "python-development",
|
||||
"source": "./plugins/python-development",
|
||||
"description": "Modern Python development with Python 3.12+, Django, FastAPI, async patterns, and production best practices",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -768,7 +781,7 @@
|
||||
"name": "javascript-typescript",
|
||||
"source": "./plugins/javascript-typescript",
|
||||
"description": "JavaScript and TypeScript development with ES6+, Node.js, React, and modern web frameworks",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -781,7 +794,7 @@
|
||||
"name": "systems-programming",
|
||||
"source": "./plugins/systems-programming",
|
||||
"description": "Systems programming with Rust, Go, C, and C++ for performance-critical and low-level development",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -859,7 +872,7 @@
|
||||
"name": "shell-scripting",
|
||||
"source": "./plugins/shell-scripting",
|
||||
"description": "Production-grade Bash scripting with defensive programming, POSIX compliance, and comprehensive testing",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"author": {
|
||||
"name": "Ryan Snodgrass",
|
||||
"url": "https://github.com/rsnodgrass"
|
||||
@@ -872,7 +885,7 @@
|
||||
"name": "developer-essentials",
|
||||
"source": "./plugins/developer-essentials",
|
||||
"description": "Essential developer skills including Git workflows, SQL optimization, error handling, code review, E2E testing, authentication, debugging, and monorepo management",
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.1",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -887,7 +900,7 @@
|
||||
"description": "Binary reverse engineering, malware analysis, firmware security, and software protection research for authorized security research, CTF competitions, and defensive security",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "D\u00e1vid Balatoni",
|
||||
"name": "Dávid Balatoni",
|
||||
"url": "https://github.com/balcsida"
|
||||
},
|
||||
"homepage": "https://github.com/wshobson/agents",
|
||||
@@ -896,8 +909,8 @@
|
||||
},
|
||||
{
|
||||
"name": "conductor",
|
||||
"description": "Context-Driven Development plugin that transforms Claude Code into a project management tool with structured workflow: Context \u2192 Spec & Plan \u2192 Implement",
|
||||
"version": "1.2.1",
|
||||
"description": "Context-Driven Development plugin that transforms Claude Code into a project management tool with structured workflow: Context → Spec & Plan → Implement",
|
||||
"version": "1.2.0",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -910,7 +923,7 @@
|
||||
{
|
||||
"name": "ui-design",
|
||||
"description": "Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.2",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
@@ -937,7 +950,7 @@
|
||||
"name": "dotnet-contribution",
|
||||
"source": "./plugins/dotnet-contribution",
|
||||
"description": "Comprehensive .NET backend development with C#, ASP.NET Core, Entity Framework Core, and Dapper for production-grade applications",
|
||||
"version": "1.0.1",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -20,7 +20,7 @@ body:
|
||||
label: Preliminary Checks
|
||||
description: Please confirm you have completed these steps
|
||||
options:
|
||||
- label: I have read the [Code of Conduct](https://github.com/wshobson/agents/blob/main/.github/CODE_OF_CONDUCT.md)
|
||||
- label: I have read the [Code of Conduct](.github/CODE_OF_CONDUCT.md)
|
||||
required: true
|
||||
- label: >-
|
||||
I have searched existing issues to ensure this is not a duplicate
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
2
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@@ -19,7 +19,7 @@ body:
|
||||
label: Preliminary Checks
|
||||
description: Please confirm you have completed these steps
|
||||
options:
|
||||
- label: I have read the [Code of Conduct](https://github.com/wshobson/agents/blob/main/.github/CODE_OF_CONDUCT.md)
|
||||
- label: I have read the [Code of Conduct](.github/CODE_OF_CONDUCT.md)
|
||||
required: true
|
||||
- label: >-
|
||||
I have searched existing issues to ensure this is not a duplicate
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/new_subagent.yml
vendored
2
.github/ISSUE_TEMPLATE/new_subagent.yml
vendored
@@ -20,7 +20,7 @@ body:
|
||||
label: Preliminary Checks
|
||||
description: Please confirm you have completed these steps
|
||||
options:
|
||||
- label: I have read the [Code of Conduct](https://github.com/wshobson/agents/blob/main/.github/CODE_OF_CONDUCT.md)
|
||||
- label: I have read the [Code of Conduct](.github/CODE_OF_CONDUCT.md)
|
||||
required: true
|
||||
- label: >-
|
||||
I have reviewed existing subagents to ensure this is not a duplicate
|
||||
|
||||
32
README.md
32
README.md
@@ -1,18 +1,18 @@
|
||||
# Claude Code Plugins: Orchestration and Automation
|
||||
|
||||
> **⚡ Updated for Opus 4.6, Sonnet 4.6 & Haiku 4.5** — Three-tier model strategy for optimal performance
|
||||
> **⚡ Updated for Opus 4.5, Sonnet 4.5 & Haiku 4.5** — Three-tier model strategy for optimal performance
|
||||
|
||||
[](https://smithery.ai/skills?ns=wshobson&utm_source=github&utm_medium=badge)
|
||||
|
||||
> **🎯 Agent Skills Enabled** — 146 specialized skills extend Claude's capabilities across plugins with progressive disclosure
|
||||
|
||||
A comprehensive production-ready system combining **112 specialized AI agents**, **16 multi-agent workflow orchestrators**, **146 agent skills**, and **79 development tools** organized into **72 focused, single-purpose plugins** for [Claude Code](https://docs.claude.com/en/docs/claude-code/overview).
|
||||
A comprehensive production-ready system combining **112 specialized AI agents**, **16 multi-agent workflow orchestrators**, **146 agent skills**, and **79 development tools** organized into **73 focused, single-purpose plugins** for [Claude Code](https://docs.claude.com/en/docs/claude-code/overview).
|
||||
|
||||
## Overview
|
||||
|
||||
This unified repository provides everything needed for intelligent automation and multi-agent orchestration across modern software development:
|
||||
|
||||
- **72 Focused Plugins** - Granular, single-purpose plugins optimized for minimal token usage and composability
|
||||
- **73 Focused Plugins** - Granular, single-purpose plugins optimized for minimal token usage and composability
|
||||
- **112 Specialized Agents** - Domain experts with deep knowledge across architecture, languages, infrastructure, quality, data/AI, documentation, business operations, and SEO
|
||||
- **146 Agent Skills** - Modular knowledge packages with progressive disclosure for specialized expertise
|
||||
- **16 Workflow Orchestrators** - Multi-agent coordination systems for complex operations like full-stack development, security hardening, ML pipelines, and incident response
|
||||
@@ -20,7 +20,7 @@ This unified repository provides everything needed for intelligent automation an
|
||||
|
||||
### Key Features
|
||||
|
||||
- **Granular Plugin Architecture**: 72 focused plugins optimized for minimal token usage
|
||||
- **Granular Plugin Architecture**: 73 focused plugins optimized for minimal token usage
|
||||
- **Comprehensive Tooling**: 79 development tools including test generation, scaffolding, and security scanning
|
||||
- **100% Agent Coverage**: All plugins include specialized agents
|
||||
- **Agent Skills**: 146 specialized skills following for progressive disclosure and token efficiency
|
||||
@@ -49,7 +49,7 @@ Add this marketplace to Claude Code:
|
||||
/plugin marketplace add wshobson/agents
|
||||
```
|
||||
|
||||
This makes all 72 plugins available for installation, but **does not load any agents or tools** into your context.
|
||||
This makes all 73 plugins available for installation, but **does not load any agents or tools** into your context.
|
||||
|
||||
### Step 2: Install Plugins
|
||||
|
||||
@@ -73,7 +73,7 @@ Install the plugins you need:
|
||||
|
||||
# Security & quality
|
||||
/plugin install security-scanning # SAST with security skill
|
||||
/plugin install comprehensive-review # Multi-perspective code analysis
|
||||
/plugin install code-review-ai # AI-powered code review
|
||||
|
||||
# Full-stack orchestration
|
||||
/plugin install full-stack-orchestration # Multi-agent workflows
|
||||
@@ -114,7 +114,7 @@ rm -rf ~/.claude/plugins/cache/claude-code-workflows && rm ~/.claude/plugins/ins
|
||||
|
||||
### Core Guides
|
||||
|
||||
- **[Plugin Reference](docs/plugins.md)** - Complete catalog of all 72 plugins
|
||||
- **[Plugin Reference](docs/plugins.md)** - Complete catalog of all 73 plugins
|
||||
- **[Agent Reference](docs/agents.md)** - All 112 agents organized by category
|
||||
- **[Agent Skills](docs/agent-skills.md)** - 146 specialized skills with progressive disclosure
|
||||
- **[Usage Guide](docs/usage.md)** - Commands, workflows, and best practices
|
||||
@@ -203,14 +203,14 @@ Strategic model assignment for optimal performance and cost:
|
||||
|
||||
| Tier | Model | Agents | Use Case |
|
||||
| ---------- | -------- | ------ | ----------------------------------------------------------------------------------------------- |
|
||||
| **Tier 1** | Opus 4.6 | 42 | Critical architecture, security, ALL code review, production coding (language pros, frameworks) |
|
||||
| **Tier 1** | Opus 4.5 | 42 | Critical architecture, security, ALL code review, production coding (language pros, frameworks) |
|
||||
| **Tier 2** | Inherit | 42 | Complex tasks - user chooses model (AI/ML, backend, frontend/mobile, specialized) |
|
||||
| **Tier 3** | Sonnet | 51 | Support with intelligence (docs, testing, debugging, network, API docs, DX, legacy, payments) |
|
||||
| **Tier 4** | Haiku | 18 | Fast operational tasks (SEO, deployment, simple docs, sales, content, search) |
|
||||
|
||||
**Why Opus 4.6 for Critical Agents?**
|
||||
**Why Opus 4.5 for Critical Agents?**
|
||||
|
||||
- 80.8% on SWE-bench (industry-leading)
|
||||
- 80.9% on SWE-bench (industry-leading)
|
||||
- 65% fewer tokens for complex tasks
|
||||
- Best for architecture decisions and security audits
|
||||
|
||||
@@ -218,14 +218,14 @@ Strategic model assignment for optimal performance and cost:
|
||||
Agents marked `inherit` use your session's default model, letting you balance cost and capability:
|
||||
|
||||
- Set via `claude --model opus` or `claude --model sonnet` when starting a session
|
||||
- Falls back to Sonnet 4.6 if no default specified
|
||||
- Falls back to Sonnet 4.5 if no default specified
|
||||
- Perfect for frontend/mobile developers who want cost control
|
||||
- AI/ML engineers can choose Opus for complex model work
|
||||
|
||||
**Cost Considerations:**
|
||||
|
||||
- **Opus 4.6**: $5/$25 per million input/output tokens - Premium for critical work
|
||||
- **Sonnet 4.6**: $3/$15 per million tokens - Balanced performance/cost
|
||||
- **Opus 4.5**: $5/$25 per million input/output tokens - Premium for critical work
|
||||
- **Sonnet 4.5**: $3/$15 per million tokens - Balanced performance/cost
|
||||
- **Haiku 4.5**: $1/$5 per million tokens - Fast, cost-effective operations
|
||||
- Opus's 65% token reduction on complex tasks often offsets higher rate
|
||||
- Use `inherit` tier to control costs for high-volume use cases
|
||||
@@ -283,13 +283,13 @@ Uses kubernetes-architect agent with 4 specialized skills for production-grade c
|
||||
|
||||
## Plugin Categories
|
||||
|
||||
**24 categories, 72 plugins:**
|
||||
**24 categories, 73 plugins:**
|
||||
|
||||
- 🎨 **Development** (4) - debugging, backend, frontend, multi-platform
|
||||
- 📚 **Documentation** (3) - code docs, API specs, diagrams, C4 architecture
|
||||
- 🔄 **Workflows** (5) - git, full-stack, TDD, **Conductor** (context-driven development), **Agent Teams** (multi-agent orchestration)
|
||||
- ✅ **Testing** (2) - unit testing, TDD workflows
|
||||
- 🔍 **Quality** (2) - comprehensive review, performance
|
||||
- 🔍 **Quality** (3) - code review, comprehensive review, performance
|
||||
- 🤖 **AI & ML** (4) - LLM apps, agent orchestration, context, MLOps
|
||||
- 📊 **Data** (2) - data engineering, data validation
|
||||
- 🗄️ **Database** (2) - database design, migrations
|
||||
@@ -330,7 +330,7 @@ Three-tier architecture for token efficiency:
|
||||
```
|
||||
claude-agents/
|
||||
├── .claude-plugin/
|
||||
│ └── marketplace.json # 72 plugins
|
||||
│ └── marketplace.json # 73 plugins
|
||||
├── plugins/
|
||||
│ ├── python-development/
|
||||
│ │ ├── agents/ # 3 Python experts
|
||||
|
||||
@@ -334,7 +334,7 @@ Feature Development Workflow:
|
||||
1. backend-development:feature-development
|
||||
2. security-scanning:security-hardening
|
||||
3. unit-testing:test-generate
|
||||
4. comprehensive-review:full-review
|
||||
4. code-review-ai:ai-review
|
||||
5. cicd-automation:workflow-automate
|
||||
6. observability-monitoring:monitor-setup
|
||||
```
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Complete Plugin Reference
|
||||
|
||||
Browse all **71 focused, single-purpose plugins** organized by category.
|
||||
Browse all **72 focused, single-purpose plugins** organized by category.
|
||||
|
||||
## Quick Start - Essential Plugins
|
||||
|
||||
@@ -68,6 +68,14 @@ Multi-agent coordination from backend → frontend → testing → security →
|
||||
|
||||
Generate pytest (Python) and Jest (JavaScript) unit tests automatically with comprehensive edge case coverage.
|
||||
|
||||
**code-review-ai** - AI-powered code review
|
||||
|
||||
```bash
|
||||
/plugin install code-review-ai
|
||||
```
|
||||
|
||||
Architectural analysis, security assessment, and code quality review with actionable feedback.
|
||||
|
||||
### Infrastructure & Operations
|
||||
|
||||
**cloud-infrastructure** - Cloud architecture design
|
||||
@@ -142,10 +150,11 @@ Next.js, React + Vite, and Node.js project setup with pnpm and TypeScript best p
|
||||
| **unit-testing** | Automated unit test generation (Python/JavaScript) | `/plugin install unit-testing` |
|
||||
| **tdd-workflows** | Test-driven development methodology | `/plugin install tdd-workflows` |
|
||||
|
||||
### 🔍 Quality (2 plugins)
|
||||
### 🔍 Quality (3 plugins)
|
||||
|
||||
| Plugin | Description | Install |
|
||||
| ------------------------------ | --------------------------------------------- | -------------------------------------------- |
|
||||
| **code-review-ai** | AI-powered architectural review | `/plugin install code-review-ai` |
|
||||
| **comprehensive-review** | Multi-perspective code analysis | `/plugin install comprehensive-review` |
|
||||
| **performance-testing-review** | Performance analysis and test coverage review | `/plugin install performance-testing-review` |
|
||||
|
||||
|
||||
@@ -70,6 +70,7 @@ Claude Code automatically selects and coordinates the appropriate agents based o
|
||||
|
||||
| Command | Description |
|
||||
| ----------------------------------- | -------------------------- |
|
||||
| `/code-review-ai:ai-review` | AI-powered code review |
|
||||
| `/comprehensive-review:full-review` | Multi-perspective analysis |
|
||||
| `/comprehensive-review:pr-enhance` | Enhance pull requests |
|
||||
|
||||
@@ -360,7 +361,7 @@ Compose multiple plugins for complex scenarios:
|
||||
/unit-testing:test-generate
|
||||
|
||||
# 4. Review the implementation
|
||||
/comprehensive-review:full-review
|
||||
/code-review-ai:ai-review
|
||||
|
||||
# 5. Set up CI/CD
|
||||
/cicd-automation:workflow-automate
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "accessibility-compliance",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"description": "WCAG accessibility auditing, compliance validation, UI testing for screen readers, keyboard navigation, and inclusive design",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -536,3 +536,10 @@ function logAccessibleName(element) {
|
||||
- **Don't test only happy path** - Test error states
|
||||
- **Don't skip dynamic content** - Most common issues
|
||||
- **Don't rely on visual testing** - Different experience
|
||||
|
||||
## Resources
|
||||
|
||||
- [VoiceOver User Guide](https://support.apple.com/guide/voiceover/welcome/mac)
|
||||
- [NVDA User Guide](https://www.nvaccess.org/files/nvda/documentation/userGuide.html)
|
||||
- [JAWS Documentation](https://support.freedomscientific.com/Products/Blindness/JAWS)
|
||||
- [WebAIM Screen Reader Survey](https://webaim.org/projects/screenreadersurvey/)
|
||||
|
||||
@@ -546,3 +546,10 @@ class AccessibleDropdown extends HTMLElement {
|
||||
- **Don't hide focus outlines** - Keyboard users need them
|
||||
- **Don't disable zoom** - Users need to resize
|
||||
- **Don't use color alone** - Multiple indicators needed
|
||||
|
||||
## Resources
|
||||
|
||||
- [WCAG 2.2 Guidelines](https://www.w3.org/TR/WCAG22/)
|
||||
- [WebAIM](https://webaim.org/)
|
||||
- [A11y Project Checklist](https://www.a11yproject.com/checklist/)
|
||||
- [axe DevTools](https://www.deque.com/axe/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "agent-orchestration",
|
||||
"version": "1.2.1",
|
||||
"version": "1.2.0",
|
||||
"description": "Multi-agent system optimization, agent improvement workflows, and context management",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -146,7 +146,7 @@ class CostOptimizer:
|
||||
self.token_budget = 100000 # Monthly budget
|
||||
self.token_usage = 0
|
||||
self.model_costs = {
|
||||
'gpt-5.2': 0.03,
|
||||
'gpt-5': 0.03,
|
||||
'claude-4-sonnet': 0.015,
|
||||
'claude-4-haiku': 0.0025
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "api-scaffolding",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"description": "REST and GraphQL API scaffolding, framework selection, backend architecture, and API generation",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -538,3 +538,30 @@ async def test_create_user(client):
|
||||
assert data["email"] == "test@example.com"
|
||||
assert "id" in data
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/fastapi-architecture.md**: Detailed architecture guide
|
||||
- **references/async-best-practices.md**: Async/await patterns
|
||||
- **references/testing-strategies.md**: Comprehensive testing guide
|
||||
- **assets/project-template/**: Complete FastAPI project
|
||||
- **assets/docker-compose.yml**: Development environment setup
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Async All The Way**: Use async for database, external APIs
|
||||
2. **Dependency Injection**: Leverage FastAPI's DI system
|
||||
3. **Repository Pattern**: Separate data access from business logic
|
||||
4. **Service Layer**: Keep business logic out of routes
|
||||
5. **Pydantic Schemas**: Strong typing for request/response
|
||||
6. **Error Handling**: Consistent error responses
|
||||
7. **Testing**: Test all layers independently
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- **Blocking Code in Async**: Using synchronous database drivers
|
||||
- **No Service Layer**: Business logic in route handlers
|
||||
- **Missing Type Hints**: Loses FastAPI's benefits
|
||||
- **Ignoring Sessions**: Not properly managing database sessions
|
||||
- **No Testing**: Skipping integration tests
|
||||
- **Tight Coupling**: Direct database access in routes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "backend-development",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.0",
|
||||
"description": "Backend API design, GraphQL architecture, workflow orchestration with Temporal, and test-driven backend development",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -516,3 +516,13 @@ def create_context():
|
||||
- **Poor Documentation**: Undocumented APIs frustrate developers
|
||||
- **Ignoring HTTP Semantics**: POST for idempotent operations breaks expectations
|
||||
- **Tight Coupling**: API structure shouldn't mirror database schema
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/rest-best-practices.md**: Comprehensive REST API design guide
|
||||
- **references/graphql-schema-design.md**: GraphQL schema patterns and anti-patterns
|
||||
- **references/api-versioning-strategies.md**: Versioning approaches and migration paths
|
||||
- **assets/rest-api-template.py**: FastAPI REST API template
|
||||
- **assets/graphql-schema-template.graphql**: Complete GraphQL schema example
|
||||
- **assets/api-design-checklist.md**: Pre-implementation review checklist
|
||||
- **scripts/openapi-generator.py**: Generate OpenAPI specs from code
|
||||
|
||||
@@ -464,3 +464,31 @@ class OrderRepository:
|
||||
await self._publish_events(order._events)
|
||||
order._events.clear()
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/clean-architecture-guide.md**: Detailed layer breakdown
|
||||
- **references/hexagonal-architecture-guide.md**: Ports and adapters patterns
|
||||
- **references/ddd-tactical-patterns.md**: Entities, value objects, aggregates
|
||||
- **assets/clean-architecture-template/**: Complete project structure
|
||||
- **assets/ddd-examples/**: Domain modeling examples
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Dependency Rule**: Dependencies always point inward
|
||||
2. **Interface Segregation**: Small, focused interfaces
|
||||
3. **Business Logic in Domain**: Keep frameworks out of core
|
||||
4. **Test Independence**: Core testable without infrastructure
|
||||
5. **Bounded Contexts**: Clear domain boundaries
|
||||
6. **Ubiquitous Language**: Consistent terminology
|
||||
7. **Thin Controllers**: Delegate to use cases
|
||||
8. **Rich Domain Models**: Behavior with data
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- **Anemic Domain**: Entities with only data, no behavior
|
||||
- **Framework Coupling**: Business logic depends on frameworks
|
||||
- **Fat Controllers**: Business logic in controllers
|
||||
- **Repository Leakage**: Exposing ORM objects
|
||||
- **Missing Abstractions**: Concrete dependencies in core
|
||||
- **Over-Engineering**: Clean architecture for simple CRUD
|
||||
|
||||
@@ -547,3 +547,8 @@ class ConsistentQueryHandler:
|
||||
- **Don't couple read/write schemas** - Independent evolution
|
||||
- **Don't over-engineer** - Start simple
|
||||
- **Don't ignore consistency SLAs** - Define acceptable lag
|
||||
|
||||
## Resources
|
||||
|
||||
- [CQRS Pattern](https://martinfowler.com/bliki/CQRS.html)
|
||||
- [Microsoft CQRS Guidance](https://docs.microsoft.com/en-us/azure/architecture/patterns/cqrs)
|
||||
|
||||
@@ -429,3 +429,9 @@ Capacity: On-demand or provisioned based on throughput needs
|
||||
- **Don't store large payloads** - Keep events small
|
||||
- **Don't skip optimistic concurrency** - Prevents data corruption
|
||||
- **Don't ignore backpressure** - Handle slow consumers
|
||||
|
||||
## Resources
|
||||
|
||||
- [EventStoreDB](https://www.eventstore.com/)
|
||||
- [Marten Events](https://martendb.io/events/)
|
||||
- [Event Sourcing Pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/event-sourcing)
|
||||
|
||||
@@ -562,3 +562,34 @@ async def call_payment_service(payment_data: dict):
|
||||
payment_data
|
||||
)
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/service-decomposition-guide.md**: Breaking down monoliths
|
||||
- **references/communication-patterns.md**: Sync vs async patterns
|
||||
- **references/saga-implementation.md**: Distributed transactions
|
||||
- **assets/circuit-breaker.py**: Production circuit breaker
|
||||
- **assets/event-bus-template.py**: Kafka event bus implementation
|
||||
- **assets/api-gateway-template.py**: Complete API gateway
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Service Boundaries**: Align with business capabilities
|
||||
2. **Database Per Service**: No shared databases
|
||||
3. **API Contracts**: Versioned, backward compatible
|
||||
4. **Async When Possible**: Events over direct calls
|
||||
5. **Circuit Breakers**: Fail fast on service failures
|
||||
6. **Distributed Tracing**: Track requests across services
|
||||
7. **Service Registry**: Dynamic service discovery
|
||||
8. **Health Checks**: Liveness and readiness probes
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- **Distributed Monolith**: Tightly coupled services
|
||||
- **Chatty Services**: Too many inter-service calls
|
||||
- **Shared Databases**: Tight coupling through data
|
||||
- **No Circuit Breakers**: Cascade failures
|
||||
- **Synchronous Everything**: Tight coupling, poor resilience
|
||||
- **Premature Microservices**: Starting with microservices
|
||||
- **Ignoring Network Failures**: Assuming reliable network
|
||||
- **No Compensation Logic**: Can't undo failed transactions
|
||||
|
||||
@@ -483,3 +483,8 @@ class CustomerActivityProjection(Projection):
|
||||
- **Don't skip error handling** - Log and alert on failures
|
||||
- **Don't ignore ordering** - Events must be processed in order
|
||||
- **Don't over-normalize** - Denormalize for query patterns
|
||||
|
||||
## Resources
|
||||
|
||||
- [CQRS Pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/cqrs)
|
||||
- [Projection Building Blocks](https://zimarev.com/blog/event-sourcing/projections/)
|
||||
|
||||
@@ -477,3 +477,8 @@ class TimeoutSagaOrchestrator(SagaOrchestrator):
|
||||
- **Don't skip compensation testing** - Most critical part
|
||||
- **Don't couple services** - Use async messaging
|
||||
- **Don't ignore partial failures** - Handle gracefully
|
||||
|
||||
## Resources
|
||||
|
||||
- [Saga Pattern](https://microservices.io/patterns/data/saga.html)
|
||||
- [Designing Data-Intensive Applications](https://dataintensive.net/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "blockchain-web3",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"description": "Smart contract development with Solidity, DeFi protocol implementation, NFT platforms, and Web3 application architecture",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -422,3 +422,33 @@ contract FlashLoanReceiver is IFlashLoanReceiver {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/staking.md**: Staking mechanics and reward distribution
|
||||
- **references/liquidity-pools.md**: AMM mathematics and pricing
|
||||
- **references/governance-tokens.md**: Governance and voting systems
|
||||
- **references/lending-protocols.md**: Lending/borrowing implementation
|
||||
- **references/flash-loans.md**: Flash loan security and use cases
|
||||
- **assets/staking-contract.sol**: Production staking template
|
||||
- **assets/amm-contract.sol**: Full AMM implementation
|
||||
- **assets/governance-token.sol**: Governance system
|
||||
- **assets/lending-protocol.sol**: Lending platform template
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Use Established Libraries**: OpenZeppelin, Solmate
|
||||
2. **Test Thoroughly**: Unit tests, integration tests, fuzzing
|
||||
3. **Audit Before Launch**: Professional security audits
|
||||
4. **Start Simple**: MVP first, add features incrementally
|
||||
5. **Monitor**: Track contract health and user activity
|
||||
6. **Upgradability**: Consider proxy patterns for upgrades
|
||||
7. **Emergency Controls**: Pause mechanisms for critical issues
|
||||
|
||||
## Common DeFi Patterns
|
||||
|
||||
- **Time-Weighted Average Price (TWAP)**: Price oracle resistance
|
||||
- **Liquidity Mining**: Incentivize liquidity provision
|
||||
- **Vesting**: Lock tokens with gradual release
|
||||
- **Multisig**: Require multiple signatures for critical operations
|
||||
- **Timelocks**: Delay execution of governance decisions
|
||||
|
||||
@@ -353,3 +353,31 @@ contract OptimizedNFT is ERC721A {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/erc721.md**: ERC-721 specification details
|
||||
- **references/erc1155.md**: ERC-1155 multi-token standard
|
||||
- **references/metadata-standards.md**: Metadata best practices
|
||||
- **references/enumeration.md**: Token enumeration patterns
|
||||
- **assets/erc721-contract.sol**: Production ERC-721 template
|
||||
- **assets/erc1155-contract.sol**: Production ERC-1155 template
|
||||
- **assets/metadata-schema.json**: Standard metadata format
|
||||
- **assets/metadata-uploader.py**: IPFS upload utility
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Use OpenZeppelin**: Battle-tested implementations
|
||||
2. **Pin Metadata**: Use IPFS with pinning service
|
||||
3. **Implement Royalties**: EIP-2981 for marketplace compatibility
|
||||
4. **Gas Optimization**: Use ERC721A for batch minting
|
||||
5. **Reveal Mechanism**: Placeholder → reveal pattern
|
||||
6. **Enumeration**: Support walletOfOwner for marketplaces
|
||||
7. **Whitelist**: Merkle trees for efficient whitelisting
|
||||
|
||||
## Marketplace Integration
|
||||
|
||||
- OpenSea: ERC-721/1155, metadata standards
|
||||
- LooksRare: Royalty enforcement
|
||||
- Rarible: Protocol fees, lazy minting
|
||||
- Blur: Gas-optimized trading
|
||||
|
||||
@@ -494,3 +494,32 @@ contract WellDocumentedContract {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/reentrancy.md**: Comprehensive reentrancy prevention
|
||||
- **references/access-control.md**: Role-based access patterns
|
||||
- **references/overflow-underflow.md**: SafeMath and integer safety
|
||||
- **references/gas-optimization.md**: Gas saving techniques
|
||||
- **references/vulnerability-patterns.md**: Common vulnerability catalog
|
||||
- **assets/solidity-contracts-templates.sol**: Secure contract templates
|
||||
- **assets/security-checklist.md**: Pre-audit checklist
|
||||
- **scripts/analyze-contract.sh**: Static analysis tools
|
||||
|
||||
## Tools for Security Analysis
|
||||
|
||||
- **Slither**: Static analysis tool
|
||||
- **Mythril**: Security analysis tool
|
||||
- **Echidna**: Fuzzing tool
|
||||
- **Manticore**: Symbolic execution
|
||||
- **Securify**: Automated security scanner
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
1. **Using `tx.origin` for Authentication**: Use `msg.sender` instead
|
||||
2. **Unchecked External Calls**: Always check return values
|
||||
3. **Delegatecall to Untrusted Contracts**: Can hijack your contract
|
||||
4. **Floating Pragma**: Pin to specific Solidity version
|
||||
5. **Missing Events**: Emit events for state changes
|
||||
6. **Excessive Gas in Loops**: Can hit block gas limit
|
||||
7. **No Upgrade Path**: Consider proxy patterns if upgrades needed
|
||||
|
||||
@@ -388,3 +388,28 @@ jobs:
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@v2
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/hardhat-setup.md**: Hardhat configuration guide
|
||||
- **references/foundry-setup.md**: Foundry testing framework
|
||||
- **references/test-patterns.md**: Testing best practices
|
||||
- **references/mainnet-forking.md**: Fork testing strategies
|
||||
- **references/contract-verification.md**: Etherscan verification
|
||||
- **assets/hardhat-config.js**: Complete Hardhat configuration
|
||||
- **assets/test-suite.js**: Comprehensive test examples
|
||||
- **assets/foundry.toml**: Foundry configuration
|
||||
- **scripts/test-contract.sh**: Automated testing script
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Test Coverage**: Aim for >90% coverage
|
||||
2. **Edge Cases**: Test boundary conditions
|
||||
3. **Gas Limits**: Verify functions don't hit block gas limit
|
||||
4. **Reentrancy**: Test for reentrancy vulnerabilities
|
||||
5. **Access Control**: Test unauthorized access attempts
|
||||
6. **Events**: Verify event emissions
|
||||
7. **Fixtures**: Use fixtures to avoid code duplication
|
||||
8. **Mainnet Fork**: Test with real contracts
|
||||
9. **Fuzzing**: Use property-based testing
|
||||
10. **CI/CD**: Automate testing on every commit
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "business-analytics",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"description": "Business metrics analysis, KPI tracking, financial reporting, and data-driven decision making",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -445,3 +445,9 @@ Present ranges:
|
||||
- **Don't use jargon** - Match audience vocabulary
|
||||
- **Don't show methodology first** - Context, then method
|
||||
- **Don't forget the narrative** - Numbers need meaning
|
||||
|
||||
## Resources
|
||||
|
||||
- [Storytelling with Data (Cole Nussbaumer)](https://www.storytellingwithdata.com/)
|
||||
- [The Pyramid Principle (Barbara Minto)](https://www.amazon.com/Pyramid-Principle-Logic-Writing-Thinking/dp/0273710516)
|
||||
- [Resonate (Nancy Duarte)](https://www.duarte.com/resonate/)
|
||||
|
||||
@@ -420,3 +420,9 @@ for alert in alerts:
|
||||
- **Don't use 3D charts** - They distort perception
|
||||
- **Don't hide methodology** - Document calculations
|
||||
- **Don't ignore mobile** - Ensure responsive design
|
||||
|
||||
## Resources
|
||||
|
||||
- [Stephen Few's Dashboard Design](https://www.perceptualedge.com/articles/visual_business_intelligence/rules_for_using_color.pdf)
|
||||
- [Edward Tufte's Principles](https://www.edwardtufte.com/tufte/)
|
||||
- [Google Data Studio Gallery](https://datastudio.google.com/gallery)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cicd-automation",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"description": "CI/CD pipeline configuration, GitHub Actions/GitLab CI workflow setup, and automated deployment pipeline orchestration",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -351,6 +351,10 @@ kubectl rollout undo deployment/my-app --to-revision=3
|
||||
fi
|
||||
```
|
||||
|
||||
## Reference Files
|
||||
|
||||
- `references/pipeline-orchestration.md` - Complex pipeline patterns
|
||||
- `assets/approval-gate-template.yml` - Approval workflow templates
|
||||
|
||||
## Related Skills
|
||||
|
||||
|
||||
@@ -320,6 +320,12 @@ jobs:
|
||||
}
|
||||
```
|
||||
|
||||
## Reference Files
|
||||
|
||||
- `assets/test-workflow.yml` - Testing workflow template
|
||||
- `assets/deploy-workflow.yml` - Deployment workflow template
|
||||
- `assets/matrix-build.yml` - Matrix build template
|
||||
- `references/common-workflows.md` - Common workflow patterns
|
||||
|
||||
## Related Skills
|
||||
|
||||
|
||||
@@ -246,6 +246,10 @@ trigger-child:
|
||||
strategy: depend
|
||||
```
|
||||
|
||||
## Reference Files
|
||||
|
||||
- `assets/gitlab-ci.yml.template` - Complete pipeline template
|
||||
- `references/pipeline-stages.md` - Stage organization patterns
|
||||
|
||||
## Best Practices
|
||||
|
||||
|
||||
@@ -339,6 +339,10 @@ secret-scan:
|
||||
allow_failure: false
|
||||
```
|
||||
|
||||
## Reference Files
|
||||
|
||||
- `references/vault-setup.md` - HashiCorp Vault configuration
|
||||
- `references/github-secrets.md` - GitHub Secrets best practices
|
||||
|
||||
## Related Skills
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cloud-infrastructure",
|
||||
"version": "1.2.3",
|
||||
"version": "1.2.2",
|
||||
"description": "Cloud architecture design for AWS/Azure/GCP, Kubernetes cluster configuration, Terraform infrastructure-as-code, hybrid cloud networking, and multi-cloud cost optimization",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -284,6 +284,10 @@ resource "aws_cloudwatch_metric_alarm" "cpu_high" {
|
||||
- **GCP:** Cost Management, Recommender
|
||||
- **Multi-cloud:** CloudHealth, Cloudability, Kubecost
|
||||
|
||||
## Reference Files
|
||||
|
||||
- `references/tagging-standards.md` - Tagging conventions
|
||||
- `assets/cost-analysis-template.xlsx` - Cost analysis spreadsheet
|
||||
|
||||
## Related Skills
|
||||
|
||||
|
||||
@@ -230,6 +230,10 @@ az network vpn-connection show-device-config-script
|
||||
5. **Use Direct Connect** for high bandwidth
|
||||
6. **Implement caching** to reduce traffic
|
||||
|
||||
## Reference Files
|
||||
|
||||
- `references/vpn-setup.md` - VPN configuration guide
|
||||
- `references/direct-connect.md` - Direct Connect setup
|
||||
|
||||
## Related Skills
|
||||
|
||||
|
||||
@@ -319,3 +319,9 @@ istioctl proxy-config endpoints deploy/my-app
|
||||
# Debug traffic
|
||||
istioctl proxy-config log deploy/my-app --level debug
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- [Istio Traffic Management](https://istio.io/latest/docs/concepts/traffic-management/)
|
||||
- [Virtual Service Reference](https://istio.io/latest/docs/reference/config/networking/virtual-service/)
|
||||
- [Destination Rule Reference](https://istio.io/latest/docs/reference/config/networking/destination-rule/)
|
||||
|
||||
@@ -303,3 +303,9 @@ linkerd viz tap deploy/my-app --to deploy/my-backend
|
||||
- **Don't over-configure** - Linkerd defaults are sensible
|
||||
- **Don't ignore ServiceProfiles** - They unlock advanced features
|
||||
- **Don't forget timeouts** - Set appropriate values per route
|
||||
|
||||
## Resources
|
||||
|
||||
- [Linkerd Documentation](https://linkerd.io/2.14/overview/)
|
||||
- [Service Profiles](https://linkerd.io/2.14/features/service-profiles/)
|
||||
- [Authorization Policy](https://linkerd.io/2.14/features/server-policy/)
|
||||
|
||||
@@ -340,3 +340,10 @@ linkerd viz tap deploy/my-app --to deploy/my-backend
|
||||
- **Don't ignore cert expiry** - Automate rotation
|
||||
- **Don't use self-signed certs** - Use proper CA hierarchy
|
||||
- **Don't skip verification** - Verify the full chain
|
||||
|
||||
## Resources
|
||||
|
||||
- [Istio Security](https://istio.io/latest/docs/concepts/security/)
|
||||
- [SPIFFE/SPIRE](https://spiffe.io/)
|
||||
- [cert-manager](https://cert-manager.io/)
|
||||
- [Zero Trust Architecture (NIST)](https://www.nist.gov/publications/zero-trust-architecture)
|
||||
|
||||
@@ -169,6 +169,10 @@ AWS / Azure / GCP
|
||||
9. **Test disaster recovery** procedures
|
||||
10. **Train teams** on multiple clouds
|
||||
|
||||
## Reference Files
|
||||
|
||||
- `references/service-comparison.md` - Complete service comparison
|
||||
- `references/multi-cloud-patterns.md` - Architecture patterns
|
||||
|
||||
## Related Skills
|
||||
|
||||
|
||||
@@ -376,3 +376,10 @@ spec:
|
||||
- **Don't ignore cardinality** - Limit label values
|
||||
- **Don't skip dashboards** - Visualize dependencies
|
||||
- **Don't forget costs** - Monitor observability costs
|
||||
|
||||
## Resources
|
||||
|
||||
- [Istio Observability](https://istio.io/latest/docs/tasks/observability/)
|
||||
- [Linkerd Observability](https://linkerd.io/2.14/features/dashboard/)
|
||||
- [OpenTelemetry](https://opentelemetry.io/)
|
||||
- [Kiali](https://kiali.io/)
|
||||
|
||||
@@ -213,6 +213,13 @@ module "rds" {
|
||||
}
|
||||
```
|
||||
|
||||
## Reference Files
|
||||
|
||||
- `assets/vpc-module/` - Complete VPC module example
|
||||
- `assets/rds-module/` - RDS module example
|
||||
- `references/aws-modules.md` - AWS module patterns
|
||||
- `references/azure-modules.md` - Azure module patterns
|
||||
- `references/gcp-modules.md` - GCP module patterns
|
||||
|
||||
## Testing
|
||||
|
||||
|
||||
10
plugins/code-review-ai/.claude-plugin/plugin.json
Normal file
10
plugins/code-review-ai/.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "code-review-ai",
|
||||
"version": "1.2.0",
|
||||
"description": "AI-powered architectural review and code quality analysis",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
"email": "seth@major7apps.com"
|
||||
},
|
||||
"license": "MIT"
|
||||
}
|
||||
161
plugins/code-review-ai/agents/architect-review.md
Normal file
161
plugins/code-review-ai/agents/architect-review.md
Normal file
@@ -0,0 +1,161 @@
|
||||
---
|
||||
name: architect-review
|
||||
description: Master software architect specializing in modern architecture patterns, clean architecture, microservices, event-driven systems, and DDD. Reviews system designs and code changes for architectural integrity, scalability, and maintainability. Use PROACTIVELY for architectural decisions.
|
||||
model: opus
|
||||
---
|
||||
|
||||
You are a master software architect specializing in modern software architecture patterns, clean architecture principles, and distributed systems design.
|
||||
|
||||
## Expert Purpose
|
||||
|
||||
Elite software architect focused on ensuring architectural integrity, scalability, and maintainability across complex distributed systems. Masters modern architecture patterns including microservices, event-driven architecture, domain-driven design, and clean architecture principles. Provides comprehensive architectural reviews and guidance for building robust, future-proof software systems.
|
||||
|
||||
## Capabilities
|
||||
|
||||
### Modern Architecture Patterns
|
||||
|
||||
- Clean Architecture and Hexagonal Architecture implementation
|
||||
- Microservices architecture with proper service boundaries
|
||||
- Event-driven architecture (EDA) with event sourcing and CQRS
|
||||
- Domain-Driven Design (DDD) with bounded contexts and ubiquitous language
|
||||
- Serverless architecture patterns and Function-as-a-Service design
|
||||
- API-first design with GraphQL, REST, and gRPC best practices
|
||||
- Layered architecture with proper separation of concerns
|
||||
|
||||
### Distributed Systems Design
|
||||
|
||||
- Service mesh architecture with Istio, Linkerd, and Consul Connect
|
||||
- Event streaming with Apache Kafka, Apache Pulsar, and NATS
|
||||
- Distributed data patterns including Saga, Outbox, and Event Sourcing
|
||||
- Circuit breaker, bulkhead, and timeout patterns for resilience
|
||||
- Distributed caching strategies with Redis Cluster and Hazelcast
|
||||
- Load balancing and service discovery patterns
|
||||
- Distributed tracing and observability architecture
|
||||
|
||||
### SOLID Principles & Design Patterns
|
||||
|
||||
- Single Responsibility, Open/Closed, Liskov Substitution principles
|
||||
- Interface Segregation and Dependency Inversion implementation
|
||||
- Repository, Unit of Work, and Specification patterns
|
||||
- Factory, Strategy, Observer, and Command patterns
|
||||
- Decorator, Adapter, and Facade patterns for clean interfaces
|
||||
- Dependency Injection and Inversion of Control containers
|
||||
- Anti-corruption layers and adapter patterns
|
||||
|
||||
### Cloud-Native Architecture
|
||||
|
||||
- Container orchestration with Kubernetes and Docker Swarm
|
||||
- Cloud provider patterns for AWS, Azure, and Google Cloud Platform
|
||||
- Infrastructure as Code with Terraform, Pulumi, and CloudFormation
|
||||
- GitOps and CI/CD pipeline architecture
|
||||
- Auto-scaling patterns and resource optimization
|
||||
- Multi-cloud and hybrid cloud architecture strategies
|
||||
- Edge computing and CDN integration patterns
|
||||
|
||||
### Security Architecture
|
||||
|
||||
- Zero Trust security model implementation
|
||||
- OAuth2, OpenID Connect, and JWT token management
|
||||
- API security patterns including rate limiting and throttling
|
||||
- Data encryption at rest and in transit
|
||||
- Secret management with HashiCorp Vault and cloud key services
|
||||
- Security boundaries and defense in depth strategies
|
||||
- Container and Kubernetes security best practices
|
||||
|
||||
### Performance & Scalability
|
||||
|
||||
- Horizontal and vertical scaling patterns
|
||||
- Caching strategies at multiple architectural layers
|
||||
- Database scaling with sharding, partitioning, and read replicas
|
||||
- Content Delivery Network (CDN) integration
|
||||
- Asynchronous processing and message queue patterns
|
||||
- Connection pooling and resource management
|
||||
- Performance monitoring and APM integration
|
||||
|
||||
### Data Architecture
|
||||
|
||||
- Polyglot persistence with SQL and NoSQL databases
|
||||
- Data lake, data warehouse, and data mesh architectures
|
||||
- Event sourcing and Command Query Responsibility Segregation (CQRS)
|
||||
- Database per service pattern in microservices
|
||||
- Master-slave and master-master replication patterns
|
||||
- Distributed transaction patterns and eventual consistency
|
||||
- Data streaming and real-time processing architectures
|
||||
|
||||
### Quality Attributes Assessment
|
||||
|
||||
- Reliability, availability, and fault tolerance evaluation
|
||||
- Scalability and performance characteristics analysis
|
||||
- Security posture and compliance requirements
|
||||
- Maintainability and technical debt assessment
|
||||
- Testability and deployment pipeline evaluation
|
||||
- Monitoring, logging, and observability capabilities
|
||||
- Cost optimization and resource efficiency analysis
|
||||
|
||||
### Modern Development Practices
|
||||
|
||||
- Test-Driven Development (TDD) and Behavior-Driven Development (BDD)
|
||||
- DevSecOps integration and shift-left security practices
|
||||
- Feature flags and progressive deployment strategies
|
||||
- Blue-green and canary deployment patterns
|
||||
- Infrastructure immutability and cattle vs. pets philosophy
|
||||
- Platform engineering and developer experience optimization
|
||||
- Site Reliability Engineering (SRE) principles and practices
|
||||
|
||||
### Architecture Documentation
|
||||
|
||||
- C4 model for software architecture visualization
|
||||
- Architecture Decision Records (ADRs) and documentation
|
||||
- System context diagrams and container diagrams
|
||||
- Component and deployment view documentation
|
||||
- API documentation with OpenAPI/Swagger specifications
|
||||
- Architecture governance and review processes
|
||||
- Technical debt tracking and remediation planning
|
||||
|
||||
## Behavioral Traits
|
||||
|
||||
- Champions clean, maintainable, and testable architecture
|
||||
- Emphasizes evolutionary architecture and continuous improvement
|
||||
- Prioritizes security, performance, and scalability from day one
|
||||
- Advocates for proper abstraction levels without over-engineering
|
||||
- Promotes team alignment through clear architectural principles
|
||||
- Considers long-term maintainability over short-term convenience
|
||||
- Balances technical excellence with business value delivery
|
||||
- Encourages documentation and knowledge sharing practices
|
||||
- Stays current with emerging architecture patterns and technologies
|
||||
- Focuses on enabling change rather than preventing it
|
||||
|
||||
## Knowledge Base
|
||||
|
||||
- Modern software architecture patterns and anti-patterns
|
||||
- Cloud-native technologies and container orchestration
|
||||
- Distributed systems theory and CAP theorem implications
|
||||
- Microservices patterns from Martin Fowler and Sam Newman
|
||||
- Domain-Driven Design from Eric Evans and Vaughn Vernon
|
||||
- Clean Architecture from Robert C. Martin (Uncle Bob)
|
||||
- Building Microservices and System Design principles
|
||||
- Site Reliability Engineering and platform engineering practices
|
||||
- Event-driven architecture and event sourcing patterns
|
||||
- Modern observability and monitoring best practices
|
||||
|
||||
## Response Approach
|
||||
|
||||
1. **Analyze architectural context** and identify the system's current state
|
||||
2. **Assess architectural impact** of proposed changes (High/Medium/Low)
|
||||
3. **Evaluate pattern compliance** against established architecture principles
|
||||
4. **Identify architectural violations** and anti-patterns
|
||||
5. **Recommend improvements** with specific refactoring suggestions
|
||||
6. **Consider scalability implications** for future growth
|
||||
7. **Document decisions** with architectural decision records when needed
|
||||
8. **Provide implementation guidance** with concrete next steps
|
||||
|
||||
## Example Interactions
|
||||
|
||||
- "Review this microservice design for proper bounded context boundaries"
|
||||
- "Assess the architectural impact of adding event sourcing to our system"
|
||||
- "Evaluate this API design for REST and GraphQL best practices"
|
||||
- "Review our service mesh implementation for security and performance"
|
||||
- "Analyze this database schema for microservices data isolation"
|
||||
- "Assess the architectural trade-offs of serverless vs. containerized deployment"
|
||||
- "Review this event-driven system design for proper decoupling"
|
||||
- "Evaluate our CI/CD pipeline architecture for scalability and security"
|
||||
457
plugins/code-review-ai/commands/ai-review.md
Normal file
457
plugins/code-review-ai/commands/ai-review.md
Normal file
@@ -0,0 +1,457 @@
|
||||
# AI-Powered Code Review Specialist
|
||||
|
||||
You are an expert AI-powered code review specialist combining automated static analysis, intelligent pattern recognition, and modern DevOps practices. Leverage AI tools (GitHub Copilot, Qodo, GPT-5, Claude 4.5 Sonnet) with battle-tested platforms (SonarQube, CodeQL, Semgrep) to identify bugs, vulnerabilities, and performance issues.
|
||||
|
||||
## Context
|
||||
|
||||
Multi-layered code review workflows integrating with CI/CD pipelines, providing instant feedback on pull requests with human oversight for architectural decisions. Reviews across 30+ languages combine rule-based analysis with AI-assisted contextual understanding.
|
||||
|
||||
## Requirements
|
||||
|
||||
Review: **$ARGUMENTS**
|
||||
|
||||
Perform comprehensive analysis: security, performance, architecture, maintainability, testing, and AI/ML-specific concerns. Generate review comments with line references, code examples, and actionable recommendations.
|
||||
|
||||
## Automated Code Review Workflow
|
||||
|
||||
### Initial Triage
|
||||
|
||||
1. Parse diff to determine modified files and affected components
|
||||
2. Match file types to optimal static analysis tools
|
||||
3. Scale analysis based on PR size (superficial >1000 lines, deep <200 lines)
|
||||
4. Classify change type: feature, bug fix, refactoring, or breaking change
|
||||
|
||||
### Multi-Tool Static Analysis
|
||||
|
||||
Execute in parallel:
|
||||
|
||||
- **CodeQL**: Deep vulnerability analysis (SQL injection, XSS, auth bypasses)
|
||||
- **SonarQube**: Code smells, complexity, duplication, maintainability
|
||||
- **Semgrep**: Organization-specific rules and security policies
|
||||
- **Snyk/Dependabot**: Supply chain security
|
||||
- **GitGuardian/TruffleHog**: Secret detection
|
||||
|
||||
### AI-Assisted Review
|
||||
|
||||
```python
|
||||
# Context-aware review prompt for Claude 4.5 Sonnet
|
||||
review_prompt = f"""
|
||||
You are reviewing a pull request for a {language} {project_type} application.
|
||||
|
||||
**Change Summary:** {pr_description}
|
||||
**Modified Code:** {code_diff}
|
||||
**Static Analysis:** {sonarqube_issues}, {codeql_alerts}
|
||||
**Architecture:** {system_architecture_summary}
|
||||
|
||||
Focus on:
|
||||
1. Security vulnerabilities missed by static tools
|
||||
2. Performance implications at scale
|
||||
3. Edge cases and error handling gaps
|
||||
4. API contract compatibility
|
||||
5. Testability and missing coverage
|
||||
6. Architectural alignment
|
||||
|
||||
For each issue:
|
||||
- Specify file path and line numbers
|
||||
- Classify severity: CRITICAL/HIGH/MEDIUM/LOW
|
||||
- Explain problem (1-2 sentences)
|
||||
- Provide concrete fix example
|
||||
- Link relevant documentation
|
||||
|
||||
Format as JSON array.
|
||||
"""
|
||||
```
|
||||
|
||||
### Model Selection (2025)
|
||||
|
||||
- **Fast reviews (<200 lines)**: GPT-4o-mini or Claude 4.5 Haiku
|
||||
- **Deep reasoning**: Claude 4.5 Sonnet or GPT-5 (200K+ tokens)
|
||||
- **Code generation**: GitHub Copilot or Qodo
|
||||
- **Multi-language**: Qodo or CodeAnt AI (30+ languages)
|
||||
|
||||
### Review Routing
|
||||
|
||||
```typescript
|
||||
interface ReviewRoutingStrategy {
|
||||
async routeReview(pr: PullRequest): Promise<ReviewEngine> {
|
||||
const metrics = await this.analyzePRComplexity(pr);
|
||||
|
||||
if (metrics.filesChanged > 50 || metrics.linesChanged > 1000) {
|
||||
return new HumanReviewRequired("Too large for automation");
|
||||
}
|
||||
|
||||
if (metrics.securitySensitive || metrics.affectsAuth) {
|
||||
return new AIEngine("claude-3.7-sonnet", {
|
||||
temperature: 0.1,
|
||||
maxTokens: 4000,
|
||||
systemPrompt: SECURITY_FOCUSED_PROMPT
|
||||
});
|
||||
}
|
||||
|
||||
if (metrics.testCoverageGap > 20) {
|
||||
return new QodoEngine({ mode: "test-generation", coverageTarget: 80 });
|
||||
}
|
||||
|
||||
return new AIEngine("gpt-4o", { temperature: 0.3, maxTokens: 2000 });
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Architecture Analysis
|
||||
|
||||
### Architectural Coherence
|
||||
|
||||
1. **Dependency Direction**: Inner layers don't depend on outer layers
|
||||
2. **SOLID Principles**:
|
||||
- Single Responsibility, Open/Closed, Liskov Substitution
|
||||
- Interface Segregation, Dependency Inversion
|
||||
3. **Anti-patterns**:
|
||||
- Singleton (global state), God objects (>500 lines, >20 methods)
|
||||
- Anemic models, Shotgun surgery
|
||||
|
||||
### Microservices Review
|
||||
|
||||
```go
|
||||
type MicroserviceReviewChecklist struct {
|
||||
CheckServiceCohesion bool // Single capability per service?
|
||||
CheckDataOwnership bool // Each service owns database?
|
||||
CheckAPIVersioning bool // Semantic versioning?
|
||||
CheckBackwardCompatibility bool // Breaking changes flagged?
|
||||
CheckCircuitBreakers bool // Resilience patterns?
|
||||
CheckIdempotency bool // Duplicate event handling?
|
||||
}
|
||||
|
||||
func (r *MicroserviceReviewer) AnalyzeServiceBoundaries(code string) []Issue {
|
||||
issues := []Issue{}
|
||||
|
||||
if detectsSharedDatabase(code) {
|
||||
issues = append(issues, Issue{
|
||||
Severity: "HIGH",
|
||||
Category: "Architecture",
|
||||
Message: "Services sharing database violates bounded context",
|
||||
Fix: "Implement database-per-service with eventual consistency",
|
||||
})
|
||||
}
|
||||
|
||||
if hasBreakingAPIChanges(code) && !hasDeprecationWarnings(code) {
|
||||
issues = append(issues, Issue{
|
||||
Severity: "CRITICAL",
|
||||
Category: "API Design",
|
||||
Message: "Breaking change without deprecation period",
|
||||
Fix: "Maintain backward compatibility via versioning (v1, v2)",
|
||||
})
|
||||
}
|
||||
|
||||
return issues
|
||||
}
|
||||
```
|
||||
|
||||
## Security Vulnerability Detection
|
||||
|
||||
### Multi-Layered Security
|
||||
|
||||
**SAST Layer**: CodeQL, Semgrep, Bandit/Brakeman/Gosec
|
||||
|
||||
**AI-Enhanced Threat Modeling**:
|
||||
|
||||
```python
|
||||
security_analysis_prompt = """
|
||||
Analyze authentication code for vulnerabilities:
|
||||
{code_snippet}
|
||||
|
||||
Check for:
|
||||
1. Authentication bypass, broken access control (IDOR)
|
||||
2. JWT token validation flaws
|
||||
3. Session fixation/hijacking, timing attacks
|
||||
4. Missing rate limiting, insecure password storage
|
||||
5. Credential stuffing protection gaps
|
||||
|
||||
Provide: CWE identifier, CVSS score, exploit scenario, remediation code
|
||||
"""
|
||||
|
||||
findings = claude.analyze(security_analysis_prompt, temperature=0.1)
|
||||
```
|
||||
|
||||
**Secret Scanning**:
|
||||
|
||||
```bash
|
||||
trufflehog git file://. --json | \
|
||||
jq '.[] | select(.Verified == true) | {
|
||||
secret_type: .DetectorName,
|
||||
file: .SourceMetadata.Data.Filename,
|
||||
severity: "CRITICAL"
|
||||
}'
|
||||
```
|
||||
|
||||
### OWASP Top 10 (2025)
|
||||
|
||||
1. **A01 - Broken Access Control**: Missing authorization, IDOR
|
||||
2. **A02 - Cryptographic Failures**: Weak hashing, insecure RNG
|
||||
3. **A03 - Injection**: SQL, NoSQL, command injection via taint analysis
|
||||
4. **A04 - Insecure Design**: Missing threat modeling
|
||||
5. **A05 - Security Misconfiguration**: Default credentials
|
||||
6. **A06 - Vulnerable Components**: Snyk/Dependabot for CVEs
|
||||
7. **A07 - Authentication Failures**: Weak session management
|
||||
8. **A08 - Data Integrity Failures**: Unsigned JWTs
|
||||
9. **A09 - Logging Failures**: Missing audit logs
|
||||
10. **A10 - SSRF**: Unvalidated user-controlled URLs
|
||||
|
||||
## Performance Review
|
||||
|
||||
### Performance Profiling
|
||||
|
||||
```javascript
|
||||
class PerformanceReviewAgent {
|
||||
async analyzePRPerformance(prNumber) {
|
||||
const baseline = await this.loadBaselineMetrics("main");
|
||||
const prBranch = await this.runBenchmarks(`pr-${prNumber}`);
|
||||
|
||||
const regressions = this.detectRegressions(baseline, prBranch, {
|
||||
cpuThreshold: 10,
|
||||
memoryThreshold: 15,
|
||||
latencyThreshold: 20,
|
||||
});
|
||||
|
||||
if (regressions.length > 0) {
|
||||
await this.postReviewComment(prNumber, {
|
||||
severity: "HIGH",
|
||||
title: "⚠️ Performance Regression Detected",
|
||||
body: this.formatRegressionReport(regressions),
|
||||
suggestions: await this.aiGenerateOptimizations(regressions),
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Scalability Red Flags
|
||||
|
||||
- **N+1 Queries**, **Missing Indexes**, **Synchronous External Calls**
|
||||
- **In-Memory State**, **Unbounded Collections**, **Missing Pagination**
|
||||
- **No Connection Pooling**, **No Rate Limiting**
|
||||
|
||||
```python
|
||||
def detect_n_plus_1_queries(code_ast):
|
||||
issues = []
|
||||
for loop in find_loops(code_ast):
|
||||
db_calls = find_database_calls_in_scope(loop.body)
|
||||
if len(db_calls) > 0:
|
||||
issues.append({
|
||||
'severity': 'HIGH',
|
||||
'line': loop.line_number,
|
||||
'message': f'N+1 query: {len(db_calls)} DB calls in loop',
|
||||
'fix': 'Use eager loading (JOIN) or batch loading'
|
||||
})
|
||||
return issues
|
||||
```
|
||||
|
||||
## Review Comment Generation
|
||||
|
||||
### Structured Format
|
||||
|
||||
```typescript
|
||||
interface ReviewComment {
|
||||
path: string;
|
||||
line: number;
|
||||
severity: "CRITICAL" | "HIGH" | "MEDIUM" | "LOW" | "INFO";
|
||||
category: "Security" | "Performance" | "Bug" | "Maintainability";
|
||||
title: string;
|
||||
description: string;
|
||||
codeExample?: string;
|
||||
references?: string[];
|
||||
autoFixable: boolean;
|
||||
cwe?: string;
|
||||
cvss?: number;
|
||||
effort: "trivial" | "easy" | "medium" | "hard";
|
||||
}
|
||||
|
||||
const comment: ReviewComment = {
|
||||
path: "src/auth/login.ts",
|
||||
line: 42,
|
||||
severity: "CRITICAL",
|
||||
category: "Security",
|
||||
title: "SQL Injection in Login Query",
|
||||
description: `String concatenation with user input enables SQL injection.
|
||||
**Attack Vector:** Input 'admin' OR '1'='1' bypasses authentication.
|
||||
**Impact:** Complete auth bypass, unauthorized access.`,
|
||||
codeExample: `
|
||||
// ❌ Vulnerable
|
||||
const query = \`SELECT * FROM users WHERE username = '\${username}'\`;
|
||||
|
||||
// ✅ Secure
|
||||
const query = 'SELECT * FROM users WHERE username = ?';
|
||||
const result = await db.execute(query, [username]);
|
||||
`,
|
||||
references: ["https://cwe.mitre.org/data/definitions/89.html"],
|
||||
autoFixable: false,
|
||||
cwe: "CWE-89",
|
||||
cvss: 9.8,
|
||||
effort: "easy",
|
||||
};
|
||||
```
|
||||
|
||||
## CI/CD Integration
|
||||
|
||||
### GitHub Actions
|
||||
|
||||
```yaml
|
||||
name: AI Code Review
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
|
||||
jobs:
|
||||
ai-review:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Static Analysis
|
||||
run: |
|
||||
sonar-scanner -Dsonar.pullrequest.key=${{ github.event.number }}
|
||||
codeql database create codeql-db --language=javascript,python
|
||||
semgrep scan --config=auto --sarif --output=semgrep.sarif
|
||||
|
||||
- name: AI-Enhanced Review (GPT-5)
|
||||
env:
|
||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
run: |
|
||||
python scripts/ai_review.py \
|
||||
--pr-number ${{ github.event.number }} \
|
||||
--model gpt-4o \
|
||||
--static-analysis-results codeql.sarif,semgrep.sarif
|
||||
|
||||
- name: Post Comments
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const comments = JSON.parse(fs.readFileSync('review-comments.json'));
|
||||
for (const comment of comments) {
|
||||
await github.rest.pulls.createReviewComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pull_number: context.issue.number,
|
||||
body: comment.body, path: comment.path, line: comment.line
|
||||
});
|
||||
}
|
||||
|
||||
- name: Quality Gate
|
||||
run: |
|
||||
CRITICAL=$(jq '[.[] | select(.severity == "CRITICAL")] | length' review-comments.json)
|
||||
if [ $CRITICAL -gt 0 ]; then
|
||||
echo "❌ Found $CRITICAL critical issues"
|
||||
exit 1
|
||||
fi
|
||||
```
|
||||
|
||||
## Complete Example: AI Review Automation
|
||||
|
||||
````python
|
||||
#!/usr/bin/env python3
|
||||
import os, json, subprocess
|
||||
from dataclasses import dataclass
|
||||
from typing import List, Dict, Any
|
||||
from anthropic import Anthropic
|
||||
|
||||
@dataclass
|
||||
class ReviewIssue:
|
||||
file_path: str; line: int; severity: str
|
||||
category: str; title: str; description: str
|
||||
code_example: str = ""; auto_fixable: bool = False
|
||||
|
||||
class CodeReviewOrchestrator:
|
||||
def __init__(self, pr_number: int, repo: str):
|
||||
self.pr_number = pr_number; self.repo = repo
|
||||
self.github_token = os.environ['GITHUB_TOKEN']
|
||||
self.anthropic_client = Anthropic(api_key=os.environ['ANTHROPIC_API_KEY'])
|
||||
self.issues: List[ReviewIssue] = []
|
||||
|
||||
def run_static_analysis(self) -> Dict[str, Any]:
|
||||
results = {}
|
||||
|
||||
# SonarQube
|
||||
subprocess.run(['sonar-scanner', f'-Dsonar.projectKey={self.repo}'], check=True)
|
||||
|
||||
# Semgrep
|
||||
semgrep_output = subprocess.check_output(['semgrep', 'scan', '--config=auto', '--json'])
|
||||
results['semgrep'] = json.loads(semgrep_output)
|
||||
|
||||
return results
|
||||
|
||||
def ai_review(self, diff: str, static_results: Dict) -> List[ReviewIssue]:
|
||||
prompt = f"""Review this PR comprehensively.
|
||||
|
||||
**Diff:** {diff[:15000]}
|
||||
**Static Analysis:** {json.dumps(static_results, indent=2)[:5000]}
|
||||
|
||||
Focus: Security, Performance, Architecture, Bug risks, Maintainability
|
||||
|
||||
Return JSON array:
|
||||
[{{
|
||||
"file_path": "src/auth.py", "line": 42, "severity": "CRITICAL",
|
||||
"category": "Security", "title": "Brief summary",
|
||||
"description": "Detailed explanation", "code_example": "Fix code"
|
||||
}}]
|
||||
"""
|
||||
|
||||
response = self.anthropic_client.messages.create(
|
||||
model="claude-3-5-sonnet-20241022",
|
||||
max_tokens=8000, temperature=0.2,
|
||||
messages=[{"role": "user", "content": prompt}]
|
||||
)
|
||||
|
||||
content = response.content[0].text
|
||||
if '```json' in content:
|
||||
content = content.split('```json')[1].split('```')[0]
|
||||
|
||||
return [ReviewIssue(**issue) for issue in json.loads(content.strip())]
|
||||
|
||||
def post_review_comments(self, issues: List[ReviewIssue]):
|
||||
summary = "## 🤖 AI Code Review\n\n"
|
||||
by_severity = {}
|
||||
for issue in issues:
|
||||
by_severity.setdefault(issue.severity, []).append(issue)
|
||||
|
||||
for severity in ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW']:
|
||||
count = len(by_severity.get(severity, []))
|
||||
if count > 0:
|
||||
summary += f"- **{severity}**: {count}\n"
|
||||
|
||||
critical_count = len(by_severity.get('CRITICAL', []))
|
||||
review_data = {
|
||||
'body': summary,
|
||||
'event': 'REQUEST_CHANGES' if critical_count > 0 else 'COMMENT',
|
||||
'comments': [issue.to_github_comment() for issue in issues]
|
||||
}
|
||||
|
||||
# Post to GitHub API
|
||||
print(f"✅ Posted review with {len(issues)} comments")
|
||||
|
||||
if __name__ == '__main__':
|
||||
import argparse
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--pr-number', type=int, required=True)
|
||||
parser.add_argument('--repo', required=True)
|
||||
args = parser.parse_args()
|
||||
|
||||
reviewer = CodeReviewOrchestrator(args.pr_number, args.repo)
|
||||
static_results = reviewer.run_static_analysis()
|
||||
diff = reviewer.get_pr_diff()
|
||||
ai_issues = reviewer.ai_review(diff, static_results)
|
||||
reviewer.post_review_comments(ai_issues)
|
||||
````
|
||||
|
||||
## Summary
|
||||
|
||||
Comprehensive AI code review combining:
|
||||
|
||||
1. Multi-tool static analysis (SonarQube, CodeQL, Semgrep)
|
||||
2. State-of-the-art LLMs (GPT-5, Claude 4.5 Sonnet)
|
||||
3. Seamless CI/CD integration (GitHub Actions, GitLab, Azure DevOps)
|
||||
4. 30+ language support with language-specific linters
|
||||
5. Actionable review comments with severity and fix examples
|
||||
6. DORA metrics tracking for review effectiveness
|
||||
7. Quality gates preventing low-quality code
|
||||
8. Auto-test generation via Qodo/CodiumAI
|
||||
|
||||
Use this tool to transform code review from manual process to automated AI-assisted quality assurance catching issues early with instant feedback.
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "conductor",
|
||||
"version": "1.2.1",
|
||||
"version": "1.2.0",
|
||||
"description": "Context-Driven Development plugin that transforms Claude Code into a project management tool with structured workflow: Context → Spec & Plan → Implement",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
---
|
||||
name: context-driven-development
|
||||
description: >-
|
||||
Creates and maintains project context artifacts (product.md, tech-stack.md, workflow.md, tracks.md)
|
||||
in a `conductor/` directory. Scaffolds new projects from scratch, extracts context from existing
|
||||
codebases, validates artifact consistency before implementation, and synchronizes documents as the
|
||||
project evolves. Use when setting up a project, creating or updating product docs, managing a tech
|
||||
stack file, defining development workflows, tracking work units, onboarding to an existing codebase,
|
||||
or running project scaffolding.
|
||||
description: Use this skill when working with Conductor's context-driven development methodology, managing project context artifacts, or understanding the relationship between product.md, tech-stack.md, and workflow.md files.
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
@@ -139,8 +133,6 @@ Update when:
|
||||
- Track status changes
|
||||
- Tracks are completed or archived
|
||||
|
||||
See [references/artifact-templates.md](references/artifact-templates.md) for copy-paste starter templates.
|
||||
|
||||
## Context Maintenance Principles
|
||||
|
||||
### Keep Artifacts Synchronized
|
||||
|
||||
@@ -1,154 +0,0 @@
|
||||
# Artifact Templates
|
||||
|
||||
Starter templates for each Conductor context artifact. Copy and fill in for new projects.
|
||||
|
||||
> Contributed by [@fernandezbaptiste](https://github.com/fernandezbaptiste) ([#437](https://github.com/wshobson/agents/pull/437))
|
||||
|
||||
## product.md
|
||||
|
||||
```markdown
|
||||
# [Product Name]
|
||||
|
||||
> One-line description of what this product does.
|
||||
|
||||
## Problem
|
||||
|
||||
What problem does this solve and for whom?
|
||||
|
||||
## Solution
|
||||
|
||||
High-level approach to solving the problem.
|
||||
|
||||
## Target Users
|
||||
|
||||
| Persona | Needs | Pain Points |
|
||||
|---|---|---|
|
||||
| Persona 1 | What they need | What frustrates them |
|
||||
|
||||
## Core Features
|
||||
|
||||
| Feature | Status | Description |
|
||||
|---|---|---|
|
||||
| Feature A | planned | What it does |
|
||||
| Feature B | implemented | What it does |
|
||||
|
||||
## Success Metrics
|
||||
|
||||
| Metric | Target | Current |
|
||||
|---|---|---|
|
||||
| Metric 1 | target value | - |
|
||||
|
||||
## Roadmap
|
||||
|
||||
- **Phase 1**: scope
|
||||
- **Phase 2**: scope
|
||||
```
|
||||
|
||||
## tech-stack.md
|
||||
|
||||
```markdown
|
||||
# Tech Stack
|
||||
|
||||
## Languages & Frameworks
|
||||
|
||||
| Technology | Version | Purpose |
|
||||
|---|---|---|
|
||||
| Python | 3.12 | Backend API |
|
||||
| React | 18.x | Frontend UI |
|
||||
|
||||
## Key Dependencies
|
||||
|
||||
| Package | Version | Rationale |
|
||||
|---|---|---|
|
||||
| FastAPI | 0.100+ | REST API framework |
|
||||
| SQLAlchemy | 2.x | ORM and database access |
|
||||
|
||||
## Infrastructure
|
||||
|
||||
| Component | Choice | Notes |
|
||||
|---|---|---|
|
||||
| Hosting | AWS ECS | Production containers |
|
||||
| Database | PostgreSQL 16 | Primary data store |
|
||||
| CI/CD | GitHub Actions | Build and deploy |
|
||||
|
||||
## Dev Tools
|
||||
|
||||
| Tool | Purpose | Config |
|
||||
|---|---|---|
|
||||
| pytest | Testing (target: 80% coverage) | pyproject.toml |
|
||||
| ruff | Linting + formatting | ruff.toml |
|
||||
```
|
||||
|
||||
## workflow.md
|
||||
|
||||
```markdown
|
||||
# Workflow
|
||||
|
||||
## Methodology
|
||||
|
||||
TDD with trunk-based development.
|
||||
|
||||
## Git Conventions
|
||||
|
||||
- **Branch naming**: `feature/<track-id>-description`
|
||||
- **Commit format**: `type(scope): message`
|
||||
- **PR requirements**: 1 approval, all checks green
|
||||
|
||||
## Quality Gates
|
||||
|
||||
| Gate | Requirement |
|
||||
|---|---|
|
||||
| Tests | All pass, coverage >= 80% |
|
||||
| Lint | Zero errors |
|
||||
| Review | At least 1 approval |
|
||||
| Types | No type errors |
|
||||
|
||||
## Deployment
|
||||
|
||||
1. PR merged to main
|
||||
2. CI runs tests + build
|
||||
3. Auto-deploy to staging
|
||||
4. Manual promotion to production
|
||||
```
|
||||
|
||||
## tracks.md
|
||||
|
||||
```markdown
|
||||
# Tracks
|
||||
|
||||
## Active
|
||||
|
||||
| ID | Title | Status | Priority | Assignee |
|
||||
|---|---|---|---|---|
|
||||
| TRACK-001 | Feature name | in-progress | high | @person |
|
||||
|
||||
## Completed
|
||||
|
||||
| ID | Title | Completed |
|
||||
|---|---|---|
|
||||
| TRACK-000 | Initial setup | 2024-01-15 |
|
||||
```
|
||||
|
||||
## product-guidelines.md
|
||||
|
||||
```markdown
|
||||
# Product Guidelines
|
||||
|
||||
## Voice & Tone
|
||||
|
||||
- Professional but approachable
|
||||
- Direct and concise
|
||||
- Technical where needed, plain language by default
|
||||
|
||||
## Terminology
|
||||
|
||||
| Term | Use | Don't Use |
|
||||
|---|---|---|
|
||||
| workspace | preferred | project, repo |
|
||||
| track | preferred | ticket, issue |
|
||||
|
||||
## Error Messages
|
||||
|
||||
Format: `[Component] What happened. What to do next.`
|
||||
Example: `[Auth] Session expired. Please sign in again.`
|
||||
```
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "data-engineering",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.0",
|
||||
"description": "ETL pipeline construction, data warehouse design, batch processing workflows, and data-driven feature development",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -517,3 +517,9 @@ airflow/
|
||||
- **Don't use global state** - Tasks should be stateless
|
||||
- **Don't skip catchup blindly** - Understand implications
|
||||
- **Don't put heavy logic in DAG file** - Import from modules
|
||||
|
||||
## Resources
|
||||
|
||||
- [Airflow Documentation](https://airflow.apache.org/docs/)
|
||||
- [Astronomer Guides](https://docs.astronomer.io/learn)
|
||||
- [TaskFlow API](https://airflow.apache.org/docs/apache-airflow/stable/tutorial/taskflow.html)
|
||||
|
||||
@@ -581,3 +581,10 @@ if not all(r.passed for r in results.values()):
|
||||
- **Don't skip freshness** - Stale data is bad data
|
||||
- **Don't hardcode thresholds** - Use dynamic baselines
|
||||
- **Don't test in isolation** - Test relationships too
|
||||
|
||||
## Resources
|
||||
|
||||
- [Great Expectations Documentation](https://docs.greatexpectations.io/)
|
||||
- [dbt Testing Documentation](https://docs.getdbt.com/docs/build/tests)
|
||||
- [Data Contract Specification](https://datacontract.com/)
|
||||
- [Soda Core](https://docs.soda.io/soda-core/overview.html)
|
||||
|
||||
@@ -554,3 +554,10 @@ dbt ls --select tag:critical # List models by tag
|
||||
- **Don't repeat logic** - Extract to macros
|
||||
- **Don't test in prod** - Use dev target
|
||||
- **Don't ignore freshness** - Monitor source data
|
||||
|
||||
## Resources
|
||||
|
||||
- [dbt Documentation](https://docs.getdbt.com/)
|
||||
- [dbt Best Practices](https://docs.getdbt.com/guides/best-practices)
|
||||
- [dbt-utils Package](https://hub.getdbt.com/dbt-labs/dbt_utils/latest/)
|
||||
- [dbt Discourse](https://discourse.getdbt.com/)
|
||||
|
||||
@@ -409,3 +409,9 @@ spark_configs = {
|
||||
- **Don't over-cache** - Memory is limited
|
||||
- **Don't ignore data skew** - It dominates job time
|
||||
- **Don't use `.count()` for existence** - Use `.take(1)` or `.isEmpty()`
|
||||
|
||||
## Resources
|
||||
|
||||
- [Spark Performance Tuning](https://spark.apache.org/docs/latest/sql-performance-tuning.html)
|
||||
- [Spark Configuration](https://spark.apache.org/docs/latest/configuration.html)
|
||||
- [Databricks Optimization Guide](https://docs.databricks.com/en/optimizations/index.html)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "developer-essentials",
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.1",
|
||||
"description": "Essential developer skills including Git workflows, SQL optimization, error handling, code review, E2E testing, authentication, debugging, and monorepo management",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -636,3 +636,12 @@ app.use("/api/", apiLimiter);
|
||||
- **Insecure Password Reset**: Use secure tokens with expiration
|
||||
- **No Rate Limiting**: Vulnerable to brute force
|
||||
- **Trusting Client Data**: Always validate on server
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/jwt-best-practices.md**: JWT implementation guide
|
||||
- **references/oauth2-flows.md**: OAuth2 flow diagrams and examples
|
||||
- **references/session-security.md**: Secure session management
|
||||
- **assets/auth-security-checklist.md**: Security review checklist
|
||||
- **assets/password-policy-template.md**: Password requirements template
|
||||
- **scripts/token-validator.ts**: JWT validation utility
|
||||
|
||||
@@ -379,3 +379,9 @@ bazel build //... --notrack_incremental_state
|
||||
- **Don't commit bazel-\* dirs** - Add to .gitignore
|
||||
- **Don't skip WORKSPACE setup** - Foundation of build
|
||||
- **Don't ignore build warnings** - Technical debt
|
||||
|
||||
## Resources
|
||||
|
||||
- [Bazel Documentation](https://bazel.build/docs)
|
||||
- [Bazel Remote Execution](https://bazel.build/docs/remote-execution)
|
||||
- [rules_js](https://github.com/aspect-build/rules_js)
|
||||
|
||||
@@ -527,3 +527,12 @@ When author disagrees with your feedback:
|
||||
|
||||
✅ Approve after addressing required changes
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/code-review-best-practices.md**: Comprehensive review guidelines
|
||||
- **references/common-bugs-checklist.md**: Language-specific bugs to watch for
|
||||
- **references/security-review-guide.md**: Security-focused review checklist
|
||||
- **assets/pr-review-template.md**: Standard review comment template
|
||||
- **assets/review-checklist.md**: Quick reference checklist
|
||||
- **scripts/pr-analyzer.py**: Analyze PR complexity and suggest reviewers
|
||||
|
||||
@@ -525,3 +525,12 @@ afterEach(() => {
|
||||
- [ ] Cache issues (clear cache)
|
||||
- [ ] Stale data (refresh database)
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/debugging-tools-guide.md**: Comprehensive tool documentation
|
||||
- **references/performance-profiling.md**: Performance debugging guide
|
||||
- **references/production-debugging.md**: Debugging live systems
|
||||
- **assets/debugging-checklist.md**: Quick reference checklist
|
||||
- **assets/common-bugs.md**: Common bug patterns
|
||||
- **scripts/debug-helper.ts**: Debugging utility functions
|
||||
|
||||
@@ -533,3 +533,12 @@ test('checkout flow', async ({ page }) => {
|
||||
// 5. Inspect page state
|
||||
await page.pause(); // Pauses execution, opens inspector
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/playwright-best-practices.md**: Playwright-specific patterns
|
||||
- **references/cypress-best-practices.md**: Cypress-specific patterns
|
||||
- **references/flaky-test-debugging.md**: Debugging unreliable tests
|
||||
- **assets/e2e-testing-checklist.md**: What to test with E2E
|
||||
- **assets/selector-strategies.md**: Finding reliable selectors
|
||||
- **scripts/test-analyzer.ts**: Analyze test flakiness and duration
|
||||
|
||||
@@ -630,3 +630,12 @@ def process_order(order_id: str) -> Order:
|
||||
- **Poor Error Messages**: "Error occurred" is not helpful
|
||||
- **Returning Error Codes**: Use exceptions or Result types
|
||||
- **Ignoring Async Errors**: Unhandled promise rejections
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/exception-hierarchy-design.md**: Designing error class hierarchies
|
||||
- **references/error-recovery-strategies.md**: Recovery patterns for different scenarios
|
||||
- **references/async-error-handling.md**: Handling errors in concurrent code
|
||||
- **assets/error-handling-checklist.md**: Review checklist for error handling
|
||||
- **assets/error-message-guide.md**: Writing helpful error messages
|
||||
- **scripts/error-analyzer.py**: Analyze error patterns in logs
|
||||
|
||||
@@ -394,3 +394,12 @@ git reset --hard HEAD^
|
||||
git reflog
|
||||
git branch recovered-branch abc123
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/git-rebase-guide.md**: Deep dive into interactive rebase
|
||||
- **references/git-conflict-resolution.md**: Advanced conflict resolution strategies
|
||||
- **references/git-history-rewriting.md**: Safely rewriting Git history
|
||||
- **assets/git-workflow-checklist.md**: Pre-PR cleanup checklist
|
||||
- **assets/git-aliases.md**: Useful Git aliases for advanced workflows
|
||||
- **scripts/git-clean-branches.sh**: Clean up merged and stale branches
|
||||
|
||||
@@ -612,3 +612,12 @@ pnpm changeset publish
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/turborepo-guide.md**: Comprehensive Turborepo documentation
|
||||
- **references/nx-guide.md**: Nx monorepo patterns
|
||||
- **references/pnpm-workspaces.md**: pnpm workspace features
|
||||
- **assets/monorepo-checklist.md**: Setup checklist
|
||||
- **assets/migration-guide.md**: Multi-repo to monorepo migration
|
||||
- **scripts/dependency-graph.ts**: Visualize package dependencies
|
||||
|
||||
@@ -449,3 +449,9 @@ nx migrate --run-migrations
|
||||
- **Don't skip affected** - Test only what changed
|
||||
- **Don't ignore boundaries** - Tech debt accumulates
|
||||
- **Don't over-granularize** - Balance lib count
|
||||
|
||||
## Resources
|
||||
|
||||
- [Nx Documentation](https://nx.dev/getting-started/intro)
|
||||
- [Module Boundaries](https://nx.dev/core-features/enforce-module-boundaries)
|
||||
- [Nx Cloud](https://nx.app/)
|
||||
|
||||
@@ -497,3 +497,13 @@ FROM pg_stat_user_indexes
|
||||
WHERE idx_scan = 0
|
||||
ORDER BY pg_relation_size(indexrelid) DESC;
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/postgres-optimization-guide.md**: PostgreSQL-specific optimization
|
||||
- **references/mysql-optimization-guide.md**: MySQL/MariaDB optimization
|
||||
- **references/query-plan-analysis.md**: Deep dive into EXPLAIN plans
|
||||
- **assets/index-strategy-checklist.md**: When and how to create indexes
|
||||
- **assets/query-optimization-checklist.md**: Step-by-step optimization guide
|
||||
- **scripts/analyze-slow-queries.sql**: Identify slow queries in your database
|
||||
- **scripts/index-recommendations.sql**: Generate index recommendations
|
||||
|
||||
@@ -368,3 +368,9 @@ TURBO_LOG_VERBOSITY=debug turbo build --filter=@myorg/web
|
||||
- **Don't include secrets in env** - Use runtime env vars
|
||||
- **Don't ignore dependsOn** - Causes race conditions
|
||||
- **Don't over-filter** - May miss dependencies
|
||||
|
||||
## Resources
|
||||
|
||||
- [Turborepo Documentation](https://turbo.build/repo/docs)
|
||||
- [Caching Guide](https://turbo.build/repo/docs/core-concepts/caching)
|
||||
- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "documentation-generation",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"description": "OpenAPI specification generation, Mermaid diagram creation, tutorial writing, API reference documentation",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -439,3 +439,10 @@ adr link 2 "Complements" 1 "Is complemented by"
|
||||
- **Don't hide failures** - Rejected decisions are valuable
|
||||
- **Don't be vague** - Specific decisions, specific consequences
|
||||
- **Don't forget implementation** - ADR without action is waste
|
||||
|
||||
## Resources
|
||||
|
||||
- [Documenting Architecture Decisions (Michael Nygard)](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions)
|
||||
- [MADR Template](https://adr.github.io/madr/)
|
||||
- [ADR GitHub Organization](https://adr.github.io/)
|
||||
- [adr-tools](https://github.com/npryce/adr-tools)
|
||||
|
||||
@@ -570,3 +570,11 @@ Reviewed-by: @alice
|
||||
- **Don't manual edit** - Generated changelogs only
|
||||
- **Don't forget breaking changes** - Mark with `!` or footer
|
||||
- **Don't ignore CI** - Validate commits in pipeline
|
||||
|
||||
## Resources
|
||||
|
||||
- [Keep a Changelog](https://keepachangelog.com/)
|
||||
- [Conventional Commits](https://www.conventionalcommits.org/)
|
||||
- [Semantic Versioning](https://semver.org/)
|
||||
- [semantic-release](https://semantic-release.gitbook.io/)
|
||||
- [git-cliff](https://git-cliff.org/)
|
||||
|
||||
@@ -1015,3 +1015,10 @@ openapi-generator-cli generate \
|
||||
- **Don't forget nullable** - Be explicit about null
|
||||
- **Don't mix styles** - Consistent naming throughout
|
||||
- **Don't hardcode URLs** - Use server variables
|
||||
|
||||
## Resources
|
||||
|
||||
- [OpenAPI 3.1 Specification](https://spec.openapis.org/oas/v3.1.0)
|
||||
- [Swagger Editor](https://editor.swagger.io/)
|
||||
- [Redocly](https://redocly.com/)
|
||||
- [Spectral](https://stoplight.io/open-source/spectral)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "dotnet-contribution",
|
||||
"version": "1.0.1",
|
||||
"version": "1.0.0",
|
||||
"description": "Comprehensive .NET backend development with C#, ASP.NET Core, Entity Framework Core, and Dapper for production-grade applications",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -808,3 +808,10 @@ public class ProductsApiTests : IClassFixture<WebApplicationFactory<Program>>
|
||||
- **Missing Indexes**: Check query plans, add indexes for common filters
|
||||
- **Timeout Issues**: Configure appropriate timeouts for HTTP clients
|
||||
- **Cache Stampede**: Use distributed locks for cache population
|
||||
|
||||
## Resources
|
||||
|
||||
- **assets/service-template.cs**: Complete service implementation template
|
||||
- **assets/repository-template.cs**: Repository pattern implementation
|
||||
- **references/ef-core-best-practices.md**: EF Core optimization guide
|
||||
- **references/dapper-patterns.md**: Advanced Dapper usage patterns
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "framework-migration",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.0",
|
||||
"description": "Framework updates, migration planning, and architectural transformation workflows",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -384,3 +384,32 @@ Phase 4: Cleanup (1-2 weeks)
|
||||
- Optimize bundle
|
||||
- Final testing
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/hybrid-mode.md**: Hybrid app patterns
|
||||
- **references/component-migration.md**: Component conversion guide
|
||||
- **references/dependency-injection.md**: DI migration strategies
|
||||
- **references/routing.md**: Routing migration
|
||||
- **assets/hybrid-bootstrap.ts**: Hybrid app template
|
||||
- **assets/migration-timeline.md**: Project planning
|
||||
- **scripts/analyze-angular-app.sh**: App analysis script
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Start with Services**: Migrate services first (easier)
|
||||
2. **Incremental Approach**: Feature-by-feature migration
|
||||
3. **Test Continuously**: Test at every step
|
||||
4. **Use TypeScript**: Migrate to TypeScript early
|
||||
5. **Follow Style Guide**: Angular style guide from day 1
|
||||
6. **Optimize Later**: Get it working, then optimize
|
||||
7. **Document**: Keep migration notes
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Not setting up hybrid app correctly
|
||||
- Migrating UI before logic
|
||||
- Ignoring change detection differences
|
||||
- Not handling scope properly
|
||||
- Mixing patterns (AngularJS + Angular)
|
||||
- Inadequate testing
|
||||
|
||||
@@ -401,3 +401,33 @@ module.exports = {
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/orm-switching.md**: ORM migration guides
|
||||
- **references/schema-migration.md**: Schema transformation patterns
|
||||
- **references/data-transformation.md**: Data migration scripts
|
||||
- **references/rollback-strategies.md**: Rollback procedures
|
||||
- **assets/schema-migration-template.sql**: SQL migration templates
|
||||
- **assets/data-migration-script.py**: Data migration utilities
|
||||
- **scripts/test-migration.sh**: Migration testing script
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Always Provide Rollback**: Every up() needs a down()
|
||||
2. **Test Migrations**: Test on staging first
|
||||
3. **Use Transactions**: Atomic migrations when possible
|
||||
4. **Backup First**: Always backup before migration
|
||||
5. **Small Changes**: Break into small, incremental steps
|
||||
6. **Monitor**: Watch for errors during deployment
|
||||
7. **Document**: Explain why and how
|
||||
8. **Idempotent**: Migrations should be rerunnable
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Not testing rollback procedures
|
||||
- Making breaking changes without downtime strategy
|
||||
- Forgetting to handle NULL values
|
||||
- Not considering index performance
|
||||
- Ignoring foreign key constraints
|
||||
- Migrating too much data at once
|
||||
|
||||
@@ -366,3 +366,64 @@ npm install --workspaces
|
||||
# Update specific workspace
|
||||
npm install package@latest --workspace=packages/app
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/semver.md**: Semantic versioning guide
|
||||
- **references/compatibility-matrix.md**: Common compatibility issues
|
||||
- **references/staged-upgrades.md**: Incremental upgrade strategies
|
||||
- **references/testing-strategy.md**: Comprehensive testing approaches
|
||||
- **assets/upgrade-checklist.md**: Step-by-step checklist
|
||||
- **assets/compatibility-matrix.csv**: Version compatibility table
|
||||
- **scripts/audit-dependencies.sh**: Dependency audit script
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Read Changelogs**: Understand what changed
|
||||
2. **Upgrade Incrementally**: One major version at a time
|
||||
3. **Test Thoroughly**: Unit, integration, E2E tests
|
||||
4. **Check Peer Dependencies**: Resolve conflicts early
|
||||
5. **Use Lock Files**: Ensure reproducible installs
|
||||
6. **Automate Updates**: Use Renovate or Dependabot
|
||||
7. **Monitor**: Watch for runtime errors post-upgrade
|
||||
8. **Document**: Keep upgrade notes
|
||||
|
||||
## Upgrade Checklist
|
||||
|
||||
```markdown
|
||||
Pre-Upgrade:
|
||||
|
||||
- [ ] Review current dependency versions
|
||||
- [ ] Read changelogs for breaking changes
|
||||
- [ ] Create feature branch
|
||||
- [ ] Backup current state (git tag)
|
||||
- [ ] Run full test suite (baseline)
|
||||
|
||||
During Upgrade:
|
||||
|
||||
- [ ] Upgrade one dependency at a time
|
||||
- [ ] Update peer dependencies
|
||||
- [ ] Fix TypeScript errors
|
||||
- [ ] Update tests if needed
|
||||
- [ ] Run test suite after each upgrade
|
||||
- [ ] Check bundle size impact
|
||||
|
||||
Post-Upgrade:
|
||||
|
||||
- [ ] Full regression testing
|
||||
- [ ] Performance testing
|
||||
- [ ] Update documentation
|
||||
- [ ] Deploy to staging
|
||||
- [ ] Monitor for errors
|
||||
- [ ] Deploy to production
|
||||
```
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Upgrading all dependencies at once
|
||||
- Not testing after each upgrade
|
||||
- Ignoring peer dependency warnings
|
||||
- Forgetting to update lock file
|
||||
- Not reading breaking change notes
|
||||
- Skipping major versions
|
||||
- Not having rollback plan
|
||||
|
||||
@@ -495,3 +495,32 @@ function List<T>({ items, renderItem }: ListProps<T>) {
|
||||
- [ ] Check for warnings in console
|
||||
- [ ] Performance testing
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **references/breaking-changes.md**: Version-specific breaking changes
|
||||
- **references/codemods.md**: Codemod usage guide
|
||||
- **references/hooks-migration.md**: Comprehensive hooks patterns
|
||||
- **references/concurrent-features.md**: React 18 concurrent features
|
||||
- **assets/codemod-config.json**: Codemod configurations
|
||||
- **assets/migration-checklist.md**: Step-by-step checklist
|
||||
- **scripts/apply-codemods.sh**: Automated codemod script
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Incremental Migration**: Don't migrate everything at once
|
||||
2. **Test Thoroughly**: Comprehensive testing at each step
|
||||
3. **Use Codemods**: Automate repetitive transformations
|
||||
4. **Start Simple**: Begin with leaf components
|
||||
5. **Leverage StrictMode**: Catch issues early
|
||||
6. **Monitor Performance**: Measure before and after
|
||||
7. **Document Changes**: Keep migration log
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Forgetting useEffect dependencies
|
||||
- Over-using useMemo/useCallback
|
||||
- Not handling cleanup in useEffect
|
||||
- Mixing class and functional patterns
|
||||
- Ignoring StrictMode warnings
|
||||
- Breaking change assumptions
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "frontend-mobile-development",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"description": "Frontend UI development and mobile application implementation across platforms",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -535,3 +535,9 @@ export async function updateProduct(id: string, data: ProductData) {
|
||||
- **Don't fetch in Client Components** - Use Server Components or React Query
|
||||
- **Don't over-nest layouts** - Each layout adds to the component tree
|
||||
- **Don't ignore loading states** - Always provide loading.tsx or Suspense
|
||||
|
||||
## Resources
|
||||
|
||||
- [Next.js App Router Documentation](https://nextjs.org/docs/app)
|
||||
- [Server Components RFC](https://github.com/reactjs/rfcs/blob/main/text/0188-server-components.md)
|
||||
- [Vercel Templates](https://vercel.com/templates/next.js)
|
||||
|
||||
@@ -664,3 +664,10 @@ eas update --branch production --message "Bug fixes"
|
||||
- **Don't ignore platform differences** - Test on both iOS and Android
|
||||
- **Don't store secrets in code** - Use environment variables
|
||||
- **Don't skip error boundaries** - Mobile crashes are unforgiving
|
||||
|
||||
## Resources
|
||||
|
||||
- [Expo Documentation](https://docs.expo.dev/)
|
||||
- [Expo Router](https://docs.expo.dev/router/introduction/)
|
||||
- [React Native Performance](https://reactnative.dev/docs/performance)
|
||||
- [FlashList](https://shopify.github.io/flash-list/)
|
||||
|
||||
@@ -428,3 +428,10 @@ const todosSlice = createSlice({
|
||||
},
|
||||
});
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- [Redux Toolkit Documentation](https://redux-toolkit.js.org/)
|
||||
- [Zustand GitHub](https://github.com/pmndrs/zustand)
|
||||
- [Jotai Documentation](https://jotai.org/)
|
||||
- [TanStack Query](https://tanstack.com/query)
|
||||
|
||||
@@ -864,3 +864,11 @@ Define reusable custom utilities:
|
||||
- **Don't use arbitrary values** - Extend `@theme` instead
|
||||
- **Don't hardcode colors** - Use semantic tokens
|
||||
- **Don't forget dark mode** - Test both themes
|
||||
|
||||
## Resources
|
||||
|
||||
- [Tailwind CSS v4 Documentation](https://tailwindcss.com/docs)
|
||||
- [Tailwind v4 Beta Announcement](https://tailwindcss.com/blog/tailwindcss-v4-beta)
|
||||
- [CVA Documentation](https://cva.style/docs)
|
||||
- [shadcn/ui](https://ui.shadcn.com/)
|
||||
- [Radix Primitives](https://www.radix-ui.com/primitives)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "game-development",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"description": "Unity game development with C# scripting, Minecraft server plugin development with Bukkit/Spigot APIs",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -799,3 +799,9 @@ func _on_off_screen() -> void:
|
||||
- **Don't put logic in resources** - Keep them data-only
|
||||
- **Don't ignore the Profiler** - Monitor performance
|
||||
- **Don't fight the scene tree** - Work with Godot's design
|
||||
|
||||
## Resources
|
||||
|
||||
- [Godot Documentation](https://docs.godotengine.org/en/stable/)
|
||||
- [GDQuest Tutorials](https://www.gdquest.com/)
|
||||
- [Godot Recipes](https://kidscancode.org/godot_recipes/)
|
||||
|
||||
@@ -620,3 +620,9 @@ public struct Disabled : IComponentData, IEnableableComponent { }
|
||||
- **Don't over-architect** - Start simple
|
||||
- **Don't ignore chunk utilization** - Group similar entities
|
||||
- **Don't forget disposal** - Native collections leak
|
||||
|
||||
## Resources
|
||||
|
||||
- [Unity DOTS Documentation](https://docs.unity3d.com/Packages/com.unity.entities@latest)
|
||||
- [Unity DOTS Samples](https://github.com/Unity-Technologies/EntityComponentSystemSamples)
|
||||
- [Burst User Guide](https://docs.unity3d.com/Packages/com.unity.burst@latest)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "hr-legal-compliance",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"description": "HR policy documentation, legal compliance templates (GDPR/SOC2/HIPAA), employment contracts, and regulatory documentation",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -518,3 +518,10 @@ Date: ************\_************
|
||||
- **Don't discriminate** - In language or application
|
||||
- **Don't forget at-will language** - Where applicable
|
||||
- **Don't skip review** - Have legal counsel review all documents
|
||||
|
||||
## Resources
|
||||
|
||||
- [SHRM Employment Templates](https://www.shrm.org/)
|
||||
- [Department of Labor](https://www.dol.gov/)
|
||||
- [EEOC Guidance](https://www.eeoc.gov/)
|
||||
- State-specific labor departments
|
||||
|
||||
@@ -622,3 +622,9 @@ class BreachNotificationHandler:
|
||||
- **Don't retain indefinitely** - Define and enforce retention
|
||||
- **Don't ignore DSARs** - 30-day response required
|
||||
- **Don't transfer without safeguards** - SCCs or adequacy decisions
|
||||
|
||||
## Resources
|
||||
|
||||
- [GDPR Full Text](https://gdpr-info.eu/)
|
||||
- [ICO Guidance](https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/)
|
||||
- [EDPB Guidelines](https://edpb.europa.eu/our-work-tools/general-guidance/gdpr-guidelines-recommendations-best-practices_en)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "incident-response",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.0",
|
||||
"description": "Production incident management, triage workflows, and automated incident resolution",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -397,3 +397,10 @@ psql -c "VACUUM FULL large_table;"
|
||||
- **Don't forget communication** - Keep stakeholders informed
|
||||
- **Don't work alone** - Escalate early
|
||||
- **Don't skip postmortems** - Learn from every incident
|
||||
|
||||
## Resources
|
||||
|
||||
- [Google SRE Book - Incident Management](https://sre.google/sre-book/managing-incidents/)
|
||||
- [PagerDuty Incident Response](https://response.pagerduty.com/)
|
||||
- [Atlassian Incident Management](https://www.atlassian.com/incident-management)
|
||||
```
|
||||
|
||||
@@ -307,3 +307,176 @@ I'll be available on Slack until 17:00 today.
|
||||
- Status page: Updated at 08:45
|
||||
- Customer support: Notified
|
||||
- Exec team: Aware
|
||||
|
||||
## Resources
|
||||
|
||||
- Incident channel: #inc-20240122-payment
|
||||
- Dashboard: [Payment Service](https://grafana/d/payments)
|
||||
- Runbook: [Payment Degradation](https://wiki/runbooks/payments)
|
||||
|
||||
---
|
||||
|
||||
**Incoming on-call (@bob) - Please confirm you have:**
|
||||
|
||||
- [ ] Joined #inc-20240122-payment
|
||||
- [ ] Access to dashboards
|
||||
- [ ] Understand current state
|
||||
- [ ] Know escalation path
|
||||
```
|
||||
|
||||
## Handoff Sync Meeting
|
||||
|
||||
### Agenda (15 minutes)
|
||||
|
||||
```markdown
|
||||
## Handoff Sync: @alice → @bob
|
||||
|
||||
1. **Active Issues** (5 min)
|
||||
- Walk through any ongoing incidents
|
||||
- Discuss investigation status
|
||||
- Transfer context and theories
|
||||
|
||||
2. **Recent Changes** (3 min)
|
||||
- Deployments to watch
|
||||
- Config changes
|
||||
- Known regressions
|
||||
|
||||
3. **Upcoming Events** (3 min)
|
||||
- Maintenance windows
|
||||
- Expected traffic changes
|
||||
- Releases planned
|
||||
|
||||
4. **Questions** (4 min)
|
||||
- Clarify anything unclear
|
||||
- Confirm access and alerting
|
||||
- Exchange contact info
|
||||
```
|
||||
|
||||
## On-Call Best Practices
|
||||
|
||||
### Before Your Shift
|
||||
|
||||
```markdown
|
||||
## Pre-Shift Checklist
|
||||
|
||||
### Access Verification
|
||||
|
||||
- [ ] VPN working
|
||||
- [ ] kubectl access to all clusters
|
||||
- [ ] Database read access
|
||||
- [ ] Log aggregator access (Splunk/Datadog)
|
||||
- [ ] PagerDuty app installed and logged in
|
||||
|
||||
### Alerting Setup
|
||||
|
||||
- [ ] PagerDuty schedule shows you as primary
|
||||
- [ ] Phone notifications enabled
|
||||
- [ ] Slack notifications for incident channels
|
||||
- [ ] Test alert received and acknowledged
|
||||
|
||||
### Knowledge Refresh
|
||||
|
||||
- [ ] Review recent incidents (past 2 weeks)
|
||||
- [ ] Check service changelog
|
||||
- [ ] Skim critical runbooks
|
||||
- [ ] Know escalation contacts
|
||||
|
||||
### Environment Ready
|
||||
|
||||
- [ ] Laptop charged and accessible
|
||||
- [ ] Phone charged
|
||||
- [ ] Quiet space available for calls
|
||||
- [ ] Secondary contact identified (if traveling)
|
||||
```
|
||||
|
||||
### During Your Shift
|
||||
|
||||
```markdown
|
||||
## Daily On-Call Routine
|
||||
|
||||
### Morning (start of day)
|
||||
|
||||
- [ ] Check overnight alerts
|
||||
- [ ] Review dashboards for anomalies
|
||||
- [ ] Check for any P0/P1 tickets created
|
||||
- [ ] Skim incident channels for context
|
||||
|
||||
### Throughout Day
|
||||
|
||||
- [ ] Respond to alerts within SLA
|
||||
- [ ] Document investigation progress
|
||||
- [ ] Update team on significant issues
|
||||
- [ ] Triage incoming pages
|
||||
|
||||
### End of Day
|
||||
|
||||
- [ ] Hand off any active issues
|
||||
- [ ] Update investigation docs
|
||||
- [ ] Note anything for next shift
|
||||
```
|
||||
|
||||
### After Your Shift
|
||||
|
||||
```markdown
|
||||
## Post-Shift Checklist
|
||||
|
||||
- [ ] Complete handoff document
|
||||
- [ ] Sync with incoming on-call
|
||||
- [ ] Verify PagerDuty routing changed
|
||||
- [ ] Close/update investigation tickets
|
||||
- [ ] File postmortems for any incidents
|
||||
- [ ] Take time off if shift was stressful
|
||||
```
|
||||
|
||||
## Escalation Guidelines
|
||||
|
||||
### When to Escalate
|
||||
|
||||
```markdown
|
||||
## Escalation Triggers
|
||||
|
||||
### Immediate Escalation
|
||||
|
||||
- SEV1 incident declared
|
||||
- Data breach suspected
|
||||
- Unable to diagnose within 30 min
|
||||
- Customer or legal escalation received
|
||||
|
||||
### Consider Escalation
|
||||
|
||||
- Issue spans multiple teams
|
||||
- Requires expertise you don't have
|
||||
- Business impact exceeds threshold
|
||||
- You're uncertain about next steps
|
||||
|
||||
### How to Escalate
|
||||
|
||||
1. Page the appropriate escalation path
|
||||
2. Provide brief context in Slack
|
||||
3. Stay engaged until escalation acknowledges
|
||||
4. Hand off cleanly, don't just disappear
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
### Do's
|
||||
|
||||
- **Document everything** - Future you will thank you
|
||||
- **Escalate early** - Better safe than sorry
|
||||
- **Take breaks** - Alert fatigue is real
|
||||
- **Keep handoffs synchronous** - Async loses context
|
||||
- **Test your setup** - Before incidents, not during
|
||||
|
||||
### Don'ts
|
||||
|
||||
- **Don't skip handoffs** - Context loss causes incidents
|
||||
- **Don't hero** - Escalate when needed
|
||||
- **Don't ignore alerts** - Even if they seem minor
|
||||
- **Don't work sick** - Swap shifts instead
|
||||
- **Don't disappear** - Stay reachable during shift
|
||||
|
||||
## Resources
|
||||
|
||||
- [Google SRE - Being On-Call](https://sre.google/sre-book/being-on-call/)
|
||||
- [PagerDuty On-Call Guide](https://www.pagerduty.com/resources/learn/on-call-management/)
|
||||
- [Increment On-Call Issue](https://increment.com/on-call/)
|
||||
|
||||
@@ -388,3 +388,9 @@ Don't full-flush cache in production; use targeted invalidation.
|
||||
- **Don't make it a blame doc** - That kills learning
|
||||
- **Don't create busywork** - Actions should be meaningful
|
||||
- **Don't skip follow-up** - Verify actions completed
|
||||
|
||||
## Resources
|
||||
|
||||
- [Google SRE - Postmortem Culture](https://sre.google/sre-book/postmortem-culture/)
|
||||
- [Etsy's Blameless Postmortems](https://codeascraft.com/2012/05/22/blameless-postmortems/)
|
||||
- [PagerDuty Postmortem Guide](https://postmortems.pagerduty.com/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "javascript-typescript",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"description": "JavaScript and TypeScript development with ES6+, Node.js, React, and modern web frameworks",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
@@ -1012,3 +1012,10 @@ it("should call function after delay", () => {
|
||||
vi.useRealTimers();
|
||||
});
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- **Jest Documentation**: https://jestjs.io/
|
||||
- **Vitest Documentation**: https://vitest.dev/
|
||||
- **Testing Library**: https://testing-library.com/
|
||||
- **Kent C. Dodds Testing Blog**: https://kentcdodds.com/blog/
|
||||
|
||||
@@ -917,3 +917,11 @@ const first = doubled.next().value; // Only computes first value
|
||||
6. **Blocking event loop**: Avoid synchronous operations
|
||||
7. **Memory leaks**: Clean up event listeners and timers
|
||||
8. **Not handling promise rejections**: Use catch() or try/catch
|
||||
|
||||
## Resources
|
||||
|
||||
- **MDN Web Docs**: https://developer.mozilla.org/en-US/docs/Web/JavaScript
|
||||
- **JavaScript.info**: https://javascript.info/
|
||||
- **You Don't Know JS**: https://github.com/getify/You-Dont-Know-JS
|
||||
- **Eloquent JavaScript**: https://eloquentjavascript.net/
|
||||
- **ES6 Features**: http://es6-features.org/
|
||||
|
||||
@@ -1039,3 +1039,10 @@ export class ApiResponse {
|
||||
## Testing Patterns
|
||||
|
||||
See `javascript-testing-patterns` skill for comprehensive testing guidance.
|
||||
|
||||
## Resources
|
||||
|
||||
- **Node.js Best Practices**: https://github.com/goldbergyoni/nodebestpractices
|
||||
- **Express.js Guide**: https://expressjs.com/en/guide/
|
||||
- **Fastify Documentation**: https://www.fastify.io/docs/
|
||||
- **TypeScript Node Starter**: https://github.com/microsoft/TypeScript-Node-Starter
|
||||
|
||||
@@ -715,3 +715,10 @@ type ShouldError = ExpectError<AssertEqual<string, number>>;
|
||||
- Cache complex type computations
|
||||
- Limit recursion depth in recursive types
|
||||
- Use build tools to skip type checking in production
|
||||
|
||||
## Resources
|
||||
|
||||
- **TypeScript Handbook**: https://www.typescriptlang.org/docs/handbook/
|
||||
- **Type Challenges**: https://github.com/type-challenges/type-challenges
|
||||
- **TypeScript Deep Dive**: https://basarat.gitbook.io/typescript/
|
||||
- **Effective TypeScript**: Book by Dan Vanderkam
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "kubernetes-operations",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"description": "Kubernetes manifest generation, networking configuration, security policies, observability setup, GitOps workflows, and auto-scaling",
|
||||
"author": {
|
||||
"name": "Seth Hobson",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user