[2.9.0] Rename plugin to compound-engineering
BREAKING: Plugin renamed from compounding-engineering to compound-engineering. Users will need to reinstall with the new name: claude /plugin install compound-engineering Changes: - Renamed plugin directory and all references - Updated documentation counts (24 agents, 19 commands) - Added julik-frontend-races-reviewer to docs 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
176
plugins/compound-engineering/skills/compound-docs/schema.yaml
Normal file
176
plugins/compound-engineering/skills/compound-docs/schema.yaml
Normal file
@@ -0,0 +1,176 @@
|
||||
# CORA Documentation Schema
|
||||
# This schema MUST be validated before writing any documentation file
|
||||
|
||||
required_fields:
|
||||
module:
|
||||
type: string
|
||||
description: "Module/area of CORA (e.g., 'Email Processing', 'Brief System', 'Authentication')"
|
||||
examples:
|
||||
- "Email Processing"
|
||||
- "Brief System"
|
||||
- "Assistant"
|
||||
- "Authentication"
|
||||
|
||||
date:
|
||||
type: string
|
||||
pattern: '^\d{4}-\d{2}-\d{2}$'
|
||||
description: "Date when this problem was solved (YYYY-MM-DD)"
|
||||
|
||||
problem_type:
|
||||
type: enum
|
||||
values:
|
||||
- build_error # Rails, bundle, compilation errors
|
||||
- test_failure # Test failures, flaky tests
|
||||
- runtime_error # Exceptions, crashes during execution
|
||||
- performance_issue # Slow queries, memory issues, N+1 queries
|
||||
- database_issue # Migration, query, schema problems
|
||||
- security_issue # Authentication, authorization, XSS, SQL injection
|
||||
- ui_bug # Frontend, Stimulus, Turbo issues
|
||||
- integration_issue # External service, API integration problems
|
||||
- logic_error # Business logic bugs
|
||||
- developer_experience # DX issues: workflow, tooling, seed data, dev setup
|
||||
- workflow_issue # Development process, missing steps, unclear practices
|
||||
- best_practice # Documenting patterns and practices to follow
|
||||
- documentation_gap # Missing or inadequate documentation
|
||||
description: "Primary category of the problem"
|
||||
|
||||
component:
|
||||
type: enum
|
||||
values:
|
||||
- rails_model # ActiveRecord models
|
||||
- rails_controller # ActionController
|
||||
- rails_view # ERB templates, ViewComponent
|
||||
- service_object # Custom service classes
|
||||
- background_job # Sidekiq, Active Job
|
||||
- database # PostgreSQL, migrations, schema
|
||||
- frontend_stimulus # Stimulus JS controllers
|
||||
- hotwire_turbo # Turbo Streams, Turbo Drive
|
||||
- email_processing # Email handling, mailers
|
||||
- brief_system # Brief generation, summarization
|
||||
- assistant # AI assistant, prompts
|
||||
- authentication # Devise, user auth
|
||||
- payments # Stripe, billing
|
||||
- development_workflow # Dev process, seed data, tooling
|
||||
- testing_framework # Test setup, fixtures, VCR
|
||||
- documentation # README, guides, inline docs
|
||||
- tooling # Scripts, generators, CLI tools
|
||||
description: "CORA component involved"
|
||||
|
||||
symptoms:
|
||||
type: array[string]
|
||||
min_items: 1
|
||||
max_items: 5
|
||||
description: "Observable symptoms (error messages, visual issues, crashes)"
|
||||
examples:
|
||||
- "N+1 query detected in brief generation"
|
||||
- "Brief emails not appearing in summary"
|
||||
- "Turbo Stream response returns 404"
|
||||
|
||||
root_cause:
|
||||
type: enum
|
||||
values:
|
||||
- missing_association # Incorrect Rails associations
|
||||
- missing_include # Missing eager loading (N+1)
|
||||
- missing_index # Database performance issue
|
||||
- wrong_api # Using deprecated/incorrect Rails API
|
||||
- scope_issue # Incorrect query scope or filtering
|
||||
- thread_violation # Real-time unsafe operation
|
||||
- async_timing # Async/background job timing
|
||||
- memory_leak # Memory leak or excessive allocation
|
||||
- config_error # Configuration or environment issue
|
||||
- logic_error # Algorithm/business logic bug
|
||||
- test_isolation # Test isolation or fixture issue
|
||||
- missing_validation # Missing model validation
|
||||
- missing_permission # Authorization check missing
|
||||
- missing_workflow_step # Skipped or undocumented workflow step
|
||||
- inadequate_documentation # Missing or unclear documentation
|
||||
- missing_tooling # Lacking helper scripts or automation
|
||||
- incomplete_setup # Missing seed data, fixtures, or config
|
||||
description: "Fundamental cause of the problem"
|
||||
|
||||
resolution_type:
|
||||
type: enum
|
||||
values:
|
||||
- code_fix # Fixed by changing source code
|
||||
- migration # Fixed by database migration
|
||||
- config_change # Fixed by changing configuration
|
||||
- test_fix # Fixed by correcting tests
|
||||
- dependency_update # Fixed by updating gem/dependency
|
||||
- environment_setup # Fixed by environment configuration
|
||||
- workflow_improvement # Improved development workflow or process
|
||||
- documentation_update # Added or updated documentation
|
||||
- tooling_addition # Added helper script or automation
|
||||
- seed_data_update # Updated db/seeds.rb or fixtures
|
||||
description: "Type of fix applied"
|
||||
|
||||
severity:
|
||||
type: enum
|
||||
values:
|
||||
- critical # Blocks production or development (build fails, data loss)
|
||||
- high # Impairs core functionality (feature broken, security issue)
|
||||
- medium # Affects specific feature (UI broken, performance impact)
|
||||
- low # Minor issue or edge case
|
||||
description: "Impact severity"
|
||||
|
||||
optional_fields:
|
||||
rails_version:
|
||||
type: string
|
||||
pattern: '^\d+\.\d+\.\d+$'
|
||||
description: "Rails version where this was encountered (e.g., '7.1.0')"
|
||||
|
||||
related_components:
|
||||
type: array[string]
|
||||
description: "Other components that interact with this issue"
|
||||
|
||||
tags:
|
||||
type: array[string]
|
||||
max_items: 8
|
||||
description: "Searchable keywords (lowercase, hyphen-separated)"
|
||||
examples:
|
||||
- "n-plus-one"
|
||||
- "eager-loading"
|
||||
- "test-isolation"
|
||||
- "turbo-stream"
|
||||
|
||||
validation_rules:
|
||||
- "module must be a valid CORA module name"
|
||||
- "date must be in YYYY-MM-DD format"
|
||||
- "problem_type must match one of the enum values"
|
||||
- "component must match one of the enum values"
|
||||
- "symptoms must be specific and observable (not vague)"
|
||||
- "root_cause must be the ACTUAL cause, not a symptom"
|
||||
- "resolution_type must match one of the enum values"
|
||||
- "severity must match one of the enum values"
|
||||
- "tags should be lowercase, hyphen-separated"
|
||||
|
||||
# Example valid front matter:
|
||||
# ---
|
||||
# module: Email Processing
|
||||
# date: 2025-11-12
|
||||
# problem_type: performance_issue
|
||||
# component: rails_model
|
||||
# symptoms:
|
||||
# - N+1 query when loading email threads
|
||||
# - Brief generation taking >5 seconds
|
||||
# root_cause: missing_include
|
||||
# rails_version: 7.1.2
|
||||
# resolution_type: code_fix
|
||||
# severity: high
|
||||
# tags: [n-plus-one, eager-loading, performance]
|
||||
# ---
|
||||
#
|
||||
# Example DX issue front matter:
|
||||
# ---
|
||||
# module: Development Workflow
|
||||
# date: 2025-11-13
|
||||
# problem_type: developer_experience
|
||||
# component: development_workflow
|
||||
# symptoms:
|
||||
# - No example data for new feature in development
|
||||
# - Rails db:seed doesn't demonstrate new capabilities
|
||||
# root_cause: incomplete_setup
|
||||
# rails_version: 7.1.2
|
||||
# resolution_type: seed_data_update
|
||||
# severity: low
|
||||
# tags: [seed-data, dx, workflow]
|
||||
# ---
|
||||
Reference in New Issue
Block a user