compact-agent 1.10.1 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/ecc-hooks.cjs +110 -0
- package/dist/ecc.d.ts +11 -0
- package/dist/ecc.js +142 -27
- package/dist/ecc.js.map +1 -1
- package/dist/index.js +47 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/resources/ecc/agents/a11y-architect.md +149 -0
- package/resources/ecc/agents/architect.md +11 -3
- package/resources/ecc/agents/build-error-resolver.md +11 -4
- package/resources/ecc/agents/chief-of-staff.md +11 -4
- package/resources/ecc/agents/code-architect.md +80 -0
- package/resources/ecc/agents/code-explorer.md +78 -0
- package/resources/ecc/agents/code-reviewer.md +89 -4
- package/resources/ecc/agents/code-simplifier.md +56 -0
- package/resources/ecc/agents/comment-analyzer.md +54 -0
- package/resources/ecc/agents/conversation-analyzer.md +61 -0
- package/resources/ecc/agents/cpp-build-resolver.md +99 -0
- package/resources/ecc/agents/cpp-reviewer.md +81 -0
- package/resources/ecc/agents/csharp-reviewer.md +110 -0
- package/resources/ecc/agents/dart-build-resolver.md +210 -0
- package/resources/ecc/agents/database-reviewer.md +11 -3
- package/resources/ecc/agents/django-build-resolver.md +252 -0
- package/resources/ecc/agents/django-reviewer.md +169 -0
- package/resources/ecc/agents/doc-updater.md +11 -3
- package/resources/ecc/agents/docs-lookup.md +77 -0
- package/resources/ecc/agents/e2e-runner.md +11 -4
- package/resources/ecc/agents/fastapi-reviewer.md +79 -0
- package/resources/ecc/agents/flutter-reviewer.md +252 -0
- package/resources/ecc/agents/fsharp-reviewer.md +109 -0
- package/resources/ecc/agents/gan-evaluator.md +218 -0
- package/resources/ecc/agents/gan-generator.md +140 -0
- package/resources/ecc/agents/gan-planner.md +108 -0
- package/resources/ecc/agents/go-build-resolver.md +11 -4
- package/resources/ecc/agents/go-reviewer.md +11 -3
- package/resources/ecc/agents/harmonyos-app-resolver.md +182 -0
- package/resources/ecc/agents/harness-optimizer.md +12 -2
- package/resources/ecc/agents/healthcare-reviewer.md +92 -0
- package/resources/ecc/agents/homelab-architect.md +107 -0
- package/resources/ecc/agents/java-build-resolver.md +275 -0
- package/resources/ecc/agents/java-reviewer.md +190 -0
- package/resources/ecc/agents/kotlin-build-resolver.md +127 -0
- package/resources/ecc/agents/kotlin-reviewer.md +168 -0
- package/resources/ecc/agents/loop-operator.md +12 -3
- package/resources/ecc/agents/mle-reviewer.md +162 -0
- package/resources/ecc/agents/network-architect.md +106 -0
- package/resources/ecc/agents/network-config-reviewer.md +106 -0
- package/resources/ecc/agents/network-troubleshooter.md +128 -0
- package/resources/ecc/agents/opensource-forker.md +207 -0
- package/resources/ecc/agents/opensource-packager.md +258 -0
- package/resources/ecc/agents/opensource-sanitizer.md +197 -0
- package/resources/ecc/agents/performance-optimizer.md +455 -0
- package/resources/ecc/agents/planner.md +11 -2
- package/resources/ecc/agents/pr-test-analyzer.md +54 -0
- package/resources/ecc/agents/python-reviewer.md +11 -3
- package/resources/ecc/agents/pytorch-build-resolver.md +129 -0
- package/resources/ecc/agents/refactor-cleaner.md +11 -4
- package/resources/ecc/agents/rust-build-resolver.md +157 -0
- package/resources/ecc/agents/rust-reviewer.md +103 -0
- package/resources/ecc/agents/security-reviewer.md +11 -3
- package/resources/ecc/agents/seo-specialist.md +71 -0
- package/resources/ecc/agents/silent-failure-hunter.md +59 -0
- package/resources/ecc/agents/swift-build-resolver.md +170 -0
- package/resources/ecc/agents/swift-reviewer.md +116 -0
- package/resources/ecc/agents/tdd-guide.md +11 -4
- package/resources/ecc/agents/type-design-analyzer.md +50 -0
- package/resources/ecc/agents/typescript-reviewer.md +121 -0
- package/resources/ecc/commands/aside.md +164 -0
- package/resources/ecc/commands/auto-update.md +28 -0
- package/resources/ecc/commands/build-fix.md +66 -0
- package/resources/ecc/commands/checkpoint.md +78 -0
- package/resources/ecc/commands/code-review.md +289 -0
- package/resources/ecc/commands/cost-report.md +107 -0
- package/resources/ecc/commands/cpp-build.md +173 -0
- package/resources/ecc/commands/cpp-review.md +132 -0
- package/resources/ecc/commands/cpp-test.md +251 -0
- package/resources/ecc/commands/ecc-guide.md +93 -0
- package/resources/ecc/commands/evolve.md +178 -0
- package/resources/ecc/commands/fastapi-review.md +39 -0
- package/resources/ecc/commands/feature-dev.md +49 -0
- package/resources/ecc/commands/flutter-build.md +164 -0
- package/resources/ecc/commands/flutter-review.md +116 -0
- package/resources/ecc/commands/flutter-test.md +144 -0
- package/resources/ecc/commands/gan-build.md +103 -0
- package/resources/ecc/commands/gan-design.md +39 -0
- package/resources/ecc/commands/go-build.md +183 -0
- package/resources/ecc/commands/go-review.md +148 -0
- package/resources/ecc/commands/go-test.md +268 -0
- package/resources/ecc/commands/gradle-build.md +70 -0
- package/resources/ecc/commands/harness-audit.md +77 -0
- package/resources/ecc/commands/hookify-configure.md +14 -0
- package/resources/ecc/commands/hookify-help.md +46 -0
- package/resources/ecc/commands/hookify-list.md +21 -0
- package/resources/ecc/commands/hookify.md +50 -0
- package/resources/ecc/commands/instinct-export.md +66 -0
- package/resources/ecc/commands/instinct-import.md +114 -0
- package/resources/ecc/commands/instinct-status.md +59 -0
- package/resources/ecc/commands/jira.md +106 -0
- package/resources/ecc/commands/kotlin-build.md +174 -0
- package/resources/ecc/commands/kotlin-review.md +140 -0
- package/resources/ecc/commands/kotlin-test.md +312 -0
- package/resources/ecc/commands/learn-eval.md +116 -0
- package/resources/ecc/commands/learn.md +74 -0
- package/resources/ecc/commands/loop-start.md +36 -0
- package/resources/ecc/commands/loop-status.md +77 -0
- package/resources/ecc/commands/model-route.md +30 -0
- package/resources/ecc/commands/multi-backend.md +162 -0
- package/resources/ecc/commands/multi-execute.md +319 -0
- package/resources/ecc/commands/multi-frontend.md +162 -0
- package/resources/ecc/commands/multi-plan.md +272 -0
- package/resources/ecc/commands/multi-workflow.md +195 -0
- package/resources/ecc/commands/plan-prd.md +160 -0
- package/resources/ecc/commands/plan.md +200 -0
- package/resources/ecc/commands/pm2.md +276 -0
- package/resources/ecc/commands/pr.md +184 -0
- package/resources/ecc/commands/project-init.md +86 -0
- package/resources/ecc/commands/projects.md +39 -0
- package/resources/ecc/commands/promote.md +41 -0
- package/resources/ecc/commands/prp-commit.md +112 -0
- package/resources/ecc/commands/prp-implement.md +385 -0
- package/resources/ecc/commands/prp-plan.md +502 -0
- package/resources/ecc/commands/prp-pr.md +184 -0
- package/resources/ecc/commands/prp-prd.md +447 -0
- package/resources/ecc/commands/prune.md +31 -0
- package/resources/ecc/commands/python-review.md +297 -0
- package/resources/ecc/commands/quality-gate.md +33 -0
- package/resources/ecc/commands/refactor-clean.md +84 -0
- package/resources/ecc/commands/resume-session.md +156 -0
- package/resources/ecc/commands/review-pr.md +37 -0
- package/resources/ecc/commands/rust-build.md +187 -0
- package/resources/ecc/commands/rust-review.md +142 -0
- package/resources/ecc/commands/rust-test.md +308 -0
- package/resources/ecc/commands/santa-loop.md +175 -0
- package/resources/ecc/commands/save-session.md +275 -0
- package/resources/ecc/commands/security-scan.md +92 -0
- package/resources/ecc/commands/sessions.md +339 -0
- package/resources/ecc/commands/setup-pm.md +80 -0
- package/resources/ecc/commands/skill-create.md +174 -0
- package/resources/ecc/commands/skill-health.md +54 -0
- package/resources/ecc/commands/test-coverage.md +73 -0
- package/resources/ecc/commands/update-codemaps.md +76 -0
- package/resources/ecc/commands/update-docs.md +88 -0
- package/resources/ecc/rules/README.md +120 -0
- package/resources/ecc/rules/angular/coding-style.md +182 -0
- package/resources/ecc/rules/angular/hooks.md +25 -0
- package/resources/ecc/rules/angular/patterns.md +249 -0
- package/resources/ecc/rules/angular/security.md +87 -0
- package/resources/ecc/rules/angular/testing.md +164 -0
- package/resources/ecc/rules/arkts/coding-style.md +153 -0
- package/resources/ecc/rules/arkts/hooks.md +135 -0
- package/resources/ecc/rules/arkts/patterns.md +236 -0
- package/resources/ecc/rules/arkts/security.md +141 -0
- package/resources/ecc/rules/arkts/testing.md +126 -0
- package/resources/ecc/rules/{common-agents.md → common/agents.md} +2 -4
- package/resources/ecc/rules/common/code-review.md +124 -0
- package/resources/ecc/rules/{common-coding-style.md → common/coding-style.md} +42 -4
- package/resources/ecc/rules/common/development-workflow.md +44 -0
- package/resources/ecc/rules/{common-git-workflow.md → common/git-workflow.md} +1 -5
- package/resources/ecc/rules/{common-hooks.md → common/hooks.md} +0 -4
- package/resources/ecc/rules/{common-patterns.md → common/patterns.md} +0 -4
- package/resources/ecc/rules/{common-performance.md → common/performance.md} +0 -4
- package/resources/ecc/rules/{common-security.md → common/security.md} +0 -4
- package/resources/ecc/rules/{common-testing.md → common/testing.md} +28 -4
- package/resources/ecc/rules/cpp/coding-style.md +44 -0
- package/resources/ecc/rules/cpp/hooks.md +39 -0
- package/resources/ecc/rules/cpp/patterns.md +51 -0
- package/resources/ecc/rules/cpp/security.md +51 -0
- package/resources/ecc/rules/cpp/testing.md +44 -0
- package/resources/ecc/rules/csharp/coding-style.md +72 -0
- package/resources/ecc/rules/csharp/hooks.md +25 -0
- package/resources/ecc/rules/csharp/patterns.md +50 -0
- package/resources/ecc/rules/csharp/security.md +58 -0
- package/resources/ecc/rules/csharp/testing.md +46 -0
- package/resources/ecc/rules/dart/coding-style.md +159 -0
- package/resources/ecc/rules/dart/hooks.md +66 -0
- package/resources/ecc/rules/dart/patterns.md +261 -0
- package/resources/ecc/rules/dart/security.md +135 -0
- package/resources/ecc/rules/dart/testing.md +215 -0
- package/resources/ecc/rules/fsharp/coding-style.md +112 -0
- package/resources/ecc/rules/fsharp/hooks.md +26 -0
- package/resources/ecc/rules/fsharp/patterns.md +111 -0
- package/resources/ecc/rules/fsharp/security.md +76 -0
- package/resources/ecc/rules/fsharp/testing.md +62 -0
- package/resources/ecc/rules/{golang-coding-style.md → golang/coding-style.md} +6 -5
- package/resources/ecc/rules/{golang-hooks.md → golang/hooks.md} +5 -4
- package/resources/ecc/rules/{golang-patterns.md → golang/patterns.md} +5 -4
- package/resources/ecc/rules/{golang-security.md → golang/security.md} +5 -4
- package/resources/ecc/rules/{golang-testing.md → golang/testing.md} +5 -4
- package/resources/ecc/rules/java/coding-style.md +114 -0
- package/resources/ecc/rules/java/hooks.md +18 -0
- package/resources/ecc/rules/java/patterns.md +147 -0
- package/resources/ecc/rules/java/security.md +101 -0
- package/resources/ecc/rules/java/testing.md +133 -0
- package/resources/ecc/rules/kotlin/coding-style.md +86 -0
- package/resources/ecc/rules/{kotlin-hooks.md → kotlin/hooks.md} +5 -4
- package/resources/ecc/rules/kotlin/patterns.md +146 -0
- package/resources/ecc/rules/kotlin/security.md +82 -0
- package/resources/ecc/rules/kotlin/testing.md +128 -0
- package/resources/ecc/rules/perl/coding-style.md +46 -0
- package/resources/ecc/rules/perl/hooks.md +22 -0
- package/resources/ecc/rules/perl/patterns.md +76 -0
- package/resources/ecc/rules/perl/security.md +69 -0
- package/resources/ecc/rules/perl/testing.md +54 -0
- package/resources/ecc/rules/php/coding-style.md +40 -0
- package/resources/ecc/rules/{php-hooks.md → php/hooks.md} +7 -4
- package/resources/ecc/rules/php/patterns.md +33 -0
- package/resources/ecc/rules/php/security.md +37 -0
- package/resources/ecc/rules/php/testing.md +39 -0
- package/resources/ecc/rules/{python-coding-style.md → python/coding-style.md} +4 -4
- package/resources/ecc/rules/python/fastapi.md +58 -0
- package/resources/ecc/rules/{python-hooks.md → python/hooks.md} +4 -4
- package/resources/ecc/rules/{python-patterns.md → python/patterns.md} +4 -4
- package/resources/ecc/rules/{python-security.md → python/security.md} +4 -4
- package/resources/ecc/rules/{python-testing.md → python/testing.md} +4 -4
- package/resources/ecc/rules/ruby/coding-style.md +46 -0
- package/resources/ecc/rules/ruby/hooks.md +37 -0
- package/resources/ecc/rules/ruby/patterns.md +44 -0
- package/resources/ecc/rules/ruby/security.md +51 -0
- package/resources/ecc/rules/ruby/testing.md +51 -0
- package/resources/ecc/rules/rust/coding-style.md +151 -0
- package/resources/ecc/rules/rust/hooks.md +16 -0
- package/resources/ecc/rules/rust/patterns.md +168 -0
- package/resources/ecc/rules/rust/security.md +141 -0
- package/resources/ecc/rules/rust/testing.md +154 -0
- package/resources/ecc/rules/{swift-coding-style.md → swift/coding-style.md} +6 -6
- package/resources/ecc/rules/swift/hooks.md +20 -0
- package/resources/ecc/rules/{swift-patterns.md → swift/patterns.md} +5 -5
- package/resources/ecc/rules/{swift-security.md → swift/security.md} +7 -7
- package/resources/ecc/rules/{swift-testing.md → swift/testing.md} +5 -5
- package/resources/ecc/rules/typescript/coding-style.md +199 -0
- package/resources/ecc/rules/{typescript-hooks.md → typescript/hooks.md} +6 -4
- package/resources/ecc/rules/{typescript-patterns.md → typescript/patterns.md} +6 -4
- package/resources/ecc/rules/{typescript-security.md → typescript/security.md} +6 -4
- package/resources/ecc/rules/typescript/testing.md +18 -0
- package/resources/ecc/rules/web/coding-style.md +96 -0
- package/resources/ecc/rules/web/design-quality.md +63 -0
- package/resources/ecc/rules/web/hooks.md +129 -0
- package/resources/ecc/rules/web/patterns.md +79 -0
- package/resources/ecc/rules/web/performance.md +64 -0
- package/resources/ecc/rules/web/security.md +57 -0
- package/resources/ecc/rules/web/testing.md +55 -0
- package/resources/ecc/rules/zh/README.md +108 -0
- package/resources/ecc/rules/zh/agents.md +50 -0
- package/resources/ecc/rules/zh/code-review.md +124 -0
- package/resources/ecc/rules/zh/coding-style.md +48 -0
- package/resources/ecc/rules/zh/development-workflow.md +44 -0
- package/resources/ecc/rules/zh/git-workflow.md +24 -0
- package/resources/ecc/rules/zh/hooks.md +30 -0
- package/resources/ecc/rules/zh/patterns.md +31 -0
- package/resources/ecc/rules/zh/performance.md +55 -0
- package/resources/ecc/rules/zh/security.md +29 -0
- package/resources/ecc/rules/zh/testing.md +29 -0
- package/resources/ecc/skills/accessibility/SKILL.md +146 -0
- package/resources/ecc/skills/agent-architecture-audit/SKILL.md +256 -0
- package/resources/ecc/skills/agent-eval/SKILL.md +145 -0
- package/resources/ecc/skills/agent-harness-construction/SKILL.md +73 -0
- package/resources/ecc/skills/agent-introspection-debugging/SKILL.md +1 -0
- package/resources/ecc/skills/agent-payment-x402/SKILL.md +224 -0
- package/resources/ecc/skills/agent-sort/SKILL.md +1 -0
- package/resources/ecc/skills/agentic-engineering/SKILL.md +63 -0
- package/resources/ecc/skills/agentic-os/SKILL.md +387 -0
- package/resources/ecc/skills/ai-first-engineering/SKILL.md +51 -0
- package/resources/ecc/skills/ai-regression-testing/SKILL.md +385 -0
- package/resources/ecc/skills/android-clean-architecture/SKILL.md +339 -0
- package/resources/ecc/skills/angular-developer/SKILL.md +154 -0
- package/resources/ecc/skills/angular-developer/references/angular-animations.md +160 -0
- package/resources/ecc/skills/angular-developer/references/angular-aria.md +410 -0
- package/resources/ecc/skills/angular-developer/references/cli.md +86 -0
- package/resources/ecc/skills/angular-developer/references/component-harnesses.md +59 -0
- package/resources/ecc/skills/angular-developer/references/component-styling.md +91 -0
- package/resources/ecc/skills/angular-developer/references/components.md +117 -0
- package/resources/ecc/skills/angular-developer/references/creating-services.md +97 -0
- package/resources/ecc/skills/angular-developer/references/data-resolvers.md +69 -0
- package/resources/ecc/skills/angular-developer/references/define-routes.md +67 -0
- package/resources/ecc/skills/angular-developer/references/defining-providers.md +72 -0
- package/resources/ecc/skills/angular-developer/references/di-fundamentals.md +120 -0
- package/resources/ecc/skills/angular-developer/references/e2e-testing.md +56 -0
- package/resources/ecc/skills/angular-developer/references/effects.md +83 -0
- package/resources/ecc/skills/angular-developer/references/hierarchical-injectors.md +43 -0
- package/resources/ecc/skills/angular-developer/references/host-elements.md +80 -0
- package/resources/ecc/skills/angular-developer/references/injection-context.md +63 -0
- package/resources/ecc/skills/angular-developer/references/inputs.md +101 -0
- package/resources/ecc/skills/angular-developer/references/linked-signal.md +59 -0
- package/resources/ecc/skills/angular-developer/references/loading-strategies.md +61 -0
- package/resources/ecc/skills/angular-developer/references/mcp.md +108 -0
- package/resources/ecc/skills/angular-developer/references/navigate-to-routes.md +69 -0
- package/resources/ecc/skills/angular-developer/references/outputs.md +86 -0
- package/resources/ecc/skills/angular-developer/references/reactive-forms.md +122 -0
- package/resources/ecc/skills/angular-developer/references/rendering-strategies.md +44 -0
- package/resources/ecc/skills/angular-developer/references/resource.md +77 -0
- package/resources/ecc/skills/angular-developer/references/route-animations.md +56 -0
- package/resources/ecc/skills/angular-developer/references/route-guards.md +52 -0
- package/resources/ecc/skills/angular-developer/references/router-lifecycle.md +45 -0
- package/resources/ecc/skills/angular-developer/references/router-testing.md +87 -0
- package/resources/ecc/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
- package/resources/ecc/skills/angular-developer/references/signal-forms.md +795 -0
- package/resources/ecc/skills/angular-developer/references/signals-overview.md +94 -0
- package/resources/ecc/skills/angular-developer/references/tailwind-css.md +69 -0
- package/resources/ecc/skills/angular-developer/references/template-driven-forms.md +114 -0
- package/resources/ecc/skills/angular-developer/references/testing-fundamentals.md +65 -0
- package/resources/ecc/skills/api-connector-builder/SKILL.md +120 -0
- package/resources/ecc/skills/api-design/SKILL.md +1 -0
- package/resources/ecc/skills/architecture-decision-records/SKILL.md +179 -0
- package/resources/ecc/skills/article-writing/SKILL.md +1 -0
- package/resources/ecc/skills/automation-audit-ops/SKILL.md +142 -0
- package/resources/ecc/skills/autonomous-agent-harness/SKILL.md +273 -0
- package/resources/ecc/skills/autonomous-loops/SKILL.md +610 -0
- package/resources/ecc/skills/backend-patterns/SKILL.md +8 -44
- package/resources/ecc/skills/benchmark/SKILL.md +93 -0
- package/resources/ecc/skills/blueprint/SKILL.md +105 -0
- package/resources/ecc/skills/brand-voice/SKILL.md +1 -0
- package/resources/ecc/skills/browser-qa/SKILL.md +87 -0
- package/resources/ecc/skills/bun-runtime/SKILL.md +1 -0
- package/resources/ecc/skills/canary-watch/SKILL.md +99 -0
- package/resources/ecc/skills/carrier-relationship-management/SKILL.md +212 -0
- package/resources/ecc/skills/cisco-ios-patterns/SKILL.md +163 -0
- package/resources/ecc/skills/ck/SKILL.md +147 -0
- package/resources/ecc/skills/ck/commands/forget.mjs +44 -0
- package/resources/ecc/skills/ck/commands/info.mjs +24 -0
- package/resources/ecc/skills/ck/commands/init.mjs +143 -0
- package/resources/ecc/skills/ck/commands/list.mjs +40 -0
- package/resources/ecc/skills/ck/commands/migrate.mjs +202 -0
- package/resources/ecc/skills/ck/commands/resume.mjs +36 -0
- package/resources/ecc/skills/ck/commands/save.mjs +210 -0
- package/resources/ecc/skills/ck/commands/shared.mjs +387 -0
- package/resources/ecc/skills/ck/hooks/session-start.mjs +224 -0
- package/resources/ecc/skills/claude-devfleet/SKILL.md +103 -0
- package/resources/ecc/skills/click-path-audit/SKILL.md +244 -0
- package/resources/ecc/skills/clickhouse-io/SKILL.md +439 -0
- package/resources/ecc/skills/code-tour/SKILL.md +236 -0
- package/resources/ecc/skills/codebase-onboarding/SKILL.md +233 -0
- package/resources/ecc/skills/coding-standards/SKILL.md +1 -0
- package/resources/ecc/skills/compose-multiplatform-patterns/SKILL.md +299 -0
- package/resources/ecc/skills/configure-ecc/SKILL.md +384 -0
- package/resources/ecc/skills/connections-optimizer/SKILL.md +189 -0
- package/resources/ecc/skills/content-engine/SKILL.md +1 -0
- package/resources/ecc/skills/content-hash-cache-pattern/SKILL.md +161 -0
- package/resources/ecc/skills/context-budget/SKILL.md +135 -0
- package/resources/ecc/skills/continuous-agent-loop/SKILL.md +45 -0
- package/resources/ecc/skills/continuous-learning/SKILL.md +131 -0
- package/resources/ecc/skills/continuous-learning/config.json +18 -0
- package/resources/ecc/skills/continuous-learning/evaluate-session.sh +69 -0
- package/resources/ecc/skills/continuous-learning-v2/SKILL.md +360 -0
- package/resources/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +322 -0
- package/resources/ecc/skills/continuous-learning-v2/agents/observer.md +198 -0
- package/resources/ecc/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
- package/resources/ecc/skills/continuous-learning-v2/agents/start-observer.sh +248 -0
- package/resources/ecc/skills/continuous-learning-v2/config.json +8 -0
- package/resources/ecc/skills/continuous-learning-v2/hooks/observe.sh +476 -0
- package/resources/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +288 -0
- package/resources/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +1519 -0
- package/resources/ecc/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
- package/resources/ecc/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -0
- package/resources/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +1018 -0
- package/resources/ecc/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/resources/ecc/skills/cost-tracking/SKILL.md +147 -0
- package/resources/ecc/skills/council/SKILL.md +203 -0
- package/resources/ecc/skills/cpp-coding-standards/SKILL.md +723 -0
- package/resources/ecc/skills/cpp-testing/SKILL.md +324 -0
- package/resources/ecc/skills/crosspost/SKILL.md +1 -0
- package/resources/ecc/skills/csharp-testing/SKILL.md +321 -0
- package/resources/ecc/skills/customer-billing-ops/SKILL.md +140 -0
- package/resources/ecc/skills/customs-trade-compliance/SKILL.md +263 -0
- package/resources/ecc/skills/dart-flutter-patterns/SKILL.md +563 -0
- package/resources/ecc/skills/dashboard-builder/SKILL.md +108 -0
- package/resources/ecc/skills/data-scraper-agent/SKILL.md +764 -0
- package/resources/ecc/skills/database-migrations/SKILL.md +429 -0
- package/resources/ecc/skills/deep-research/SKILL.md +5 -0
- package/resources/ecc/skills/defi-amm-security/SKILL.md +166 -0
- package/resources/ecc/skills/deployment-patterns/SKILL.md +427 -0
- package/resources/ecc/skills/design-system/SKILL.md +82 -0
- package/resources/ecc/skills/django-celery/SKILL.md +457 -0
- package/resources/ecc/skills/django-patterns/SKILL.md +734 -0
- package/resources/ecc/skills/django-security/SKILL.md +593 -0
- package/resources/ecc/skills/django-tdd/SKILL.md +729 -0
- package/resources/ecc/skills/django-verification/SKILL.md +469 -0
- package/resources/ecc/skills/dmux-workflows/SKILL.md +52 -4
- package/resources/ecc/skills/docker-patterns/SKILL.md +364 -0
- package/resources/ecc/skills/documentation-lookup/SKILL.md +1 -0
- package/resources/ecc/skills/dotnet-patterns/SKILL.md +321 -0
- package/resources/ecc/skills/e2e-testing/SKILL.md +1 -0
- package/resources/ecc/skills/ecc-guide/SKILL.md +189 -0
- package/resources/ecc/skills/ecc-tools-cost-audit/SKILL.md +160 -0
- package/resources/ecc/skills/email-ops/SKILL.md +121 -0
- package/resources/ecc/skills/energy-procurement/SKILL.md +228 -0
- package/resources/ecc/skills/enterprise-agent-ops/SKILL.md +50 -0
- package/resources/ecc/skills/error-handling/SKILL.md +376 -0
- package/resources/ecc/skills/eval-harness/SKILL.md +36 -1
- package/resources/ecc/skills/evm-token-decimals/SKILL.md +130 -0
- package/resources/ecc/skills/exa-search/SKILL.md +18 -80
- package/resources/ecc/skills/fal-ai-media/SKILL.md +32 -20
- package/resources/ecc/skills/fastapi-patterns/SKILL.md +327 -0
- package/resources/ecc/skills/finance-billing-ops/SKILL.md +127 -0
- package/resources/ecc/skills/flox-environments/SKILL.md +496 -0
- package/resources/ecc/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/resources/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
- package/resources/ecc/skills/frontend-design-direction/SKILL.md +92 -0
- package/resources/ecc/skills/frontend-patterns/SKILL.md +1 -6
- package/resources/ecc/skills/frontend-slides/SKILL.md +2 -1
- package/resources/ecc/skills/frontend-slides/animation-patterns.md +122 -0
- package/resources/ecc/skills/frontend-slides/html-template.md +419 -0
- package/resources/ecc/skills/frontend-slides/scripts/export-pdf.sh +418 -0
- package/resources/ecc/skills/frontend-slides/scripts/extract-pptx.py +96 -0
- package/resources/ecc/skills/frontend-slides/viewport-base.css +153 -0
- package/resources/ecc/skills/fsharp-testing/SKILL.md +280 -0
- package/resources/ecc/skills/gan-style-harness/SKILL.md +278 -0
- package/resources/ecc/skills/gateguard/SKILL.md +125 -0
- package/resources/ecc/skills/git-workflow/SKILL.md +715 -0
- package/resources/ecc/skills/github-ops/SKILL.md +144 -0
- package/resources/ecc/skills/golang-patterns/SKILL.md +674 -0
- package/resources/ecc/skills/golang-testing/SKILL.md +720 -0
- package/resources/ecc/skills/google-workspace-ops/SKILL.md +95 -0
- package/resources/ecc/skills/healthcare-cdss-patterns/SKILL.md +245 -0
- package/resources/ecc/skills/healthcare-emr-patterns/SKILL.md +159 -0
- package/resources/ecc/skills/healthcare-eval-harness/SKILL.md +207 -0
- package/resources/ecc/skills/healthcare-phi-compliance/SKILL.md +145 -0
- package/resources/ecc/skills/hermes-imports/SKILL.md +88 -0
- package/resources/ecc/skills/hexagonal-architecture/SKILL.md +276 -0
- package/resources/ecc/skills/hipaa-compliance/SKILL.md +78 -0
- package/resources/ecc/skills/homelab-network-readiness/SKILL.md +169 -0
- package/resources/ecc/skills/homelab-network-setup/SKILL.md +129 -0
- package/resources/ecc/skills/homelab-pihole-dns/SKILL.md +274 -0
- package/resources/ecc/skills/homelab-vlan-segmentation/SKILL.md +311 -0
- package/resources/ecc/skills/homelab-wireguard-vpn/SKILL.md +305 -0
- package/resources/ecc/skills/hookify-rules/SKILL.md +128 -0
- package/resources/ecc/skills/inventory-demand-planning/SKILL.md +247 -0
- package/resources/ecc/skills/investor-materials/SKILL.md +1 -0
- package/resources/ecc/skills/investor-outreach/SKILL.md +1 -0
- package/resources/ecc/skills/ios-icon-gen/SKILL.md +157 -0
- package/resources/ecc/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
- package/resources/ecc/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
- package/resources/ecc/skills/iterative-retrieval/SKILL.md +211 -0
- package/resources/ecc/skills/java-coding-standards/SKILL.md +383 -0
- package/resources/ecc/skills/jira-integration/SKILL.md +293 -0
- package/resources/ecc/skills/jpa-patterns/SKILL.md +151 -0
- package/resources/ecc/skills/knowledge-ops/SKILL.md +154 -0
- package/resources/ecc/skills/kotlin-coroutines-flows/SKILL.md +284 -0
- package/resources/ecc/skills/kotlin-exposed-patterns/SKILL.md +719 -0
- package/resources/ecc/skills/kotlin-ktor-patterns/SKILL.md +689 -0
- package/resources/ecc/skills/kotlin-patterns/SKILL.md +711 -0
- package/resources/ecc/skills/kotlin-testing/SKILL.md +824 -0
- package/resources/ecc/skills/laravel-patterns/SKILL.md +415 -0
- package/resources/ecc/skills/laravel-plugin-discovery/SKILL.md +229 -0
- package/resources/ecc/skills/laravel-security/SKILL.md +285 -0
- package/resources/ecc/skills/laravel-tdd/SKILL.md +283 -0
- package/resources/ecc/skills/laravel-verification/SKILL.md +179 -0
- package/resources/ecc/skills/lead-intelligence/SKILL.md +321 -0
- package/resources/ecc/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
- package/resources/ecc/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
- package/resources/ecc/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
- package/resources/ecc/skills/lead-intelligence/agents/signal-scorer.md +60 -0
- package/resources/ecc/skills/liquid-glass-design/SKILL.md +279 -0
- package/resources/ecc/skills/llm-trading-agent-security/SKILL.md +146 -0
- package/resources/ecc/skills/logistics-exception-management/SKILL.md +222 -0
- package/resources/ecc/skills/make-interfaces-feel-better/SKILL.md +151 -0
- package/resources/ecc/skills/manim-video/SKILL.md +89 -0
- package/resources/ecc/skills/manim-video/assets/network_graph_scene.py +52 -0
- package/resources/ecc/skills/market-research/SKILL.md +1 -0
- package/resources/ecc/skills/mcp-server-patterns/SKILL.md +3 -0
- package/resources/ecc/skills/messages-ops/SKILL.md +104 -0
- package/resources/ecc/skills/mle-workflow/SKILL.md +1 -1
- package/resources/ecc/skills/motion-advanced/SKILL.md +596 -0
- package/resources/ecc/skills/motion-foundations/SKILL.md +299 -0
- package/resources/ecc/skills/motion-patterns/SKILL.md +435 -0
- package/resources/ecc/skills/motion-ui/SKILL.md +575 -0
- package/resources/ecc/skills/mysql-patterns/SKILL.md +412 -0
- package/resources/ecc/skills/nanoclaw-repl/SKILL.md +33 -0
- package/resources/ecc/skills/nestjs-patterns/SKILL.md +230 -0
- package/resources/ecc/skills/netmiko-ssh-automation/SKILL.md +173 -0
- package/resources/ecc/skills/network-bgp-diagnostics/SKILL.md +167 -0
- package/resources/ecc/skills/network-config-validation/SKILL.md +210 -0
- package/resources/ecc/skills/network-interface-health/SKILL.md +152 -0
- package/resources/ecc/skills/nextjs-turbopack/SKILL.md +1 -0
- package/resources/ecc/skills/nodejs-keccak256/SKILL.md +102 -0
- package/resources/ecc/skills/nutrient-document-processing/SKILL.md +167 -0
- package/resources/ecc/skills/nuxt4-patterns/SKILL.md +100 -0
- package/resources/ecc/skills/openclaw-persona-forge/SKILL.md +288 -0
- package/resources/ecc/skills/openclaw-persona-forge/gacha.py +224 -0
- package/resources/ecc/skills/openclaw-persona-forge/gacha.sh +5 -0
- package/resources/ecc/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
- package/resources/ecc/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
- package/resources/ecc/skills/openclaw-persona-forge/references/error-handling.md +53 -0
- package/resources/ecc/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
- package/resources/ecc/skills/openclaw-persona-forge/references/naming-system.md +39 -0
- package/resources/ecc/skills/openclaw-persona-forge/references/output-template.md +166 -0
- package/resources/ecc/skills/opensource-pipeline/SKILL.md +255 -0
- package/resources/ecc/skills/perl-patterns/SKILL.md +504 -0
- package/resources/ecc/skills/perl-security/SKILL.md +503 -0
- package/resources/ecc/skills/perl-testing/SKILL.md +475 -0
- package/resources/ecc/skills/plan-orchestrate/SKILL.md +262 -0
- package/resources/ecc/skills/plankton-code-quality/SKILL.md +236 -0
- package/resources/ecc/skills/postgres-patterns/SKILL.md +147 -0
- package/resources/ecc/skills/product-capability/SKILL.md +1 -0
- package/resources/ecc/skills/product-lens/SKILL.md +92 -0
- package/resources/ecc/skills/production-audit/SKILL.md +206 -0
- package/resources/ecc/skills/production-scheduling/SKILL.md +238 -0
- package/resources/ecc/skills/project-flow-ops/SKILL.md +111 -0
- package/resources/ecc/skills/prompt-optimizer/SKILL.md +398 -0
- package/resources/ecc/skills/python-patterns/SKILL.md +750 -0
- package/resources/ecc/skills/python-testing/SKILL.md +816 -0
- package/resources/ecc/skills/pytorch-patterns/SKILL.md +396 -0
- package/resources/ecc/skills/quality-nonconformance/SKILL.md +260 -0
- package/resources/ecc/skills/quarkus-patterns/SKILL.md +722 -0
- package/resources/ecc/skills/quarkus-security/SKILL.md +467 -0
- package/resources/ecc/skills/quarkus-tdd/SKILL.md +811 -0
- package/resources/ecc/skills/quarkus-verification/SKILL.md +479 -0
- package/resources/ecc/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
- package/resources/ecc/skills/redis-patterns/SKILL.md +403 -0
- package/resources/ecc/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/resources/ecc/skills/remotion-video-creation/SKILL.md +43 -0
- package/resources/ecc/skills/remotion-video-creation/rules/3d.md +86 -0
- package/resources/ecc/skills/remotion-video-creation/rules/animations.md +29 -0
- package/resources/ecc/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
- package/resources/ecc/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
- package/resources/ecc/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/resources/ecc/skills/remotion-video-creation/rules/assets.md +78 -0
- package/resources/ecc/skills/remotion-video-creation/rules/audio.md +172 -0
- package/resources/ecc/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
- package/resources/ecc/skills/remotion-video-creation/rules/can-decode.md +75 -0
- package/resources/ecc/skills/remotion-video-creation/rules/charts.md +58 -0
- package/resources/ecc/skills/remotion-video-creation/rules/compositions.md +146 -0
- package/resources/ecc/skills/remotion-video-creation/rules/display-captions.md +126 -0
- package/resources/ecc/skills/remotion-video-creation/rules/extract-frames.md +229 -0
- package/resources/ecc/skills/remotion-video-creation/rules/fonts.md +152 -0
- package/resources/ecc/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
- package/resources/ecc/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
- package/resources/ecc/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
- package/resources/ecc/skills/remotion-video-creation/rules/gifs.md +138 -0
- package/resources/ecc/skills/remotion-video-creation/rules/images.md +130 -0
- package/resources/ecc/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
- package/resources/ecc/skills/remotion-video-creation/rules/lottie.md +67 -0
- package/resources/ecc/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
- package/resources/ecc/skills/remotion-video-creation/rules/measuring-text.md +143 -0
- package/resources/ecc/skills/remotion-video-creation/rules/sequencing.md +106 -0
- package/resources/ecc/skills/remotion-video-creation/rules/tailwind.md +11 -0
- package/resources/ecc/skills/remotion-video-creation/rules/text-animations.md +20 -0
- package/resources/ecc/skills/remotion-video-creation/rules/timing.md +179 -0
- package/resources/ecc/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
- package/resources/ecc/skills/remotion-video-creation/rules/transitions.md +122 -0
- package/resources/ecc/skills/remotion-video-creation/rules/trimming.md +52 -0
- package/resources/ecc/skills/remotion-video-creation/rules/videos.md +171 -0
- package/resources/ecc/skills/repo-scan/SKILL.md +78 -0
- package/resources/ecc/skills/research-ops/SKILL.md +112 -0
- package/resources/ecc/skills/returns-reverse-logistics/SKILL.md +240 -0
- package/resources/ecc/skills/rules-distill/SKILL.md +264 -0
- package/resources/ecc/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/resources/ecc/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/resources/ecc/skills/rust-patterns/SKILL.md +499 -0
- package/resources/ecc/skills/rust-testing/SKILL.md +500 -0
- package/resources/ecc/skills/safety-guard/SKILL.md +75 -0
- package/resources/ecc/skills/santa-method/SKILL.md +306 -0
- package/resources/ecc/skills/scientific-db-pubmed-database/SKILL.md +175 -0
- package/resources/ecc/skills/scientific-db-uspto-database/SKILL.md +177 -0
- package/resources/ecc/skills/scientific-pkg-gget/SKILL.md +166 -0
- package/resources/ecc/skills/scientific-thinking-literature-review/SKILL.md +192 -0
- package/resources/ecc/skills/scientific-thinking-scholar-evaluation/SKILL.md +160 -0
- package/resources/ecc/skills/search-first/SKILL.md +182 -0
- package/resources/ecc/skills/security-bounty-hunter/SKILL.md +99 -0
- package/resources/ecc/skills/security-review/SKILL.md +11 -2
- package/resources/ecc/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/resources/ecc/skills/security-scan/SKILL.md +165 -0
- package/resources/ecc/skills/seo/SKILL.md +154 -0
- package/resources/ecc/skills/skill-comply/SKILL.md +58 -0
- package/resources/ecc/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
- package/resources/ecc/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
- package/resources/ecc/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
- package/resources/ecc/skills/skill-comply/prompts/classifier.md +24 -0
- package/resources/ecc/skills/skill-comply/prompts/scenario_generator.md +62 -0
- package/resources/ecc/skills/skill-comply/prompts/spec_generator.md +42 -0
- package/resources/ecc/skills/skill-comply/pyproject.toml +15 -0
- package/resources/ecc/skills/skill-comply/scripts/__init__.py +0 -0
- package/resources/ecc/skills/skill-comply/scripts/classifier.py +85 -0
- package/resources/ecc/skills/skill-comply/scripts/grader.py +124 -0
- package/resources/ecc/skills/skill-comply/scripts/parser.py +107 -0
- package/resources/ecc/skills/skill-comply/scripts/report.py +170 -0
- package/resources/ecc/skills/skill-comply/scripts/run.py +127 -0
- package/resources/ecc/skills/skill-comply/scripts/runner.py +186 -0
- package/resources/ecc/skills/skill-comply/scripts/scenario_generator.py +70 -0
- package/resources/ecc/skills/skill-comply/scripts/spec_generator.py +72 -0
- package/resources/ecc/skills/skill-comply/scripts/utils.py +13 -0
- package/resources/ecc/skills/skill-comply/tests/test_grader.py +197 -0
- package/resources/ecc/skills/skill-comply/tests/test_parser.py +90 -0
- package/resources/ecc/skills/skill-comply/tests/test_runner.py +172 -0
- package/resources/ecc/skills/skill-scout/SKILL.md +140 -0
- package/resources/ecc/skills/skill-stocktake/SKILL.md +194 -0
- package/resources/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/resources/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
- package/resources/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
- package/resources/ecc/skills/social-graph-ranker/SKILL.md +154 -0
- package/resources/ecc/skills/springboot-patterns/SKILL.md +314 -0
- package/resources/ecc/skills/springboot-security/SKILL.md +272 -0
- package/resources/ecc/skills/springboot-tdd/SKILL.md +158 -0
- package/resources/ecc/skills/springboot-verification/SKILL.md +231 -0
- package/resources/ecc/skills/strategic-compact/SKILL.md +31 -2
- package/resources/ecc/skills/strategic-compact/suggest-compact.sh +54 -0
- package/resources/ecc/skills/swift-actor-persistence/SKILL.md +143 -0
- package/resources/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/resources/ecc/skills/swift-protocol-di-testing/SKILL.md +190 -0
- package/resources/ecc/skills/swiftui-patterns/SKILL.md +259 -0
- package/resources/ecc/skills/tdd-workflow/SKILL.md +54 -0
- package/resources/ecc/skills/team-builder/SKILL.md +168 -0
- package/resources/ecc/skills/terminal-ops/SKILL.md +109 -0
- package/resources/ecc/skills/tinystruct-patterns/SKILL.md +131 -0
- package/resources/ecc/skills/tinystruct-patterns/references/architecture.md +77 -0
- package/resources/ecc/skills/tinystruct-patterns/references/data-handling.md +35 -0
- package/resources/ecc/skills/tinystruct-patterns/references/routing.md +57 -0
- package/resources/ecc/skills/tinystruct-patterns/references/system-usage.md +74 -0
- package/resources/ecc/skills/tinystruct-patterns/references/testing.md +59 -0
- package/resources/ecc/skills/token-budget-advisor/SKILL.md +133 -0
- package/resources/ecc/skills/ui-demo/SKILL.md +465 -0
- package/resources/ecc/skills/ui-to-vue/SKILL.md +134 -0
- package/resources/ecc/skills/unified-notifications-ops/SKILL.md +187 -0
- package/resources/ecc/skills/verification-loop/SKILL.md +1 -0
- package/resources/ecc/skills/video-editing/SKILL.md +4 -1
- package/resources/ecc/skills/videodb/SKILL.md +374 -0
- package/resources/ecc/skills/videodb/reference/api-reference.md +550 -0
- package/resources/ecc/skills/videodb/reference/capture-reference.md +407 -0
- package/resources/ecc/skills/videodb/reference/capture.md +101 -0
- package/resources/ecc/skills/videodb/reference/editor.md +443 -0
- package/resources/ecc/skills/videodb/reference/generative.md +331 -0
- package/resources/ecc/skills/videodb/reference/rtstream-reference.md +564 -0
- package/resources/ecc/skills/videodb/reference/rtstream.md +65 -0
- package/resources/ecc/skills/videodb/reference/search.md +230 -0
- package/resources/ecc/skills/videodb/reference/streaming.md +406 -0
- package/resources/ecc/skills/videodb/reference/use-cases.md +118 -0
- package/resources/ecc/skills/videodb/scripts/ws_listener.py +282 -0
- package/resources/ecc/skills/visa-doc-translate/README.md +86 -0
- package/resources/ecc/skills/visa-doc-translate/SKILL.md +117 -0
- package/resources/ecc/skills/vite-patterns/SKILL.md +449 -0
- package/resources/ecc/skills/windows-desktop-e2e/SKILL.md +788 -0
- package/resources/ecc/skills/workspace-surface-audit/SKILL.md +125 -0
- package/resources/ecc/skills/x-api/SKILL.md +5 -0
- package/resources/ecc/agents/architect.json +0 -16
- package/resources/ecc/agents/build-error-resolver.json +0 -17
- package/resources/ecc/agents/chief-of-staff.json +0 -17
- package/resources/ecc/agents/code-reviewer.json +0 -16
- package/resources/ecc/agents/database-reviewer.json +0 -16
- package/resources/ecc/agents/doc-updater.json +0 -16
- package/resources/ecc/agents/e2e-runner.json +0 -17
- package/resources/ecc/agents/go-build-resolver.json +0 -17
- package/resources/ecc/agents/go-reviewer.json +0 -16
- package/resources/ecc/agents/harness-optimizer.json +0 -15
- package/resources/ecc/agents/loop-operator.json +0 -16
- package/resources/ecc/agents/planner.json +0 -15
- package/resources/ecc/agents/python-reviewer.json +0 -16
- package/resources/ecc/agents/refactor-cleaner.json +0 -17
- package/resources/ecc/agents/security-reviewer.json +0 -16
- package/resources/ecc/agents/tdd-guide.json +0 -17
- package/resources/ecc/commands/add-language-rules.md +0 -39
- package/resources/ecc/commands/database-migration.md +0 -36
- package/resources/ecc/commands/feature-development.md +0 -38
- package/resources/ecc/rules/common-development-workflow.md +0 -33
- package/resources/ecc/rules/kotlin-coding-style.md +0 -39
- package/resources/ecc/rules/kotlin-patterns.md +0 -50
- package/resources/ecc/rules/kotlin-security.md +0 -58
- package/resources/ecc/rules/kotlin-testing.md +0 -38
- package/resources/ecc/rules/php-coding-style.md +0 -25
- package/resources/ecc/rules/php-patterns.md +0 -23
- package/resources/ecc/rules/php-security.md +0 -24
- package/resources/ecc/rules/php-testing.md +0 -26
- package/resources/ecc/rules/swift-hooks.md +0 -20
- package/resources/ecc/rules/typescript-coding-style.md +0 -63
- package/resources/ecc/rules/typescript-testing.md +0 -16
- package/resources/ecc/skills/agent-introspection-debugging/agents/openai.yaml +0 -7
- package/resources/ecc/skills/agent-sort/agents/openai.yaml +0 -7
- package/resources/ecc/skills/api-design/agents/openai.yaml +0 -7
- package/resources/ecc/skills/article-writing/agents/openai.yaml +0 -7
- package/resources/ecc/skills/backend-patterns/agents/openai.yaml +0 -7
- package/resources/ecc/skills/brand-voice/agents/openai.yaml +0 -7
- package/resources/ecc/skills/bun-runtime/agents/openai.yaml +0 -7
- package/resources/ecc/skills/coding-standards/agents/openai.yaml +0 -7
- package/resources/ecc/skills/content-engine/agents/openai.yaml +0 -7
- package/resources/ecc/skills/crosspost/agents/openai.yaml +0 -7
- package/resources/ecc/skills/deep-research/agents/openai.yaml +0 -7
- package/resources/ecc/skills/dmux-workflows/agents/openai.yaml +0 -7
- package/resources/ecc/skills/documentation-lookup/agents/openai.yaml +0 -7
- package/resources/ecc/skills/e2e-testing/agents/openai.yaml +0 -7
- package/resources/ecc/skills/eval-harness/agents/openai.yaml +0 -7
- package/resources/ecc/skills/everything-claude-code/SKILL.md +0 -442
- package/resources/ecc/skills/everything-claude-code/agents/openai.yaml +0 -7
- package/resources/ecc/skills/exa-search/agents/openai.yaml +0 -7
- package/resources/ecc/skills/fal-ai-media/agents/openai.yaml +0 -7
- package/resources/ecc/skills/frontend-patterns/agents/openai.yaml +0 -7
- package/resources/ecc/skills/frontend-slides/agents/openai.yaml +0 -7
- package/resources/ecc/skills/investor-materials/agents/openai.yaml +0 -7
- package/resources/ecc/skills/investor-outreach/agents/openai.yaml +0 -7
- package/resources/ecc/skills/market-research/agents/openai.yaml +0 -7
- package/resources/ecc/skills/mcp-server-patterns/agents/openai.yaml +0 -7
- package/resources/ecc/skills/mle-workflow/agents/openai.yaml +0 -7
- package/resources/ecc/skills/nextjs-turbopack/agents/openai.yaml +0 -7
- package/resources/ecc/skills/product-capability/agents/openai.yaml +0 -7
- package/resources/ecc/skills/security-review/agents/openai.yaml +0 -7
- package/resources/ecc/skills/strategic-compact/agents/openai.yaml +0 -7
- package/resources/ecc/skills/tdd-workflow/agents/openai.yaml +0 -7
- package/resources/ecc/skills/verification-loop/agents/openai.yaml +0 -7
- package/resources/ecc/skills/video-editing/agents/openai.yaml +0 -7
- package/resources/ecc/skills/x-api/agents/openai.yaml +0 -7
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Restate requirements, assess risks, and create step-by-step implementation plan. WAIT for user CONFIRM before touching any code.
|
|
3
|
+
argument-hint: "[feature description | path/to/*.prd.md]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plan Command
|
|
7
|
+
|
|
8
|
+
This command creates a comprehensive implementation plan before writing any code. It accepts either free-form requirements or a PRD markdown file.
|
|
9
|
+
|
|
10
|
+
Run inline by default. Do not call the Task tool or any subagent by default. This keeps `/plan` usable from plugin installs that ship commands without agent files.
|
|
11
|
+
|
|
12
|
+
## What This Command Does
|
|
13
|
+
|
|
14
|
+
1. **Restate Requirements** - Clarify what needs to be built
|
|
15
|
+
2. **Identify Risks** - Surface potential issues and blockers
|
|
16
|
+
3. **Create Step Plan** - Break down implementation into phases
|
|
17
|
+
4. **Wait for Confirmation** - MUST receive user approval before proceeding
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
Use `/plan` when:
|
|
22
|
+
- Starting a new feature
|
|
23
|
+
- Making significant architectural changes
|
|
24
|
+
- Working on complex refactoring
|
|
25
|
+
- Multiple files/components will be affected
|
|
26
|
+
- Requirements are unclear or ambiguous
|
|
27
|
+
|
|
28
|
+
## How It Works
|
|
29
|
+
|
|
30
|
+
The assistant will:
|
|
31
|
+
|
|
32
|
+
1. **Analyze the request** and restate requirements in clear terms
|
|
33
|
+
2. **Ground the plan** in relevant codebase patterns when the repo is available
|
|
34
|
+
3. **Break down into phases** with specific, actionable steps
|
|
35
|
+
4. **Identify dependencies** between components
|
|
36
|
+
5. **Assess risks** and potential blockers
|
|
37
|
+
6. **Estimate complexity** (High/Medium/Low)
|
|
38
|
+
7. **Present the plan** and WAIT for your explicit confirmation
|
|
39
|
+
|
|
40
|
+
## Input Modes
|
|
41
|
+
|
|
42
|
+
| Input | Mode | Behavior |
|
|
43
|
+
|---|---|---|
|
|
44
|
+
| `path/to/name.prd.md` | PRD artifact mode | Read the PRD, pick the next pending delivery milestone or implementation phase, and write `.claude/plans/{name}.plan.md` |
|
|
45
|
+
| Any other markdown path | Reference mode | Read the file as context and produce an inline plan |
|
|
46
|
+
| Free-form text | Conversational mode | Produce an inline plan |
|
|
47
|
+
| Empty input | Clarification mode | Ask what should be planned |
|
|
48
|
+
|
|
49
|
+
In PRD artifact mode, create `.claude/plans/` if needed. If the PRD contains a `Delivery Milestones` table, update only the selected row from `pending` to `in-progress` and set its `Plan` cell to the generated plan path. If the PRD uses the legacy `.claude/PRPs/prds/` format with `Implementation Phases`, read it without migrating paths.
|
|
50
|
+
|
|
51
|
+
## Pattern Grounding
|
|
52
|
+
|
|
53
|
+
Before writing the plan, search the codebase for conventions the implementation should mirror. Capture the top example for each relevant category with file references:
|
|
54
|
+
|
|
55
|
+
| Category | What to capture |
|
|
56
|
+
|---|---|
|
|
57
|
+
| Naming | File, function, type, command, or script naming in the affected area |
|
|
58
|
+
| Error handling | How failures are raised, returned, logged, or handled gracefully |
|
|
59
|
+
| Logging | Levels, format, and what gets logged |
|
|
60
|
+
| Data access | Repository, service, query, or filesystem patterns |
|
|
61
|
+
| Tests | Test file location, framework, fixtures, and assertion style |
|
|
62
|
+
|
|
63
|
+
If no similar code exists, state that explicitly. Do not invent a pattern.
|
|
64
|
+
|
|
65
|
+
## PRD Artifact Output
|
|
66
|
+
|
|
67
|
+
When called with a `.prd.md` file, write the plan to `.claude/plans/{kebab-case-name}.plan.md` using this structure:
|
|
68
|
+
|
|
69
|
+
````markdown
|
|
70
|
+
# Plan: {Feature Name}
|
|
71
|
+
|
|
72
|
+
**Source PRD**: {path}
|
|
73
|
+
**Selected Milestone**: {milestone or phase name}
|
|
74
|
+
**Complexity**: {Small | Medium | Large}
|
|
75
|
+
|
|
76
|
+
## Summary
|
|
77
|
+
{2-3 sentences}
|
|
78
|
+
|
|
79
|
+
## Patterns to Mirror
|
|
80
|
+
| Category | Source | Pattern |
|
|
81
|
+
|---|---|---|
|
|
82
|
+
| Naming | `path:line` | {short description} |
|
|
83
|
+
| Errors | `path:line` | {short description} |
|
|
84
|
+
| Tests | `path:line` | {short description} |
|
|
85
|
+
|
|
86
|
+
## Files to Change
|
|
87
|
+
| File | Action | Why |
|
|
88
|
+
|---|---|---|
|
|
89
|
+
| `path` | CREATE / UPDATE / DELETE | {reason} |
|
|
90
|
+
|
|
91
|
+
## Tasks
|
|
92
|
+
### Task 1: {name}
|
|
93
|
+
- **Action**: {what to do}
|
|
94
|
+
- **Mirror**: {pattern to follow}
|
|
95
|
+
- **Validate**: {command that proves correctness}
|
|
96
|
+
|
|
97
|
+
## Validation
|
|
98
|
+
```bash
|
|
99
|
+
{project-specific validation commands}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Risks
|
|
103
|
+
| Risk | Likelihood | Mitigation |
|
|
104
|
+
|---|---|---|
|
|
105
|
+
|
|
106
|
+
## Acceptance
|
|
107
|
+
- [ ] All tasks complete
|
|
108
|
+
- [ ] Validation passes
|
|
109
|
+
- [ ] Patterns mirrored, not reinvented
|
|
110
|
+
````
|
|
111
|
+
|
|
112
|
+
After writing the artifact, report its path and WAIT for confirmation before writing code.
|
|
113
|
+
|
|
114
|
+
## Example Usage
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
User: /plan I need to add real-time notifications when markets resolve
|
|
118
|
+
|
|
119
|
+
Assistant:
|
|
120
|
+
# Implementation Plan: Real-Time Market Resolution Notifications
|
|
121
|
+
|
|
122
|
+
## Requirements Restatement
|
|
123
|
+
- Send notifications to users when markets they're watching resolve
|
|
124
|
+
- Support multiple notification channels (in-app, email, webhook)
|
|
125
|
+
- Ensure notifications are delivered reliably
|
|
126
|
+
- Include market outcome and user's position result
|
|
127
|
+
|
|
128
|
+
## Implementation Phases
|
|
129
|
+
|
|
130
|
+
### Phase 1: Database Schema
|
|
131
|
+
- Add notifications table with columns: id, user_id, market_id, type, status, created_at
|
|
132
|
+
- Add user_notification_preferences table for channel preferences
|
|
133
|
+
- Create indexes on user_id and market_id for performance
|
|
134
|
+
|
|
135
|
+
### Phase 2: Notification Service
|
|
136
|
+
- Create notification service in lib/notifications.ts
|
|
137
|
+
- Implement notification queue using BullMQ/Redis
|
|
138
|
+
- Add retry logic for failed deliveries
|
|
139
|
+
- Create notification templates
|
|
140
|
+
|
|
141
|
+
### Phase 3: Integration Points
|
|
142
|
+
- Hook into market resolution logic (when status changes to "resolved")
|
|
143
|
+
- Query all users with positions in market
|
|
144
|
+
- Enqueue notifications for each user
|
|
145
|
+
|
|
146
|
+
### Phase 4: Frontend Components
|
|
147
|
+
- Create NotificationBell component in header
|
|
148
|
+
- Add NotificationList modal
|
|
149
|
+
- Implement real-time updates via Supabase subscriptions
|
|
150
|
+
- Add notification preferences page
|
|
151
|
+
|
|
152
|
+
## Dependencies
|
|
153
|
+
- Redis (for queue)
|
|
154
|
+
- Email service (SendGrid/Resend)
|
|
155
|
+
- Supabase real-time subscriptions
|
|
156
|
+
|
|
157
|
+
## Risks
|
|
158
|
+
- HIGH: Email deliverability (SPF/DKIM required)
|
|
159
|
+
- MEDIUM: Performance with 1000+ users per market
|
|
160
|
+
- MEDIUM: Notification spam if markets resolve frequently
|
|
161
|
+
- LOW: Real-time subscription overhead
|
|
162
|
+
|
|
163
|
+
## Estimated Complexity: MEDIUM
|
|
164
|
+
- Backend: 4-6 hours
|
|
165
|
+
- Frontend: 3-4 hours
|
|
166
|
+
- Testing: 2-3 hours
|
|
167
|
+
- Total: 9-13 hours
|
|
168
|
+
|
|
169
|
+
**WAITING FOR CONFIRMATION**: Proceed with this plan? (yes/no/modify)
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Important Notes
|
|
173
|
+
|
|
174
|
+
**CRITICAL**: This command will **NOT** write any code until you explicitly confirm the plan with "yes" or "proceed" or similar affirmative response.
|
|
175
|
+
|
|
176
|
+
If you want changes, respond with:
|
|
177
|
+
- "modify: [your changes]"
|
|
178
|
+
- "different approach: [alternative]"
|
|
179
|
+
- "skip phase 2 and do phase 3 first"
|
|
180
|
+
|
|
181
|
+
## Integration with Other Commands
|
|
182
|
+
|
|
183
|
+
After planning:
|
|
184
|
+
- Use the `tdd-workflow` skill to implement with test-driven development
|
|
185
|
+
- Use `/build-fix` if build errors occur
|
|
186
|
+
- Use `/code-review` to review completed implementation
|
|
187
|
+
- Use `/pr` or `/prp-pr` to open a pull request
|
|
188
|
+
|
|
189
|
+
> **Need requirements first?** Use `/plan-prd` for a lean PRD at `.claude/prds/{name}.prd.md`.
|
|
190
|
+
>
|
|
191
|
+
> **Need the legacy PRP flow?** Use `/prp-plan` for deep PRP planning with `.claude/PRPs/` artifacts. Use `/prp-implement` to execute those plans with rigorous validation loops.
|
|
192
|
+
|
|
193
|
+
## Optional Planner Agent
|
|
194
|
+
|
|
195
|
+
ECC also provides a `planner` agent for manual installs that include agent files. Use it only when the local runtime already exposes that subagent and the user explicitly asks you to delegate planning.
|
|
196
|
+
|
|
197
|
+
If the `planner` subagent is unavailable, continue planning inline instead of surfacing an "Agent type 'planner' not found" error.
|
|
198
|
+
|
|
199
|
+
For manual installs, the source file lives at:
|
|
200
|
+
`agents/planner.md`
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Analyze a project and generate PM2 service commands for detected frontend, backend, or database services.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# PM2 Init
|
|
6
|
+
|
|
7
|
+
Auto-analyze project and generate PM2 service commands.
|
|
8
|
+
|
|
9
|
+
**Command**: `$ARGUMENTS`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Check PM2 (install via `npm install -g pm2` if missing)
|
|
16
|
+
2. Scan project to identify services (frontend/backend/database)
|
|
17
|
+
3. Generate config files and individual command files
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Service Detection
|
|
22
|
+
|
|
23
|
+
| Type | Detection | Default Port |
|
|
24
|
+
|------|-----------|--------------|
|
|
25
|
+
| Vite | vite.config.* | 5173 |
|
|
26
|
+
| Next.js | next.config.* | 3000 |
|
|
27
|
+
| Nuxt | nuxt.config.* | 3000 |
|
|
28
|
+
| CRA | react-scripts in package.json | 3000 |
|
|
29
|
+
| Express/Node | server/backend/api directory + package.json | 3000 |
|
|
30
|
+
| FastAPI/Flask | requirements.txt / pyproject.toml | 8000 |
|
|
31
|
+
| Go | go.mod / main.go | 8080 |
|
|
32
|
+
|
|
33
|
+
**Port Detection Priority**: User specified > .env > config file > scripts args > default port
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Generated Files
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
project/
|
|
41
|
+
├── ecosystem.config.cjs # PM2 config
|
|
42
|
+
├── {backend}/start.cjs # Python wrapper (if applicable)
|
|
43
|
+
└── .claude/
|
|
44
|
+
├── commands/
|
|
45
|
+
│ ├── pm2-all.md # Start all + monit
|
|
46
|
+
│ ├── pm2-all-stop.md # Stop all
|
|
47
|
+
│ ├── pm2-all-restart.md # Restart all
|
|
48
|
+
│ ├── pm2-{port}.md # Start single + logs
|
|
49
|
+
│ ├── pm2-{port}-stop.md # Stop single
|
|
50
|
+
│ ├── pm2-{port}-restart.md # Restart single
|
|
51
|
+
│ ├── pm2-logs.md # View all logs
|
|
52
|
+
│ └── pm2-status.md # View status
|
|
53
|
+
└── scripts/
|
|
54
|
+
├── pm2-logs-{port}.ps1 # Single service logs
|
|
55
|
+
└── pm2-monit.ps1 # PM2 monitor
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Windows Configuration (IMPORTANT)
|
|
61
|
+
|
|
62
|
+
### ecosystem.config.cjs
|
|
63
|
+
|
|
64
|
+
**Must use `.cjs` extension**
|
|
65
|
+
|
|
66
|
+
```javascript
|
|
67
|
+
module.exports = {
|
|
68
|
+
apps: [
|
|
69
|
+
// Node.js (Vite/Next/Nuxt)
|
|
70
|
+
{
|
|
71
|
+
name: 'project-3000',
|
|
72
|
+
cwd: './packages/web',
|
|
73
|
+
script: 'node_modules/vite/bin/vite.js',
|
|
74
|
+
args: '--port 3000',
|
|
75
|
+
interpreter: 'C:/Program Files/nodejs/node.exe',
|
|
76
|
+
env: { NODE_ENV: 'development' }
|
|
77
|
+
},
|
|
78
|
+
// Python
|
|
79
|
+
{
|
|
80
|
+
name: 'project-8000',
|
|
81
|
+
cwd: './backend',
|
|
82
|
+
script: 'start.cjs',
|
|
83
|
+
interpreter: 'C:/Program Files/nodejs/node.exe',
|
|
84
|
+
env: { PYTHONUNBUFFERED: '1' }
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Framework script paths:**
|
|
91
|
+
|
|
92
|
+
| Framework | script | args |
|
|
93
|
+
|-----------|--------|------|
|
|
94
|
+
| Vite | `node_modules/vite/bin/vite.js` | `--port {port}` |
|
|
95
|
+
| Next.js | `node_modules/next/dist/bin/next` | `dev -p {port}` |
|
|
96
|
+
| Nuxt | `node_modules/nuxt/bin/nuxt.mjs` | `dev --port {port}` |
|
|
97
|
+
| Express | `src/index.js` or `server.js` | - |
|
|
98
|
+
|
|
99
|
+
### Python Wrapper Script (start.cjs)
|
|
100
|
+
|
|
101
|
+
```javascript
|
|
102
|
+
const { spawn } = require('child_process');
|
|
103
|
+
const proc = spawn('python', ['-m', 'uvicorn', 'app.main:app', '--host', '0.0.0.0', '--port', '8000', '--reload'], {
|
|
104
|
+
cwd: __dirname, stdio: 'inherit', windowsHide: true
|
|
105
|
+
});
|
|
106
|
+
proc.on('close', (code) => process.exit(code));
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Command File Templates (Minimal Content)
|
|
112
|
+
|
|
113
|
+
### pm2-all.md (Start all + monit)
|
|
114
|
+
````markdown
|
|
115
|
+
Start all services and open PM2 monitor.
|
|
116
|
+
```bash
|
|
117
|
+
cd "{PROJECT_ROOT}" && pm2 start ecosystem.config.cjs && start wt.exe -d "{PROJECT_ROOT}" pwsh -NoExit -c "pm2 monit"
|
|
118
|
+
```
|
|
119
|
+
````
|
|
120
|
+
|
|
121
|
+
### pm2-all-stop.md
|
|
122
|
+
````markdown
|
|
123
|
+
Stop all services.
|
|
124
|
+
```bash
|
|
125
|
+
cd "{PROJECT_ROOT}" && pm2 stop all
|
|
126
|
+
```
|
|
127
|
+
````
|
|
128
|
+
|
|
129
|
+
### pm2-all-restart.md
|
|
130
|
+
````markdown
|
|
131
|
+
Restart all services.
|
|
132
|
+
```bash
|
|
133
|
+
cd "{PROJECT_ROOT}" && pm2 restart all
|
|
134
|
+
```
|
|
135
|
+
````
|
|
136
|
+
|
|
137
|
+
### pm2-{port}.md (Start single + logs)
|
|
138
|
+
````markdown
|
|
139
|
+
Start {name} ({port}) and open logs.
|
|
140
|
+
```bash
|
|
141
|
+
cd "{PROJECT_ROOT}" && pm2 start ecosystem.config.cjs --only {name} && start wt.exe -d "{PROJECT_ROOT}" pwsh -NoExit -c "pm2 logs {name}"
|
|
142
|
+
```
|
|
143
|
+
````
|
|
144
|
+
|
|
145
|
+
### pm2-{port}-stop.md
|
|
146
|
+
````markdown
|
|
147
|
+
Stop {name} ({port}).
|
|
148
|
+
```bash
|
|
149
|
+
cd "{PROJECT_ROOT}" && pm2 stop {name}
|
|
150
|
+
```
|
|
151
|
+
````
|
|
152
|
+
|
|
153
|
+
### pm2-{port}-restart.md
|
|
154
|
+
````markdown
|
|
155
|
+
Restart {name} ({port}).
|
|
156
|
+
```bash
|
|
157
|
+
cd "{PROJECT_ROOT}" && pm2 restart {name}
|
|
158
|
+
```
|
|
159
|
+
````
|
|
160
|
+
|
|
161
|
+
### pm2-logs.md
|
|
162
|
+
````markdown
|
|
163
|
+
View all PM2 logs.
|
|
164
|
+
```bash
|
|
165
|
+
cd "{PROJECT_ROOT}" && pm2 logs
|
|
166
|
+
```
|
|
167
|
+
````
|
|
168
|
+
|
|
169
|
+
### pm2-status.md
|
|
170
|
+
````markdown
|
|
171
|
+
View PM2 status.
|
|
172
|
+
```bash
|
|
173
|
+
cd "{PROJECT_ROOT}" && pm2 status
|
|
174
|
+
```
|
|
175
|
+
````
|
|
176
|
+
|
|
177
|
+
### PowerShell Scripts (pm2-logs-{port}.ps1)
|
|
178
|
+
```powershell
|
|
179
|
+
Set-Location "{PROJECT_ROOT}"
|
|
180
|
+
pm2 logs {name}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### PowerShell Scripts (pm2-monit.ps1)
|
|
184
|
+
```powershell
|
|
185
|
+
Set-Location "{PROJECT_ROOT}"
|
|
186
|
+
pm2 monit
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Key Rules
|
|
192
|
+
|
|
193
|
+
1. **Config file**: `ecosystem.config.cjs` (not .js)
|
|
194
|
+
2. **Node.js**: Specify bin path directly + interpreter
|
|
195
|
+
3. **Python**: Node.js wrapper script + `windowsHide: true`
|
|
196
|
+
4. **Open new window**: `start wt.exe -d "{path}" pwsh -NoExit -c "command"`
|
|
197
|
+
5. **Minimal content**: Each command file has only 1-2 lines description + bash block
|
|
198
|
+
6. **Direct execution**: No AI parsing needed, just run the bash command
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Execute
|
|
203
|
+
|
|
204
|
+
Based on `$ARGUMENTS`, execute init:
|
|
205
|
+
|
|
206
|
+
1. Scan project for services
|
|
207
|
+
2. Generate `ecosystem.config.cjs`
|
|
208
|
+
3. Generate `{backend}/start.cjs` for Python services (if applicable)
|
|
209
|
+
4. Generate command files in `.claude/commands/`
|
|
210
|
+
5. Generate script files in `.claude/scripts/`
|
|
211
|
+
6. **Update project CLAUDE.md** with PM2 info (see below)
|
|
212
|
+
7. **Display completion summary** with terminal commands
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Post-Init: Update CLAUDE.md
|
|
217
|
+
|
|
218
|
+
After generating files, append PM2 section to project's `CLAUDE.md` (create if not exists):
|
|
219
|
+
|
|
220
|
+
````markdown
|
|
221
|
+
## PM2 Services
|
|
222
|
+
|
|
223
|
+
| Port | Name | Type |
|
|
224
|
+
|------|------|------|
|
|
225
|
+
| {port} | {name} | {type} |
|
|
226
|
+
|
|
227
|
+
**Terminal Commands:**
|
|
228
|
+
```bash
|
|
229
|
+
pm2 start ecosystem.config.cjs # First time
|
|
230
|
+
pm2 start all # After first time
|
|
231
|
+
pm2 stop all / pm2 restart all
|
|
232
|
+
pm2 start {name} / pm2 stop {name}
|
|
233
|
+
pm2 logs / pm2 status / pm2 monit
|
|
234
|
+
pm2 save # Save process list
|
|
235
|
+
pm2 resurrect # Restore saved list
|
|
236
|
+
```
|
|
237
|
+
````
|
|
238
|
+
|
|
239
|
+
**Rules for CLAUDE.md update:**
|
|
240
|
+
- If PM2 section exists, replace it
|
|
241
|
+
- If not exists, append to end
|
|
242
|
+
- Keep content minimal and essential
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Post-Init: Display Summary
|
|
247
|
+
|
|
248
|
+
After all files generated, output:
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
## PM2 Init Complete
|
|
252
|
+
|
|
253
|
+
**Services:**
|
|
254
|
+
|
|
255
|
+
| Port | Name | Type |
|
|
256
|
+
|------|------|------|
|
|
257
|
+
| {port} | {name} | {type} |
|
|
258
|
+
|
|
259
|
+
**Claude Commands:** /pm2-all, /pm2-all-stop, /pm2-{port}, /pm2-{port}-stop, /pm2-logs, /pm2-status
|
|
260
|
+
|
|
261
|
+
**Terminal Commands:**
|
|
262
|
+
## First time (with config file)
|
|
263
|
+
pm2 start ecosystem.config.cjs && pm2 save
|
|
264
|
+
|
|
265
|
+
## After first time (simplified)
|
|
266
|
+
pm2 start all # Start all
|
|
267
|
+
pm2 stop all # Stop all
|
|
268
|
+
pm2 restart all # Restart all
|
|
269
|
+
pm2 start {name} # Start single
|
|
270
|
+
pm2 stop {name} # Stop single
|
|
271
|
+
pm2 logs # View logs
|
|
272
|
+
pm2 monit # Monitor panel
|
|
273
|
+
pm2 resurrect # Restore saved processes
|
|
274
|
+
|
|
275
|
+
**Tip:** Run `pm2 save` after first start to enable simplified commands.
|
|
276
|
+
```
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Create a GitHub PR from current branch with unpushed commits — discovers templates, analyzes changes, pushes"
|
|
3
|
+
argument-hint: "[base-branch] (default: main)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create Pull Request
|
|
7
|
+
|
|
8
|
+
**Input**: `$ARGUMENTS` — optional, may contain a base branch name and/or flags (e.g., `--draft`).
|
|
9
|
+
|
|
10
|
+
**Parse `$ARGUMENTS`**:
|
|
11
|
+
- Extract any recognized flags (`--draft`)
|
|
12
|
+
- Treat remaining non-flag text as the base branch name
|
|
13
|
+
- Default base branch to `main` if none specified
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Phase 1 — VALIDATE
|
|
18
|
+
|
|
19
|
+
Check preconditions:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
git branch --show-current
|
|
23
|
+
git status --short
|
|
24
|
+
git log origin/<base>..HEAD --oneline
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
| Check | Condition | Action if Failed |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| Not on base branch | Current branch ≠ base | Stop: "Switch to a feature branch first." |
|
|
30
|
+
| Clean working directory | No uncommitted changes | Warn: "You have uncommitted changes. Commit or stash first." |
|
|
31
|
+
| Has commits ahead | `git log origin/<base>..HEAD` not empty | Stop: "No commits ahead of `<base>`. Nothing to PR." |
|
|
32
|
+
| No existing PR | `gh pr list --head <branch> --json number` is empty | Stop: "PR already exists: #<number>. Use `gh pr view <number> --web` to open it." |
|
|
33
|
+
|
|
34
|
+
If all checks pass, proceed.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Phase 2 — DISCOVER
|
|
39
|
+
|
|
40
|
+
### PR Template
|
|
41
|
+
|
|
42
|
+
Search for PR template in order:
|
|
43
|
+
|
|
44
|
+
1. `.github/PULL_REQUEST_TEMPLATE/` directory — if exists, list files and let user choose (or use `default.md`)
|
|
45
|
+
2. `.github/PULL_REQUEST_TEMPLATE.md`
|
|
46
|
+
3. `.github/pull_request_template.md`
|
|
47
|
+
4. `docs/pull_request_template.md`
|
|
48
|
+
|
|
49
|
+
If found, read it and use its structure for the PR body.
|
|
50
|
+
|
|
51
|
+
### Commit Analysis
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
git log origin/<base>..HEAD --format="%h %s" --reverse
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Analyze commits to determine:
|
|
58
|
+
- **PR title**: Use conventional commit format with type prefix — `feat: ...`, `fix: ...`, etc.
|
|
59
|
+
- If multiple types, use the dominant one
|
|
60
|
+
- If single commit, use its message as-is
|
|
61
|
+
- **Change summary**: Group commits by type/area
|
|
62
|
+
|
|
63
|
+
### File Analysis
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
git diff origin/<base>..HEAD --stat
|
|
67
|
+
git diff origin/<base>..HEAD --name-only
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Categorize changed files: source, tests, docs, config, migrations.
|
|
71
|
+
|
|
72
|
+
### Planning Artifacts
|
|
73
|
+
|
|
74
|
+
Check for related artifacts produced by `/plan-prd`, `/plan`, or the legacy PRP workflow:
|
|
75
|
+
- `.claude/prds/` — PRDs this PR implements a milestone of
|
|
76
|
+
- `.claude/plans/` — Plans executed by this PR
|
|
77
|
+
- `.claude/PRPs/prds/` — legacy PRP PRDs
|
|
78
|
+
- `.claude/PRPs/plans/` — legacy PRP implementation plans
|
|
79
|
+
- `.claude/PRPs/reports/` — legacy PRP implementation reports
|
|
80
|
+
|
|
81
|
+
Reference these in the PR body if they exist.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Phase 3 — PUSH
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
git push -u origin HEAD
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
If push fails due to divergence:
|
|
92
|
+
```bash
|
|
93
|
+
git fetch origin
|
|
94
|
+
git rebase origin/<base>
|
|
95
|
+
git push -u origin HEAD
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
If rebase conflicts occur, stop and inform the user.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Phase 4 — CREATE
|
|
103
|
+
|
|
104
|
+
### With Template
|
|
105
|
+
|
|
106
|
+
If a PR template was found in Phase 2, fill in each section using the commit and file analysis. Preserve all template sections — leave sections as "N/A" if not applicable rather than removing them.
|
|
107
|
+
|
|
108
|
+
### Without Template
|
|
109
|
+
|
|
110
|
+
Use this default format:
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
## Summary
|
|
114
|
+
|
|
115
|
+
<1-2 sentence description of what this PR does and why>
|
|
116
|
+
|
|
117
|
+
## Changes
|
|
118
|
+
|
|
119
|
+
<bulleted list of changes grouped by area>
|
|
120
|
+
|
|
121
|
+
## Files Changed
|
|
122
|
+
|
|
123
|
+
<table or list of changed files with change type: Added/Modified/Deleted>
|
|
124
|
+
|
|
125
|
+
## Testing
|
|
126
|
+
|
|
127
|
+
<description of how changes were tested, or "Needs testing">
|
|
128
|
+
|
|
129
|
+
## Related Issues
|
|
130
|
+
|
|
131
|
+
<linked issues with Closes/Fixes/Relates to #N, or "None">
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Create the PR
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
gh pr create \
|
|
138
|
+
--title "<PR title>" \
|
|
139
|
+
--base <base-branch> \
|
|
140
|
+
--body "<PR body>"
|
|
141
|
+
# Add --draft if the --draft flag was parsed from $ARGUMENTS
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Phase 5 — VERIFY
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
gh pr view --json number,url,title,state,baseRefName,headRefName,additions,deletions,changedFiles
|
|
150
|
+
gh pr checks --json name,status,conclusion 2>/dev/null || true
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Phase 6 — OUTPUT
|
|
156
|
+
|
|
157
|
+
Report to user:
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
PR #<number>: <title>
|
|
161
|
+
URL: <url>
|
|
162
|
+
Branch: <head> → <base>
|
|
163
|
+
Changes: +<additions> -<deletions> across <changedFiles> files
|
|
164
|
+
|
|
165
|
+
CI Checks: <status summary or "pending" or "none configured">
|
|
166
|
+
|
|
167
|
+
Artifacts referenced:
|
|
168
|
+
- <any PRDs/plans linked in PR body>
|
|
169
|
+
|
|
170
|
+
Next steps:
|
|
171
|
+
- gh pr view <number> --web → open in browser
|
|
172
|
+
- /code-review <number> → review the PR
|
|
173
|
+
- gh pr merge <number> → merge when ready
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Edge Cases
|
|
179
|
+
|
|
180
|
+
- **No `gh` CLI**: Stop with: "GitHub CLI (`gh`) is required. Install: <https://cli.github.com/>"
|
|
181
|
+
- **Not authenticated**: Stop with: "Run `gh auth login` first."
|
|
182
|
+
- **Force push needed**: If remote has diverged and rebase was done, use `git push --force-with-lease` (never `--force`).
|
|
183
|
+
- **Multiple PR templates**: If `.github/PULL_REQUEST_TEMPLATE/` has multiple files, list them and ask user to choose.
|
|
184
|
+
- **Large PR (>20 files)**: Warn about PR size. Suggest splitting if changes are logically separable.
|