compact-agent 1.10.0 → 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/config.js +10 -1
- package/dist/config.js.map +1 -1
- package/dist/ecc.d.ts +11 -0
- package/dist/ecc.js +142 -27
- package/dist/ecc.js.map +1 -1
- package/dist/index.js +90 -9
- package/dist/index.js.map +1 -1
- package/dist/mempalace/index.d.ts +11 -0
- package/dist/mempalace/index.js +26 -1
- package/dist/mempalace/index.js.map +1 -1
- package/dist/system-prompt.js +2 -2
- package/dist/system-prompt.js.map +1 -1
- package/dist/tools/index.js +8 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.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,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Fix C++ build errors, CMake issues, and linker problems incrementally. Invokes the cpp-build-resolver agent for minimal, surgical fixes.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# C++ Build and Fix
|
|
6
|
+
|
|
7
|
+
This command invokes the **cpp-build-resolver** agent to incrementally fix C++ build errors with minimal changes.
|
|
8
|
+
|
|
9
|
+
## What This Command Does
|
|
10
|
+
|
|
11
|
+
1. **Run Diagnostics**: Execute `cmake --build`, `clang-tidy`, `cppcheck`
|
|
12
|
+
2. **Parse Errors**: Group by file and sort by severity
|
|
13
|
+
3. **Fix Incrementally**: One error at a time
|
|
14
|
+
4. **Verify Each Fix**: Re-run build after each change
|
|
15
|
+
5. **Report Summary**: Show what was fixed and what remains
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
|
|
19
|
+
Use `/cpp-build` when:
|
|
20
|
+
- `cmake --build build` fails with errors
|
|
21
|
+
- Linker errors (undefined references, multiple definitions)
|
|
22
|
+
- Template instantiation failures
|
|
23
|
+
- Include/dependency issues
|
|
24
|
+
- After pulling changes that break the build
|
|
25
|
+
|
|
26
|
+
## Diagnostic Commands Run
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# CMake configure
|
|
30
|
+
cmake -B build -S .
|
|
31
|
+
|
|
32
|
+
# Build
|
|
33
|
+
cmake --build build 2>&1 | head -100
|
|
34
|
+
|
|
35
|
+
# Static analysis (if available)
|
|
36
|
+
clang-tidy src/*.cpp -- -std=c++17
|
|
37
|
+
cppcheck --enable=all src/
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Example Session
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
User: /cpp-build
|
|
44
|
+
|
|
45
|
+
Agent:
|
|
46
|
+
# C++ Build Resolution
|
|
47
|
+
|
|
48
|
+
## Initial Diagnostics
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
$ cmake --build build
|
|
52
|
+
src/service/user.cpp:25:15: error: use of undeclared identifier 'UserRepository'
|
|
53
|
+
src/handler/api.cpp:42:9: error: no matching function for call to 'process'
|
|
54
|
+
src/handler/api.cpp:58:1: error: non-void function does not return a value
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Errors found: 3
|
|
58
|
+
|
|
59
|
+
## Fix 1: Undeclared Identifier
|
|
60
|
+
|
|
61
|
+
File: src/service/user.cpp:25
|
|
62
|
+
Error: use of undeclared identifier 'UserRepository'
|
|
63
|
+
Cause: Missing include
|
|
64
|
+
|
|
65
|
+
```cpp
|
|
66
|
+
// Added include
|
|
67
|
+
#include "repository/user_repository.hpp"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
$ cmake --build build
|
|
72
|
+
# 2 errors remaining
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Fix 2: No Matching Function
|
|
76
|
+
|
|
77
|
+
File: src/handler/api.cpp:42
|
|
78
|
+
Error: no matching function for call to 'process'
|
|
79
|
+
|
|
80
|
+
```cpp
|
|
81
|
+
// Changed
|
|
82
|
+
process(params.get("count"));
|
|
83
|
+
// To
|
|
84
|
+
process(std::stoi(params.get("count")));
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
$ cmake --build build
|
|
89
|
+
# 1 error remaining
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Fix 3: Missing Return
|
|
93
|
+
|
|
94
|
+
File: src/handler/api.cpp:58
|
|
95
|
+
Error: non-void function does not return a value
|
|
96
|
+
|
|
97
|
+
```cpp
|
|
98
|
+
std::optional<User> getUser(const std::string& id) {
|
|
99
|
+
if (id.empty()) {
|
|
100
|
+
return std::nullopt;
|
|
101
|
+
}
|
|
102
|
+
auto user = findUser(id);
|
|
103
|
+
// Added missing return
|
|
104
|
+
return user;
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
$ cmake --build build
|
|
110
|
+
# Build successful!
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Final Verification
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
$ ctest --test-dir build --output-on-failure
|
|
117
|
+
Test project build
|
|
118
|
+
1/5 Test #1: unit_tests ........ Passed 0.02 sec
|
|
119
|
+
2/5 Test #2: integration_tests Passed 0.15 sec
|
|
120
|
+
All tests passed.
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Summary
|
|
124
|
+
|
|
125
|
+
| Metric | Count |
|
|
126
|
+
|--------|-------|
|
|
127
|
+
| Build errors fixed | 3 |
|
|
128
|
+
| Linker errors fixed | 0 |
|
|
129
|
+
| Files modified | 2 |
|
|
130
|
+
| Remaining issues | 0 |
|
|
131
|
+
|
|
132
|
+
Build Status: PASS: SUCCESS
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Common Errors Fixed
|
|
136
|
+
|
|
137
|
+
| Error | Typical Fix |
|
|
138
|
+
|-------|-------------|
|
|
139
|
+
| `undeclared identifier` | Add `#include` or fix typo |
|
|
140
|
+
| `no matching function` | Fix argument types or add overload |
|
|
141
|
+
| `undefined reference` | Link library or add implementation |
|
|
142
|
+
| `multiple definition` | Use `inline` or move to .cpp |
|
|
143
|
+
| `incomplete type` | Replace forward decl with `#include` |
|
|
144
|
+
| `no member named X` | Fix member name or include |
|
|
145
|
+
| `cannot convert X to Y` | Add appropriate cast |
|
|
146
|
+
| `CMake Error` | Fix CMakeLists.txt configuration |
|
|
147
|
+
|
|
148
|
+
## Fix Strategy
|
|
149
|
+
|
|
150
|
+
1. **Compilation errors first** - Code must compile
|
|
151
|
+
2. **Linker errors second** - Resolve undefined references
|
|
152
|
+
3. **Warnings third** - Fix with `-Wall -Wextra`
|
|
153
|
+
4. **One fix at a time** - Verify each change
|
|
154
|
+
5. **Minimal changes** - Don't refactor, just fix
|
|
155
|
+
|
|
156
|
+
## Stop Conditions
|
|
157
|
+
|
|
158
|
+
The agent will stop and report if:
|
|
159
|
+
- Same error persists after 3 attempts
|
|
160
|
+
- Fix introduces more errors
|
|
161
|
+
- Requires architectural changes
|
|
162
|
+
- Missing external dependencies
|
|
163
|
+
|
|
164
|
+
## Related Commands
|
|
165
|
+
|
|
166
|
+
- `/cpp-test` - Run tests after build succeeds
|
|
167
|
+
- `/cpp-review` - Review code quality
|
|
168
|
+
- `verification-loop` skill - Full verification loop
|
|
169
|
+
|
|
170
|
+
## Related
|
|
171
|
+
|
|
172
|
+
- Agent: `agents/cpp-build-resolver.md`
|
|
173
|
+
- Skill: `skills/cpp-coding-standards/`
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Comprehensive C++ code review for memory safety, modern C++ idioms, concurrency, and security. Invokes the cpp-reviewer agent.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# C++ Code Review
|
|
6
|
+
|
|
7
|
+
This command invokes the **cpp-reviewer** agent for comprehensive C++-specific code review.
|
|
8
|
+
|
|
9
|
+
## What This Command Does
|
|
10
|
+
|
|
11
|
+
1. **Identify C++ Changes**: Find modified `.cpp`, `.hpp`, `.cc`, `.h` files via `git diff`
|
|
12
|
+
2. **Run Static Analysis**: Execute `clang-tidy` and `cppcheck`
|
|
13
|
+
3. **Memory Safety Scan**: Check for raw new/delete, buffer overflows, use-after-free
|
|
14
|
+
4. **Concurrency Review**: Analyze thread safety, mutex usage, data races
|
|
15
|
+
5. **Modern C++ Check**: Verify code follows C++17/20 conventions and best practices
|
|
16
|
+
6. **Generate Report**: Categorize issues by severity
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
Use `/cpp-review` when:
|
|
21
|
+
- After writing or modifying C++ code
|
|
22
|
+
- Before committing C++ changes
|
|
23
|
+
- Reviewing pull requests with C++ code
|
|
24
|
+
- Onboarding to a new C++ codebase
|
|
25
|
+
- Checking for memory safety issues
|
|
26
|
+
|
|
27
|
+
## Review Categories
|
|
28
|
+
|
|
29
|
+
### CRITICAL (Must Fix)
|
|
30
|
+
- Raw `new`/`delete` without RAII
|
|
31
|
+
- Buffer overflows and use-after-free
|
|
32
|
+
- Data races without synchronization
|
|
33
|
+
- Command injection via `system()`
|
|
34
|
+
- Uninitialized variable reads
|
|
35
|
+
- Null pointer dereferences
|
|
36
|
+
|
|
37
|
+
### HIGH (Should Fix)
|
|
38
|
+
- Rule of Five violations
|
|
39
|
+
- Missing `std::lock_guard` / `std::scoped_lock`
|
|
40
|
+
- Detached threads without proper lifetime management
|
|
41
|
+
- C-style casts instead of `static_cast`/`dynamic_cast`
|
|
42
|
+
- Missing `const` correctness
|
|
43
|
+
|
|
44
|
+
### MEDIUM (Consider)
|
|
45
|
+
- Unnecessary copies (pass by value instead of `const&`)
|
|
46
|
+
- Missing `reserve()` on known-size containers
|
|
47
|
+
- `using namespace std;` in headers
|
|
48
|
+
- Missing `[[nodiscard]]` on important return values
|
|
49
|
+
- Overly complex template metaprogramming
|
|
50
|
+
|
|
51
|
+
## Automated Checks Run
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Static analysis
|
|
55
|
+
clang-tidy --checks='*,-llvmlibc-*' src/*.cpp -- -std=c++17
|
|
56
|
+
|
|
57
|
+
# Additional analysis
|
|
58
|
+
cppcheck --enable=all --suppress=missingIncludeSystem src/
|
|
59
|
+
|
|
60
|
+
# Build with warnings
|
|
61
|
+
cmake --build build -- -Wall -Wextra -Wpedantic
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Example Usage
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
User: /cpp-review
|
|
68
|
+
|
|
69
|
+
Agent:
|
|
70
|
+
# C++ Code Review Report
|
|
71
|
+
|
|
72
|
+
## Files Reviewed
|
|
73
|
+
- src/handler/user.cpp (modified)
|
|
74
|
+
- src/service/auth.cpp (modified)
|
|
75
|
+
|
|
76
|
+
## Static Analysis Results
|
|
77
|
+
✓ clang-tidy: 2 warnings
|
|
78
|
+
✓ cppcheck: No issues
|
|
79
|
+
|
|
80
|
+
## Issues Found
|
|
81
|
+
|
|
82
|
+
[CRITICAL] Memory Leak
|
|
83
|
+
File: src/service/auth.cpp:45
|
|
84
|
+
Issue: Raw `new` without matching `delete`
|
|
85
|
+
```cpp
|
|
86
|
+
auto* session = new Session(userId); // Memory leak!
|
|
87
|
+
cache[userId] = session;
|
|
88
|
+
```
|
|
89
|
+
Fix: Use `std::unique_ptr`
|
|
90
|
+
```cpp
|
|
91
|
+
auto session = std::make_unique<Session>(userId);
|
|
92
|
+
cache[userId] = std::move(session);
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
[HIGH] Missing const Reference
|
|
96
|
+
File: src/handler/user.cpp:28
|
|
97
|
+
Issue: Large object passed by value
|
|
98
|
+
```cpp
|
|
99
|
+
void processUser(User user) { // Unnecessary copy
|
|
100
|
+
```
|
|
101
|
+
Fix: Pass by const reference
|
|
102
|
+
```cpp
|
|
103
|
+
void processUser(const User& user) {
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Summary
|
|
107
|
+
- CRITICAL: 1
|
|
108
|
+
- HIGH: 1
|
|
109
|
+
- MEDIUM: 0
|
|
110
|
+
|
|
111
|
+
Recommendation: FAIL: Block merge until CRITICAL issue is fixed
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Approval Criteria
|
|
115
|
+
|
|
116
|
+
| Status | Condition |
|
|
117
|
+
|--------|-----------|
|
|
118
|
+
| PASS: Approve | No CRITICAL or HIGH issues |
|
|
119
|
+
| WARNING: Warning | Only MEDIUM issues (merge with caution) |
|
|
120
|
+
| FAIL: Block | CRITICAL or HIGH issues found |
|
|
121
|
+
|
|
122
|
+
## Integration with Other Commands
|
|
123
|
+
|
|
124
|
+
- Use `/cpp-test` first to ensure tests pass
|
|
125
|
+
- Use `/cpp-build` if build errors occur
|
|
126
|
+
- Use `/cpp-review` before committing
|
|
127
|
+
- Use `/code-review` for non-C++ specific concerns
|
|
128
|
+
|
|
129
|
+
## Related
|
|
130
|
+
|
|
131
|
+
- Agent: `agents/cpp-reviewer.md`
|
|
132
|
+
- Skills: `skills/cpp-coding-standards/`, `skills/cpp-testing/`
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Enforce TDD workflow for C++. Write GoogleTest tests first, then implement. Verify coverage with gcov/lcov.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# C++ TDD Command
|
|
6
|
+
|
|
7
|
+
This command enforces test-driven development methodology for C++ code using GoogleTest/GoogleMock with CMake/CTest.
|
|
8
|
+
|
|
9
|
+
## What This Command Does
|
|
10
|
+
|
|
11
|
+
1. **Define Interfaces**: Scaffold class/function signatures first
|
|
12
|
+
2. **Write Tests**: Create comprehensive GoogleTest test cases (RED)
|
|
13
|
+
3. **Run Tests**: Verify tests fail for the right reason
|
|
14
|
+
4. **Implement Code**: Write minimal code to pass (GREEN)
|
|
15
|
+
5. **Refactor**: Improve while keeping tests green
|
|
16
|
+
6. **Check Coverage**: Ensure 80%+ coverage
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
Use `/cpp-test` when:
|
|
21
|
+
- Implementing new C++ functions or classes
|
|
22
|
+
- Adding test coverage to existing code
|
|
23
|
+
- Fixing bugs (write failing test first)
|
|
24
|
+
- Building critical business logic
|
|
25
|
+
- Learning TDD workflow in C++
|
|
26
|
+
|
|
27
|
+
## TDD Cycle
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
RED → Write failing GoogleTest test
|
|
31
|
+
GREEN → Implement minimal code to pass
|
|
32
|
+
REFACTOR → Improve code, tests stay green
|
|
33
|
+
REPEAT → Next test case
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Example Session
|
|
37
|
+
|
|
38
|
+
````
|
|
39
|
+
User: /cpp-test I need a function to validate email addresses
|
|
40
|
+
|
|
41
|
+
Agent:
|
|
42
|
+
# TDD Session: Email Validator
|
|
43
|
+
|
|
44
|
+
## Step 1: Define Interface
|
|
45
|
+
|
|
46
|
+
```cpp
|
|
47
|
+
// validator/email.hpp
|
|
48
|
+
#pragma once
|
|
49
|
+
#include <string>
|
|
50
|
+
#include <expected>
|
|
51
|
+
|
|
52
|
+
enum class EmailError {
|
|
53
|
+
Empty,
|
|
54
|
+
InvalidFormat
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
std::expected<void, EmailError> validate_email(const std::string& email);
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Step 2: Write Tests (RED)
|
|
61
|
+
|
|
62
|
+
```cpp
|
|
63
|
+
// validator/email_test.cpp
|
|
64
|
+
#include <gtest/gtest.h>
|
|
65
|
+
#include "email.hpp"
|
|
66
|
+
|
|
67
|
+
TEST(ValidateEmail, AcceptsSimpleEmail) {
|
|
68
|
+
auto result = validate_email("user@example.com");
|
|
69
|
+
EXPECT_TRUE(result.has_value());
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
TEST(ValidateEmail, AcceptsSubdomain) {
|
|
73
|
+
EXPECT_TRUE(validate_email("user@mail.example.com").has_value());
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
TEST(ValidateEmail, AcceptsPlus) {
|
|
77
|
+
EXPECT_TRUE(validate_email("user+tag@example.com").has_value());
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
TEST(ValidateEmail, RejectsEmpty) {
|
|
81
|
+
auto result = validate_email("");
|
|
82
|
+
ASSERT_FALSE(result.has_value());
|
|
83
|
+
EXPECT_EQ(result.error(), EmailError::Empty);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
TEST(ValidateEmail, RejectsNoAtSign) {
|
|
87
|
+
EXPECT_FALSE(validate_email("userexample.com").has_value());
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
TEST(ValidateEmail, RejectsNoDomain) {
|
|
91
|
+
EXPECT_FALSE(validate_email("user@").has_value());
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
TEST(ValidateEmail, RejectsNoLocalPart) {
|
|
95
|
+
EXPECT_FALSE(validate_email("@example.com").has_value());
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Step 3: Run Tests - Verify FAIL
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
$ cmake --build build && ctest --test-dir build --output-on-failure
|
|
103
|
+
|
|
104
|
+
1/1 Test #1: email_validator_test .....***Failed
|
|
105
|
+
--- undefined reference to `validate_email`
|
|
106
|
+
|
|
107
|
+
FAIL
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
✓ Tests fail as expected (unimplemented).
|
|
111
|
+
|
|
112
|
+
## Step 4: Implement Minimal Code (GREEN)
|
|
113
|
+
|
|
114
|
+
```cpp
|
|
115
|
+
// validator/email.cpp
|
|
116
|
+
#include "email.hpp"
|
|
117
|
+
#include <regex>
|
|
118
|
+
|
|
119
|
+
std::expected<void, EmailError> validate_email(const std::string& email) {
|
|
120
|
+
if (email.empty()) {
|
|
121
|
+
return std::unexpected(EmailError::Empty);
|
|
122
|
+
}
|
|
123
|
+
static const std::regex pattern(R"([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})");
|
|
124
|
+
if (!std::regex_match(email, pattern)) {
|
|
125
|
+
return std::unexpected(EmailError::InvalidFormat);
|
|
126
|
+
}
|
|
127
|
+
return {};
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Step 5: Run Tests - Verify PASS
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
$ cmake --build build && ctest --test-dir build --output-on-failure
|
|
135
|
+
|
|
136
|
+
1/1 Test #1: email_validator_test ..... Passed 0.01 sec
|
|
137
|
+
|
|
138
|
+
100% tests passed.
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
✓ All tests passing!
|
|
142
|
+
|
|
143
|
+
## Step 6: Check Coverage
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
$ cmake -DCMAKE_CXX_FLAGS="--coverage" -B build && cmake --build build
|
|
147
|
+
$ ctest --test-dir build
|
|
148
|
+
$ lcov --capture --directory build --output-file coverage.info
|
|
149
|
+
$ lcov --list coverage.info
|
|
150
|
+
|
|
151
|
+
validator/email.cpp | 100%
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
✓ Coverage: 100%
|
|
155
|
+
|
|
156
|
+
## TDD Complete!
|
|
157
|
+
````
|
|
158
|
+
|
|
159
|
+
## Test Patterns
|
|
160
|
+
|
|
161
|
+
### Basic Tests
|
|
162
|
+
```cpp
|
|
163
|
+
TEST(SuiteName, TestName) {
|
|
164
|
+
EXPECT_EQ(add(2, 3), 5);
|
|
165
|
+
EXPECT_NE(result, nullptr);
|
|
166
|
+
EXPECT_TRUE(is_valid);
|
|
167
|
+
EXPECT_THROW(func(), std::invalid_argument);
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Fixtures
|
|
172
|
+
```cpp
|
|
173
|
+
class DatabaseTest : public ::testing::Test {
|
|
174
|
+
protected:
|
|
175
|
+
void SetUp() override { db_ = create_test_db(); }
|
|
176
|
+
void TearDown() override { db_.reset(); }
|
|
177
|
+
std::unique_ptr<Database> db_;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
TEST_F(DatabaseTest, InsertsRecord) {
|
|
181
|
+
db_->insert("key", "value");
|
|
182
|
+
EXPECT_EQ(db_->get("key"), "value");
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Parameterized Tests
|
|
187
|
+
```cpp
|
|
188
|
+
class PrimeTest : public ::testing::TestWithParam<std::pair<int, bool>> {};
|
|
189
|
+
|
|
190
|
+
TEST_P(PrimeTest, ChecksPrimality) {
|
|
191
|
+
auto [input, expected] = GetParam();
|
|
192
|
+
EXPECT_EQ(is_prime(input), expected);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
INSTANTIATE_TEST_SUITE_P(Primes, PrimeTest, ::testing::Values(
|
|
196
|
+
std::make_pair(2, true),
|
|
197
|
+
std::make_pair(4, false),
|
|
198
|
+
std::make_pair(7, true)
|
|
199
|
+
));
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Coverage Commands
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# Build with coverage
|
|
206
|
+
cmake -DCMAKE_CXX_FLAGS="--coverage" -DCMAKE_EXE_LINKER_FLAGS="--coverage" -B build
|
|
207
|
+
|
|
208
|
+
# Run tests
|
|
209
|
+
cmake --build build && ctest --test-dir build
|
|
210
|
+
|
|
211
|
+
# Generate coverage report
|
|
212
|
+
lcov --capture --directory build --output-file coverage.info
|
|
213
|
+
lcov --remove coverage.info '/usr/*' --output-file coverage.info
|
|
214
|
+
genhtml coverage.info --output-directory coverage_html
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Coverage Targets
|
|
218
|
+
|
|
219
|
+
| Code Type | Target |
|
|
220
|
+
|-----------|--------|
|
|
221
|
+
| Critical business logic | 100% |
|
|
222
|
+
| Public APIs | 90%+ |
|
|
223
|
+
| General code | 80%+ |
|
|
224
|
+
| Generated code | Exclude |
|
|
225
|
+
|
|
226
|
+
## TDD Best Practices
|
|
227
|
+
|
|
228
|
+
**DO:**
|
|
229
|
+
- Write test FIRST, before any implementation
|
|
230
|
+
- Run tests after each change
|
|
231
|
+
- Use `EXPECT_*` (continues) over `ASSERT_*` (stops) when appropriate
|
|
232
|
+
- Test behavior, not implementation details
|
|
233
|
+
- Include edge cases (empty, null, max values, boundary conditions)
|
|
234
|
+
|
|
235
|
+
**DON'T:**
|
|
236
|
+
- Write implementation before tests
|
|
237
|
+
- Skip the RED phase
|
|
238
|
+
- Test private methods directly (test through public API)
|
|
239
|
+
- Use `sleep` in tests
|
|
240
|
+
- Ignore flaky tests
|
|
241
|
+
|
|
242
|
+
## Related Commands
|
|
243
|
+
|
|
244
|
+
- `/cpp-build` - Fix build errors
|
|
245
|
+
- `/cpp-review` - Review code after implementation
|
|
246
|
+
- `verification-loop` skill - Run full verification loop
|
|
247
|
+
|
|
248
|
+
## Related
|
|
249
|
+
|
|
250
|
+
- Skill: `skills/cpp-testing/`
|
|
251
|
+
- Skill: `skills/tdd-workflow/`
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Navigate ECC's current agents, skills, commands, hooks, install profiles, and docs from the live repository surface.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /ecc-guide
|
|
6
|
+
|
|
7
|
+
Use this command as a conversational map of Everything Claude Code. It should help the user discover the right ECC surface for their task without dumping the entire README or stale catalog counts.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
/ecc-guide
|
|
13
|
+
/ecc-guide setup
|
|
14
|
+
/ecc-guide skills
|
|
15
|
+
/ecc-guide commands
|
|
16
|
+
/ecc-guide hooks
|
|
17
|
+
/ecc-guide install
|
|
18
|
+
/ecc-guide find: <query>
|
|
19
|
+
/ecc-guide <feature-or-file-name>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Operating Rules
|
|
23
|
+
|
|
24
|
+
1. Read current repository files before answering when the checkout is available.
|
|
25
|
+
2. Prefer current filesystem/catalog data over hard-coded counts.
|
|
26
|
+
3. Keep the first answer short, then offer specific drill-down paths.
|
|
27
|
+
4. Link users to canonical files instead of copying long sections.
|
|
28
|
+
5. Do not invent commands, skills, agents, or install profiles that are not present.
|
|
29
|
+
|
|
30
|
+
## What To Inspect
|
|
31
|
+
|
|
32
|
+
Use these files as the canonical map:
|
|
33
|
+
|
|
34
|
+
- `README.md` for install paths, reset/uninstall guidance, and high-level positioning
|
|
35
|
+
- `AGENTS.md` for contributor and project-structure guidance
|
|
36
|
+
- `agent.yaml` for exported agent and command surface
|
|
37
|
+
- `commands/` for maintained slash-command shims
|
|
38
|
+
- `skills/*/SKILL.md` for reusable skill workflows
|
|
39
|
+
- `agents/*.md` for delegated agent roles
|
|
40
|
+
- `hooks/README.md` and `hooks/hooks.json` for hook behavior
|
|
41
|
+
- `manifests/install-*.json` for selective install modules, components, and profiles
|
|
42
|
+
- `scripts/ci/catalog.js --json` for live catalog counts when running inside ECC
|
|
43
|
+
|
|
44
|
+
## Response Patterns
|
|
45
|
+
|
|
46
|
+
### No Arguments
|
|
47
|
+
|
|
48
|
+
Give a compact menu:
|
|
49
|
+
|
|
50
|
+
- setup and install
|
|
51
|
+
- choosing skills
|
|
52
|
+
- command compatibility shims
|
|
53
|
+
- agents and delegation
|
|
54
|
+
- hooks and safety
|
|
55
|
+
- troubleshooting an install
|
|
56
|
+
- finding a specific feature
|
|
57
|
+
|
|
58
|
+
Then ask what they want to do next.
|
|
59
|
+
|
|
60
|
+
### Topic Lookup
|
|
61
|
+
|
|
62
|
+
For topics like `skills`, `commands`, `hooks`, `install`, or `agents`:
|
|
63
|
+
|
|
64
|
+
1. Summarize the current surface in 3-6 bullets.
|
|
65
|
+
2. Point to the canonical directories/files.
|
|
66
|
+
3. Suggest one or two commands that can verify the state.
|
|
67
|
+
4. Avoid exhaustive lists unless the user asks for one.
|
|
68
|
+
|
|
69
|
+
### Search Mode
|
|
70
|
+
|
|
71
|
+
For `find: <query>`:
|
|
72
|
+
|
|
73
|
+
1. Search the relevant files with `rg`.
|
|
74
|
+
2. Group results by surface: skills, commands, agents, rules, docs, hooks.
|
|
75
|
+
3. Return the strongest matches first with file paths.
|
|
76
|
+
4. Recommend the next action for each match.
|
|
77
|
+
|
|
78
|
+
### Feature Lookup
|
|
79
|
+
|
|
80
|
+
For a specific feature name:
|
|
81
|
+
|
|
82
|
+
1. Check exact paths first, such as `skills/<name>/SKILL.md`, `commands/<name>.md`, and `agents/<name>.md`.
|
|
83
|
+
2. If exact lookup fails, search with `rg`.
|
|
84
|
+
3. Explain what the feature does, when to use it, and what file is canonical.
|
|
85
|
+
4. Mention adjacent features only when they reduce confusion.
|
|
86
|
+
|
|
87
|
+
## Related Commands
|
|
88
|
+
|
|
89
|
+
- `/project-init` for stack-aware ECC onboarding of a target project
|
|
90
|
+
- `/harness-audit` for deterministic repo readiness scoring
|
|
91
|
+
- `/skill-health` for skill quality checks
|
|
92
|
+
- `/skill-create` for extracting a new skill from local git history
|
|
93
|
+
- `/security-scan` for Claude/OpenCode configuration security review
|