@heyai-rules/pilo-masterkit 2.1.0 → 3.1.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/.agent/agents/PILO_MASTER.md +77 -77
- package/.agent/agents/architect.md +211 -211
- package/.agent/agents/backend-specialist.md +263 -263
- package/.agent/agents/build-error-resolver.md +114 -114
- package/.agent/agents/chief-of-staff.md +151 -151
- package/.agent/agents/code-archaeologist.md +106 -106
- package/.agent/agents/code-reviewer.md +237 -237
- package/.agent/agents/cpp-build-resolver.md +90 -90
- package/.agent/agents/cpp-reviewer.md +72 -72
- package/.agent/agents/csharp-reviewer.md +101 -101
- package/.agent/agents/dart-build-resolver.md +201 -201
- package/.agent/agents/database-architect.md +226 -226
- package/.agent/agents/database-reviewer.md +91 -91
- package/.agent/agents/debugger.md +225 -225
- package/.agent/agents/devops-engineer.md +242 -242
- package/.agent/agents/doc-updater.md +107 -107
- package/.agent/agents/docs-lookup.md +68 -68
- package/.agent/agents/documentation-writer.md +104 -104
- package/.agent/agents/e2e-runner.md +107 -107
- package/.agent/agents/explorer-agent.md +73 -73
- package/.agent/agents/flutter-reviewer.md +243 -243
- package/.agent/agents/frontend-specialist.md +593 -593
- package/.agent/agents/game-developer.md +162 -162
- package/.agent/agents/gan-evaluator.md +209 -209
- package/.agent/agents/gan-generator.md +131 -131
- package/.agent/agents/gan-planner.md +99 -99
- package/.agent/agents/go-build-resolver.md +94 -94
- package/.agent/agents/go-reviewer.md +76 -76
- package/.agent/agents/harness-optimizer.md +35 -35
- package/.agent/agents/healthcare-reviewer.md +83 -83
- package/.agent/agents/java-build-resolver.md +153 -153
- package/.agent/agents/java-reviewer.md +92 -92
- package/.agent/agents/kotlin-build-resolver.md +118 -118
- package/.agent/agents/kotlin-reviewer.md +159 -159
- package/.agent/agents/loop-operator.md +36 -36
- package/.agent/agents/mobile-developer.md +377 -377
- package/.agent/agents/opensource-forker.md +198 -198
- package/.agent/agents/opensource-packager.md +249 -249
- package/.agent/agents/opensource-sanitizer.md +188 -188
- package/.agent/agents/orchestrator.md +416 -416
- package/.agent/agents/penetration-tester.md +188 -188
- package/.agent/agents/performance-optimizer.md +446 -446
- package/.agent/agents/personas/athena-agent/agent.json +10 -10
- package/.agent/agents/personas/athena-agent/athena-backend-logic-architecture-profile.md +3 -3
- package/.agent/agents/personas/athena-agent/context-files/agents.md +1 -1
- package/.agent/agents/personas/athena-agent/context-files/identity.md +1 -1
- package/.agent/agents/personas/athena-agent/context-files/soul.md +1 -1
- package/.agent/agents/personas/athena-agent/context-files/user-predefined.md +1 -1
- package/.agent/agents/personas/athena-agent/user-context-files/system/bootstrap.md +1 -1
- package/.agent/agents/personas/athena-agent/user-context-files/system/user.md +1 -1
- package/.agent/agents/personas/da-vinci-agent/agent.json +10 -10
- package/.agent/agents/personas/da-vinci-agent/context-files/agents.md +1 -1
- package/.agent/agents/personas/da-vinci-agent/context-files/identity.md +1 -1
- package/.agent/agents/personas/da-vinci-agent/context-files/soul.md +1 -1
- package/.agent/agents/personas/da-vinci-agent/context-files/user-predefined.md +1 -1
- package/.agent/agents/personas/da-vinci-agent/da-vinci-frontend-ui-ux-design-profile.md +3 -3
- package/.agent/agents/personas/da-vinci-agent/user-context-files/system/bootstrap.md +1 -1
- package/.agent/agents/personas/da-vinci-agent/user-context-files/system/user.md +1 -1
- package/.agent/agents/personas/duong-tang-agent/agent.json +10 -10
- package/.agent/agents/personas/duong-tang-agent/context-files/agents.md +1 -1
- package/.agent/agents/personas/duong-tang-agent/context-files/identity.md +1 -1
- package/.agent/agents/personas/duong-tang-agent/context-files/soul.md +1 -1
- package/.agent/agents/personas/duong-tang-agent/context-files/user-predefined.md +1 -1
- package/.agent/agents/personas/duong-tang-agent/tang-monk-quality-testing-documentation-profile.md +3 -3
- package/.agent/agents/personas/duong-tang-agent/user-context-files/system/bootstrap.md +1 -1
- package/.agent/agents/personas/duong-tang-agent/user-context-files/system/user.md +1 -1
- package/.agent/agents/personas/gia-cat-luong-agent/agent.json +10 -10
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/agents.md +1 -1
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/identity.md +1 -1
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/soul.md +1 -1
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/user-predefined.md +1 -1
- package/.agent/agents/personas/gia-cat-luong-agent/kongming-research-strategy-analysis-profile.md +3 -3
- package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/bootstrap.md +1 -1
- package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/user.md +1 -1
- package/.agent/agents/personas/mihata-agent/agent.json +10 -10
- package/.agent/agents/personas/mihata-agent/context-files/agents.md +1 -1
- package/.agent/agents/personas/mihata-agent/context-files/identity.md +1 -1
- package/.agent/agents/personas/mihata-agent/context-files/soul.md +1 -1
- package/.agent/agents/personas/mihata-agent/context-files/user-predefined.md +1 -1
- package/.agent/agents/personas/mihata-agent/mihata-multi-agent-orchestration-profile.md +3 -3
- package/.agent/agents/personas/mihata-agent/user-context-files/system/bootstrap.md +1 -1
- package/.agent/agents/personas/mihata-agent/user-context-files/system/user.md +1 -1
- package/.agent/agents/personas/tesla-agent/agent.json +10 -10
- package/.agent/agents/personas/tesla-agent/context-files/agents.md +1 -1
- package/.agent/agents/personas/tesla-agent/context-files/identity.md +1 -1
- package/.agent/agents/personas/tesla-agent/context-files/soul.md +1 -1
- package/.agent/agents/personas/tesla-agent/context-files/user-predefined.md +1 -1
- package/.agent/agents/personas/tesla-agent/tesla-fullstack-system-optimization-profile.md +3 -3
- package/.agent/agents/personas/tesla-agent/user-context-files/system/bootstrap.md +1 -1
- package/.agent/agents/personas/tesla-agent/user-context-files/system/user.md +1 -1
- package/.agent/agents/personas/tu-ma-y-agent/agent.json +10 -10
- package/.agent/agents/personas/tu-ma-y-agent/context-files/agents.md +1 -1
- package/.agent/agents/personas/tu-ma-y-agent/context-files/identity.md +1 -1
- package/.agent/agents/personas/tu-ma-y-agent/context-files/soul.md +1 -1
- package/.agent/agents/personas/tu-ma-y-agent/context-files/user-predefined.md +1 -1
- package/.agent/agents/personas/tu-ma-y-agent/simayi-feasibility-risk-control-profile.md +3 -3
- package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/bootstrap.md +1 -1
- package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/user.md +1 -1
- package/.agent/agents/personas/venti-agent/agent.json +10 -10
- package/.agent/agents/personas/venti-agent/context-files/agents.md +1 -1
- package/.agent/agents/personas/venti-agent/context-files/identity.md +1 -1
- package/.agent/agents/personas/venti-agent/context-files/soul.md +1 -1
- package/.agent/agents/personas/venti-agent/context-files/user-predefined.md +1 -1
- package/.agent/agents/personas/venti-agent/user-context-files/system/bootstrap.md +1 -1
- package/.agent/agents/personas/venti-agent/user-context-files/system/user.md +1 -1
- package/.agent/agents/personas/venti-agent/venti-learning-communication-mentoring-profile.md +3 -3
- package/.agent/agents/planner.md +212 -212
- package/.agent/agents/product-manager.md +112 -112
- package/.agent/agents/product-owner.md +95 -95
- package/.agent/agents/project-planner.md +406 -406
- package/.agent/agents/python-reviewer.md +98 -98
- package/.agent/agents/pytorch-build-resolver.md +120 -120
- package/.agent/agents/qa-automation-engineer.md +103 -103
- package/.agent/agents/refactor-cleaner.md +85 -85
- package/.agent/agents/rust-build-resolver.md +148 -148
- package/.agent/agents/rust-reviewer.md +94 -94
- package/.agent/agents/security-auditor.md +170 -170
- package/.agent/agents/security-reviewer.md +108 -108
- package/.agent/agents/seo-specialist.md +111 -111
- package/.agent/agents/tdd-guide.md +91 -91
- package/.agent/agents/test-engineer.md +158 -158
- package/.agent/agents/typescript-reviewer.md +112 -112
- package/.agent/contexts/dev.md +20 -20
- package/.agent/contexts/research.md +26 -26
- package/.agent/contexts/review.md +22 -22
- package/.agent/hooks/hooks.json +395 -395
- package/.agent/hooks/readme.md +222 -222
- package/.agent/mcp-configs/mcp-servers.json +181 -181
- package/.agent/rules/ARCHITECTURAL_BLUEPRINTS.md +62 -62
- package/.agent/rules/CODE_CRAFTSMANSHIP.md +69 -69
- package/.agent/rules/CORE_RULES.md +72 -72
- package/.agent/rules/PROJECT_MAP.md +58 -58
- package/.agent/rules/QUALITY_ASSURANCE.md +54 -54
- package/.agent/rules/SECURITY_ARMOR.md +44 -44
- package/.agent/rules/VERSION_ORCHESTRATION.md +64 -64
- package/.agent/rules/WORKFLOW_ORCHESTRATION.md +55 -55
- package/.agent/rules/common/agents.md +50 -50
- package/.agent/rules/common/code-review.md +124 -124
- package/.agent/rules/common/coding-style.md +48 -48
- package/.agent/rules/common/development-workflow.md +44 -44
- package/.agent/rules/common/git-workflow.md +24 -24
- package/.agent/rules/common/hooks.md +30 -30
- package/.agent/rules/common/patterns.md +31 -31
- package/.agent/rules/common/performance.md +55 -55
- package/.agent/rules/common/security.md +29 -29
- package/.agent/rules/common/testing.md +29 -29
- package/.agent/rules/cpp/coding-style.md +44 -44
- package/.agent/rules/cpp/hooks.md +39 -39
- package/.agent/rules/cpp/patterns.md +51 -51
- package/.agent/rules/cpp/security.md +51 -51
- package/.agent/rules/cpp/testing.md +44 -44
- package/.agent/rules/csharp/coding-style.md +72 -72
- package/.agent/rules/csharp/hooks.md +25 -25
- package/.agent/rules/csharp/patterns.md +50 -50
- package/.agent/rules/csharp/security.md +58 -58
- package/.agent/rules/csharp/testing.md +46 -46
- package/.agent/rules/dart/coding-style.md +159 -159
- package/.agent/rules/dart/hooks.md +66 -66
- package/.agent/rules/dart/patterns.md +261 -261
- package/.agent/rules/dart/security.md +135 -135
- package/.agent/rules/dart/testing.md +215 -215
- package/.agent/rules/golang/coding-style.md +32 -32
- package/.agent/rules/golang/hooks.md +17 -17
- package/.agent/rules/golang/patterns.md +45 -45
- package/.agent/rules/golang/security.md +34 -34
- package/.agent/rules/golang/testing.md +31 -31
- package/.agent/rules/java/coding-style.md +114 -114
- package/.agent/rules/java/hooks.md +18 -18
- package/.agent/rules/java/patterns.md +146 -146
- package/.agent/rules/java/security.md +100 -100
- package/.agent/rules/java/testing.md +131 -131
- package/.agent/rules/kotlin/coding-style.md +86 -86
- package/.agent/rules/kotlin/hooks.md +17 -17
- package/.agent/rules/kotlin/patterns.md +146 -146
- package/.agent/rules/kotlin/security.md +82 -82
- package/.agent/rules/kotlin/testing.md +128 -128
- package/.agent/rules/perl/coding-style.md +46 -46
- package/.agent/rules/perl/hooks.md +22 -22
- package/.agent/rules/perl/patterns.md +76 -76
- package/.agent/rules/perl/security.md +69 -69
- package/.agent/rules/perl/testing.md +54 -54
- package/.agent/rules/php/coding-style.md +40 -40
- package/.agent/rules/php/hooks.md +24 -24
- package/.agent/rules/php/patterns.md +33 -33
- package/.agent/rules/php/security.md +37 -37
- package/.agent/rules/php/testing.md +39 -39
- package/.agent/rules/python/coding-style.md +42 -42
- package/.agent/rules/python/hooks.md +19 -19
- package/.agent/rules/python/patterns.md +39 -39
- package/.agent/rules/python/security.md +30 -30
- package/.agent/rules/python/testing.md +38 -38
- package/.agent/rules/readme.md +111 -111
- package/.agent/rules/rust/coding-style.md +151 -151
- package/.agent/rules/rust/hooks.md +16 -16
- package/.agent/rules/rust/patterns.md +168 -168
- package/.agent/rules/rust/security.md +141 -141
- package/.agent/rules/rust/testing.md +154 -154
- package/.agent/rules/swift/coding-style.md +47 -47
- package/.agent/rules/swift/hooks.md +20 -20
- package/.agent/rules/swift/patterns.md +66 -66
- package/.agent/rules/swift/security.md +33 -33
- package/.agent/rules/swift/testing.md +45 -45
- package/.agent/rules/typescript/coding-style.md +199 -199
- package/.agent/rules/typescript/hooks.md +22 -22
- package/.agent/rules/typescript/patterns.md +52 -52
- package/.agent/rules/typescript/security.md +28 -28
- package/.agent/rules/typescript/testing.md +18 -18
- package/.agent/rules/web/coding-style.md +96 -96
- package/.agent/rules/web/design-quality.md +63 -63
- package/.agent/rules/web/hooks.md +120 -120
- package/.agent/rules/web/patterns.md +79 -79
- package/.agent/rules/web/performance.md +64 -64
- package/.agent/rules/web/security.md +57 -57
- package/.agent/rules/web/testing.md +55 -55
- package/.agent/rules/zh/agents.md +50 -50
- package/.agent/rules/zh/code-review.md +124 -124
- package/.agent/rules/zh/coding-style.md +48 -48
- package/.agent/rules/zh/development-workflow.md +44 -44
- package/.agent/rules/zh/git-workflow.md +24 -24
- package/.agent/rules/zh/hooks.md +30 -30
- package/.agent/rules/zh/patterns.md +31 -31
- package/.agent/rules/zh/performance.md +55 -55
- package/.agent/rules/zh/readme.md +108 -108
- package/.agent/rules/zh/security.md +29 -29
- package/.agent/rules/zh/testing.md +29 -29
- package/.agent/scripts/auto_preview.py +148 -148
- package/.agent/scripts/checklist.py +217 -217
- package/.agent/scripts/session_manager.py +120 -120
- package/.agent/scripts/verify_all.py +327 -327
- package/.agent/skills/agent-eval/SKILL.md +145 -145
- package/.agent/skills/agent-harness-construction/SKILL.md +73 -73
- package/.agent/skills/agent-payment-x402/SKILL.md +178 -178
- package/.agent/skills/agentic-engineering/SKILL.md +63 -63
- package/.agent/skills/ai-first-engineering/SKILL.md +51 -51
- package/.agent/skills/ai-regression-testing/SKILL.md +385 -385
- package/.agent/skills/android-clean-architecture/SKILL.md +339 -339
- package/.agent/skills/api-design/SKILL.md +523 -523
- package/.agent/skills/api-patterns/SKILL.md +81 -81
- package/.agent/skills/api-patterns/api-style.md +42 -42
- package/.agent/skills/api-patterns/auth.md +24 -24
- package/.agent/skills/api-patterns/documentation.md +26 -26
- package/.agent/skills/api-patterns/graphql.md +41 -41
- package/.agent/skills/api-patterns/rate-limiting.md +31 -31
- package/.agent/skills/api-patterns/response.md +37 -37
- package/.agent/skills/api-patterns/rest.md +40 -40
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -211
- package/.agent/skills/api-patterns/security-testing.md +122 -122
- package/.agent/skills/api-patterns/trpc.md +41 -41
- package/.agent/skills/api-patterns/versioning.md +22 -22
- package/.agent/skills/app-builder/SKILL.md +75 -75
- package/.agent/skills/app-builder/agent-coordination.md +71 -71
- package/.agent/skills/app-builder/feature-building.md +53 -53
- package/.agent/skills/app-builder/project-detection.md +34 -34
- package/.agent/skills/app-builder/scaffolding.md +118 -118
- package/.agent/skills/app-builder/tech-stack.md +41 -41
- package/.agent/skills/app-builder/templates/SKILL.md +39 -39
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
- package/.agent/skills/architecture/SKILL.md +55 -55
- package/.agent/skills/architecture/context-discovery.md +43 -43
- package/.agent/skills/architecture/examples.md +94 -94
- package/.agent/skills/architecture/pattern-selection.md +68 -68
- package/.agent/skills/architecture/patterns-reference.md +50 -50
- package/.agent/skills/architecture/trade-off-analysis.md +77 -77
- package/.agent/skills/architecture-decision-records/SKILL.md +179 -179
- package/.agent/skills/article-writing/SKILL.md +79 -79
- package/.agent/skills/autonomous-agent-harness/SKILL.md +267 -267
- package/.agent/skills/autonomous-loops/SKILL.md +610 -610
- package/.agent/skills/backend-patterns/SKILL.md +598 -598
- package/.agent/skills/bash-linux/SKILL.md +199 -199
- package/.agent/skills/behavioral-modes/SKILL.md +242 -242
- package/.agent/skills/benchmark/SKILL.md +93 -93
- package/.agent/skills/blueprint/SKILL.md +105 -105
- package/.agent/skills/brainstorming/SKILL.md +163 -163
- package/.agent/skills/brainstorming/dynamic-questioning.md +350 -350
- package/.agent/skills/brand-voice/SKILL.md +97 -97
- package/.agent/skills/brand-voice/references/voice-profile-schema.md +55 -55
- package/.agent/skills/browser-qa/SKILL.md +87 -87
- package/.agent/skills/bun-runtime/SKILL.md +84 -84
- package/.agent/skills/canary-watch/SKILL.md +99 -99
- package/.agent/skills/carrier-relationship-management/SKILL.md +212 -212
- package/.agent/skills/ck/SKILL.md +147 -147
- package/.agent/skills/ck/commands/forget.mjs +44 -44
- package/.agent/skills/ck/commands/info.mjs +24 -24
- package/.agent/skills/ck/commands/init.mjs +143 -143
- package/.agent/skills/ck/commands/list.mjs +40 -40
- package/.agent/skills/ck/commands/migrate.mjs +202 -202
- package/.agent/skills/ck/commands/resume.mjs +36 -36
- package/.agent/skills/ck/commands/save.mjs +210 -210
- package/.agent/skills/ck/commands/shared.mjs +387 -387
- package/.agent/skills/ck/hooks/session-start.mjs +224 -224
- package/.agent/skills/claude-api/SKILL.md +337 -337
- package/.agent/skills/claude-devfleet/SKILL.md +103 -103
- package/.agent/skills/clean-code/SKILL.md +201 -201
- package/.agent/skills/click-path-audit/SKILL.md +244 -244
- package/.agent/skills/clickhouse-io/SKILL.md +439 -439
- package/.agent/skills/code-review-checklist/SKILL.md +109 -109
- package/.agent/skills/codebase-onboarding/SKILL.md +233 -233
- package/.agent/skills/coding-standards/SKILL.md +530 -530
- package/.agent/skills/compose-multiplatform-patterns/SKILL.md +299 -299
- package/.agent/skills/configure-ecc/SKILL.md +367 -367
- package/.agent/skills/connections-optimizer/SKILL.md +189 -189
- package/.agent/skills/content-engine/SKILL.md +131 -131
- package/.agent/skills/content-hash-cache-pattern/SKILL.md +161 -161
- package/.agent/skills/context-budget/SKILL.md +135 -135
- package/.agent/skills/continuous-agent-loop/SKILL.md +45 -45
- package/.agent/skills/continuous-learning/SKILL.md +119 -119
- package/.agent/skills/continuous-learning/config.json +18 -18
- package/.agent/skills/continuous-learning/evaluate-session.sh +69 -69
- package/.agent/skills/continuous-learning-v2/SKILL.md +365 -365
- package/.agent/skills/continuous-learning-v2/agents/observer-loop.sh +271 -271
- package/.agent/skills/continuous-learning-v2/agents/observer.md +198 -198
- package/.agent/skills/continuous-learning-v2/agents/session-guardian.sh +150 -150
- package/.agent/skills/continuous-learning-v2/agents/start-observer.sh +244 -244
- package/.agent/skills/continuous-learning-v2/config.json +8 -8
- package/.agent/skills/continuous-learning-v2/hooks/observe.sh +428 -428
- package/.agent/skills/continuous-learning-v2/scripts/detect-project.sh +228 -228
- package/.agent/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -1426
- package/.agent/skills/continuous-learning-v2/scripts/test-parse-instinct.py +984 -984
- package/.agent/skills/cost-aware-llm-pipeline/SKILL.md +183 -183
- package/.agent/skills/cpp-coding-standards/SKILL.md +723 -723
- package/.agent/skills/cpp-testing/SKILL.md +324 -324
- package/.agent/skills/crosspost/SKILL.md +111 -111
- package/.agent/skills/csharp-testing/SKILL.md +321 -321
- package/.agent/skills/customer-billing-ops/SKILL.md +140 -140
- package/.agent/skills/customs-trade-compliance/SKILL.md +263 -263
- package/.agent/skills/dart-flutter-patterns/SKILL.md +563 -563
- package/.agent/skills/data-scraper-agent/SKILL.md +764 -764
- package/.agent/skills/database-design/SKILL.md +52 -52
- package/.agent/skills/database-design/database-selection.md +43 -43
- package/.agent/skills/database-design/indexing.md +39 -39
- package/.agent/skills/database-design/migrations.md +48 -48
- package/.agent/skills/database-design/optimization.md +36 -36
- package/.agent/skills/database-design/orm-selection.md +30 -30
- package/.agent/skills/database-design/schema-design.md +56 -56
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -172
- package/.agent/skills/database-migrations/SKILL.md +429 -429
- package/.agent/skills/deep-research/SKILL.md +155 -155
- package/.agent/skills/deployment-patterns/SKILL.md +427 -427
- package/.agent/skills/deployment-procedures/SKILL.md +241 -241
- package/.agent/skills/design-system/SKILL.md +82 -82
- package/.agent/skills/django-patterns/SKILL.md +734 -734
- package/.agent/skills/django-security/SKILL.md +593 -593
- package/.agent/skills/django-tdd/SKILL.md +729 -729
- package/.agent/skills/django-verification/SKILL.md +469 -469
- package/.agent/skills/dmux-workflows/SKILL.md +191 -191
- package/.agent/skills/doc.md +177 -177
- package/.agent/skills/docker-patterns/SKILL.md +364 -364
- package/.agent/skills/documentation-lookup/SKILL.md +90 -90
- package/.agent/skills/documentation-templates/SKILL.md +194 -194
- package/.agent/skills/dotnet-patterns/SKILL.md +321 -321
- package/.agent/skills/e2e-testing/SKILL.md +326 -326
- package/.agent/skills/energy-procurement/SKILL.md +228 -228
- package/.agent/skills/enterprise-agent-ops/SKILL.md +50 -50
- package/.agent/skills/eval-harness/SKILL.md +270 -270
- package/.agent/skills/exa-search/SKILL.md +103 -103
- package/.agent/skills/fal-ai-media/SKILL.md +284 -284
- package/.agent/skills/flutter-dart-code-review/SKILL.md +435 -435
- package/.agent/skills/foundation-models-on-device/SKILL.md +243 -243
- package/.agent/skills/frontend-design/SKILL.md +452 -452
- package/.agent/skills/frontend-design/animation-guide.md +331 -331
- package/.agent/skills/frontend-design/color-system.md +311 -311
- package/.agent/skills/frontend-design/decision-trees.md +418 -418
- package/.agent/skills/frontend-design/motion-graphics.md +306 -306
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -183
- package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -722
- package/.agent/skills/frontend-design/typography-system.md +345 -345
- package/.agent/skills/frontend-design/ux-psychology.md +1116 -1116
- package/.agent/skills/frontend-design/visual-effects.md +383 -383
- package/.agent/skills/frontend-patterns/SKILL.md +642 -642
- package/.agent/skills/frontend-slides/SKILL.md +184 -184
- package/.agent/skills/frontend-slides/style-presets.md +330 -330
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -119
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -135
- package/.agent/skills/game-development/SKILL.md +167 -167
- package/.agent/skills/game-development/game-art/SKILL.md +185 -185
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -190
- package/.agent/skills/game-development/game-design/SKILL.md +129 -129
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -108
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -132
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -144
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -123
- package/.agent/skills/game-development/web-games/SKILL.md +150 -150
- package/.agent/skills/gan-style-harness/SKILL.md +278 -278
- package/.agent/skills/geo-fundamentals/SKILL.md +156 -156
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -289
- package/.agent/skills/git-workflow/SKILL.md +715 -715
- package/.agent/skills/golang-patterns/SKILL.md +674 -674
- package/.agent/skills/golang-testing/SKILL.md +720 -720
- package/.agent/skills/google-workspace-ops/SKILL.md +95 -95
- package/.agent/skills/healthcare-cdss-patterns/SKILL.md +245 -245
- package/.agent/skills/healthcare-emr-patterns/SKILL.md +159 -159
- package/.agent/skills/healthcare-eval-harness/SKILL.md +207 -207
- package/.agent/skills/healthcare-phi-compliance/SKILL.md +145 -145
- package/.agent/skills/hexagonal-architecture/SKILL.md +276 -276
- package/.agent/skills/i18n-localization/SKILL.md +154 -154
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -241
- package/.agent/skills/intelligent-routing/SKILL.md +335 -335
- package/.agent/skills/inventory-demand-planning/SKILL.md +247 -247
- package/.agent/skills/investor-materials/SKILL.md +96 -96
- package/.agent/skills/investor-outreach/SKILL.md +91 -91
- package/.agent/skills/iterative-retrieval/SKILL.md +211 -211
- package/.agent/skills/java-coding-standards/SKILL.md +147 -147
- package/.agent/skills/jira-integration/SKILL.md +293 -293
- package/.agent/skills/jpa-patterns/SKILL.md +151 -151
- package/.agent/skills/kotlin-coroutines-flows/SKILL.md +284 -284
- package/.agent/skills/kotlin-exposed-patterns/SKILL.md +719 -719
- package/.agent/skills/kotlin-ktor-patterns/SKILL.md +689 -689
- package/.agent/skills/kotlin-patterns/SKILL.md +711 -711
- package/.agent/skills/kotlin-testing/SKILL.md +824 -824
- package/.agent/skills/laravel-patterns/SKILL.md +415 -415
- package/.agent/skills/laravel-plugin-discovery/SKILL.md +229 -229
- package/.agent/skills/laravel-security/SKILL.md +285 -285
- package/.agent/skills/laravel-tdd/SKILL.md +283 -283
- package/.agent/skills/laravel-verification/SKILL.md +179 -179
- package/.agent/skills/lead-intelligence/SKILL.md +321 -321
- package/.agent/skills/lead-intelligence/agents/enrichment-agent.md +85 -85
- package/.agent/skills/lead-intelligence/agents/mutual-mapper.md +75 -75
- package/.agent/skills/lead-intelligence/agents/outreach-drafter.md +98 -98
- package/.agent/skills/lead-intelligence/agents/signal-scorer.md +60 -60
- package/.agent/skills/lint-and-validate/SKILL.md +45 -45
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -184
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -173
- package/.agent/skills/liquid-glass-design/SKILL.md +279 -279
- package/.agent/skills/logistics-exception-management/SKILL.md +222 -222
- package/.agent/skills/manim-video/SKILL.md +89 -89
- package/.agent/skills/manim-video/assets/network-graph-scene.py +52 -52
- package/.agent/skills/market-research/SKILL.md +75 -75
- package/.agent/skills/mcp-server-patterns/SKILL.md +67 -67
- package/.agent/skills/mobile-design/SKILL.md +394 -394
- package/.agent/skills/mobile-design/decision-trees.md +516 -516
- package/.agent/skills/mobile-design/mobile-backend.md +491 -491
- package/.agent/skills/mobile-design/mobile-color-system.md +420 -420
- package/.agent/skills/mobile-design/mobile-debugging.md +122 -122
- package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -357
- package/.agent/skills/mobile-design/mobile-navigation.md +458 -458
- package/.agent/skills/mobile-design/mobile-performance.md +767 -767
- package/.agent/skills/mobile-design/mobile-testing.md +356 -356
- package/.agent/skills/mobile-design/mobile-typography.md +433 -433
- package/.agent/skills/mobile-design/platform-android.md +666 -666
- package/.agent/skills/mobile-design/platform-ios.md +561 -561
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -670
- package/.agent/skills/mobile-design/touch-psychology.md +537 -537
- package/.agent/skills/nanoclaw-repl/SKILL.md +33 -33
- package/.agent/skills/nestjs-patterns/SKILL.md +230 -230
- package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +351 -351
- package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
- package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
- package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
- package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
- package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
- package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
- package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
- package/.agent/skills/nextjs-react-expert/9-cache-components.md +103 -103
- package/.agent/skills/nextjs-react-expert/SKILL.md +293 -293
- package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
- package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
- package/.agent/skills/nextjs-turbopack/SKILL.md +44 -44
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -333
- package/.agent/skills/nutrient-document-processing/SKILL.md +167 -167
- package/.agent/skills/nuxt4-patterns/SKILL.md +100 -100
- package/.agent/skills/openclaw-persona-forge/SKILL.md +296 -296
- package/.agent/skills/openclaw-persona-forge/gacha.py +224 -224
- package/.agent/skills/openclaw-persona-forge/gacha.sh +5 -5
- package/.agent/skills/openclaw-persona-forge/references/avatar-style.md +124 -124
- package/.agent/skills/openclaw-persona-forge/references/boundary-rules.md +53 -53
- package/.agent/skills/openclaw-persona-forge/references/error-handling.md +53 -53
- package/.agent/skills/openclaw-persona-forge/references/identity-tension.md +48 -48
- package/.agent/skills/openclaw-persona-forge/references/naming-system.md +39 -39
- package/.agent/skills/openclaw-persona-forge/references/output-template.md +166 -166
- package/.agent/skills/opensource-pipeline/SKILL.md +255 -255
- package/.agent/skills/parallel-agents/SKILL.md +175 -175
- package/.agent/skills/performance-profiling/SKILL.md +143 -143
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -76
- package/.agent/skills/perl-patterns/SKILL.md +504 -504
- package/.agent/skills/perl-security/SKILL.md +503 -503
- package/.agent/skills/perl-testing/SKILL.md +475 -475
- package/.agent/skills/plan-writing/SKILL.md +152 -152
- package/.agent/skills/plankton-code-quality/SKILL.md +236 -236
- package/.agent/skills/postgres-patterns/SKILL.md +147 -147
- package/.agent/skills/powershell-windows/SKILL.md +167 -167
- package/.agent/skills/product-lens/SKILL.md +85 -85
- package/.agent/skills/production-scheduling/SKILL.md +238 -238
- package/.agent/skills/project-flow-ops/SKILL.md +111 -111
- package/.agent/skills/project-guidelines-example/SKILL.md +349 -349
- package/.agent/skills/prompt-optimizer/SKILL.md +397 -397
- package/.agent/skills/python-patterns/SKILL.md +750 -750
- package/.agent/skills/python-testing/SKILL.md +816 -816
- package/.agent/skills/pytorch-patterns/SKILL.md +396 -396
- package/.agent/skills/quality-nonconformance/SKILL.md +260 -260
- package/.agent/skills/ralphinho-rfc-pipeline/SKILL.md +67 -67
- package/.agent/skills/red-team-tactics/SKILL.md +199 -199
- package/.agent/skills/regex-vs-llm-structured-text/SKILL.md +220 -220
- package/.agent/skills/remotion-video-creation/SKILL.md +43 -43
- package/.agent/skills/remotion-video-creation/rules/3d.md +86 -86
- package/.agent/skills/remotion-video-creation/rules/animations.md +29 -29
- package/.agent/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -173
- package/.agent/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -100
- package/.agent/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -108
- package/.agent/skills/remotion-video-creation/rules/assets.md +78 -78
- package/.agent/skills/remotion-video-creation/rules/audio.md +172 -172
- package/.agent/skills/remotion-video-creation/rules/calculate-metadata.md +104 -104
- package/.agent/skills/remotion-video-creation/rules/can-decode.md +75 -75
- package/.agent/skills/remotion-video-creation/rules/charts.md +58 -58
- package/.agent/skills/remotion-video-creation/rules/compositions.md +146 -146
- package/.agent/skills/remotion-video-creation/rules/display-captions.md +126 -126
- package/.agent/skills/remotion-video-creation/rules/extract-frames.md +229 -229
- package/.agent/skills/remotion-video-creation/rules/fonts.md +152 -152
- package/.agent/skills/remotion-video-creation/rules/get-audio-duration.md +58 -58
- package/.agent/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -68
- package/.agent/skills/remotion-video-creation/rules/get-video-duration.md +58 -58
- package/.agent/skills/remotion-video-creation/rules/gifs.md +138 -138
- package/.agent/skills/remotion-video-creation/rules/images.md +130 -130
- package/.agent/skills/remotion-video-creation/rules/import-srt-captions.md +67 -67
- package/.agent/skills/remotion-video-creation/rules/lottie.md +67 -67
- package/.agent/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -34
- package/.agent/skills/remotion-video-creation/rules/measuring-text.md +143 -143
- package/.agent/skills/remotion-video-creation/rules/sequencing.md +106 -106
- package/.agent/skills/remotion-video-creation/rules/tailwind.md +11 -11
- package/.agent/skills/remotion-video-creation/rules/text-animations.md +20 -20
- package/.agent/skills/remotion-video-creation/rules/timing.md +179 -179
- package/.agent/skills/remotion-video-creation/rules/transcribe-captions.md +19 -19
- package/.agent/skills/remotion-video-creation/rules/transitions.md +122 -122
- package/.agent/skills/remotion-video-creation/rules/trimming.md +52 -52
- package/.agent/skills/remotion-video-creation/rules/videos.md +171 -171
- package/.agent/skills/repo-scan/SKILL.md +63 -63
- package/.agent/skills/returns-reverse-logistics/SKILL.md +240 -240
- package/.agent/skills/rules-distill/SKILL.md +264 -264
- package/.agent/skills/rules-distill/scripts/scan-rules.sh +58 -58
- package/.agent/skills/rules-distill/scripts/scan-skills.sh +129 -129
- package/.agent/skills/rust-patterns/SKILL.md +499 -499
- package/.agent/skills/rust-pro/SKILL.md +175 -175
- package/.agent/skills/rust-testing/SKILL.md +500 -500
- package/.agent/skills/safety-guard/SKILL.md +75 -75
- package/.agent/skills/santa-method/SKILL.md +306 -306
- package/.agent/skills/search-first/SKILL.md +161 -161
- package/.agent/skills/security-review/SKILL.md +495 -495
- package/.agent/skills/security-review/cloud-infrastructure-security.md +361 -361
- package/.agent/skills/security-scan/SKILL.md +165 -165
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -129
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
- package/.agent/skills/server-management/SKILL.md +161 -161
- package/.agent/skills/skill-comply/SKILL.md +58 -58
- package/.agent/skills/skill-comply/fixtures/compliant-trace.jsonl +5 -5
- package/.agent/skills/skill-comply/fixtures/noncompliant-trace.jsonl +3 -3
- package/.agent/skills/skill-comply/fixtures/tdd-spec.yaml +44 -44
- package/.agent/skills/skill-comply/prompts/classifier.md +24 -24
- package/.agent/skills/skill-comply/prompts/scenario-generator.md +62 -62
- package/.agent/skills/skill-comply/prompts/spec-generator.md +42 -42
- package/.agent/skills/skill-comply/pyproject.toml +15 -15
- package/.agent/skills/skill-comply/scripts/classifier.py +85 -85
- package/.agent/skills/skill-comply/scripts/grader.py +122 -122
- package/.agent/skills/skill-comply/scripts/parser.py +107 -107
- package/.agent/skills/skill-comply/scripts/report.py +170 -170
- package/.agent/skills/skill-comply/scripts/run.py +127 -127
- package/.agent/skills/skill-comply/scripts/runner.py +161 -161
- package/.agent/skills/skill-comply/scripts/scenario-generator.py +70 -70
- package/.agent/skills/skill-comply/scripts/spec-generator.py +72 -72
- package/.agent/skills/skill-comply/scripts/utils.py +13 -13
- package/.agent/skills/skill-comply/tests/test-grader.py +137 -137
- package/.agent/skills/skill-comply/tests/test-parser.py +90 -90
- package/.agent/skills/skill-stocktake/SKILL.md +193 -193
- package/.agent/skills/skill-stocktake/scripts/quick-diff.sh +87 -87
- package/.agent/skills/skill-stocktake/scripts/save-results.sh +56 -56
- package/.agent/skills/skill-stocktake/scripts/scan.sh +170 -170
- package/.agent/skills/social-graph-ranker/SKILL.md +154 -154
- package/.agent/skills/springboot-patterns/SKILL.md +314 -314
- package/.agent/skills/springboot-security/SKILL.md +272 -272
- package/.agent/skills/springboot-tdd/SKILL.md +158 -158
- package/.agent/skills/springboot-verification/SKILL.md +231 -231
- package/.agent/skills/strategic-compact/SKILL.md +131 -131
- package/.agent/skills/strategic-compact/suggest-compact.sh +54 -54
- package/.agent/skills/swift-actor-persistence/SKILL.md +143 -143
- package/.agent/skills/swift-concurrency-6-2/SKILL.md +216 -216
- package/.agent/skills/swift-protocol-di-testing/SKILL.md +190 -190
- package/.agent/skills/swiftui-patterns/SKILL.md +259 -259
- package/.agent/skills/systematic-debugging/SKILL.md +109 -109
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -269
- package/.agent/skills/tdd-workflow/SKILL.md +463 -463
- package/.agent/skills/team-builder/SKILL.md +168 -168
- package/.agent/skills/testing-patterns/SKILL.md +178 -178
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -219
- package/.agent/skills/token-budget-advisor/SKILL.md +133 -133
- package/.agent/skills/ui-demo/SKILL.md +465 -465
- package/.agent/skills/ui-ux-pro-max/SKILL.md +292 -292
- package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -26
- package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -97
- package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -101
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -31
- package/.agent/skills/ui-ux-pro-max/data/products.csv +96 -96
- package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/.agent/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
- package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/.agent/skills/ui-ux-pro-max/data/styles.csv +68 -68
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +57 -57
- package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
- package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
- package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -31
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +253 -253
- package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1067 -1067
- package/.agent/skills/ui-ux-pro-max/scripts/search.py +114 -114
- package/.agent/skills/verification-loop/SKILL.md +126 -126
- package/.agent/skills/video-editing/SKILL.md +310 -310
- package/.agent/skills/videodb/SKILL.md +374 -374
- package/.agent/skills/videodb/reference/api-reference.md +550 -550
- package/.agent/skills/videodb/reference/capture-reference.md +407 -407
- package/.agent/skills/videodb/reference/capture.md +101 -101
- package/.agent/skills/videodb/reference/editor.md +443 -443
- package/.agent/skills/videodb/reference/generative.md +331 -331
- package/.agent/skills/videodb/reference/rtstream-reference.md +564 -564
- package/.agent/skills/videodb/reference/rtstream.md +65 -65
- package/.agent/skills/videodb/reference/search.md +230 -230
- package/.agent/skills/videodb/reference/streaming.md +406 -406
- package/.agent/skills/videodb/reference/use-cases.md +118 -118
- package/.agent/skills/videodb/scripts/ws-listener.py +282 -282
- package/.agent/skills/visa-doc-translate/SKILL.md +117 -117
- package/.agent/skills/visa-doc-translate/readme.md +86 -86
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -276
- package/.agent/skills/vulnerability-scanner/checklists.md +121 -121
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
- package/.agent/skills/web-design-guidelines/SKILL.md +57 -57
- package/.agent/skills/webapp-testing/SKILL.md +187 -187
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -173
- package/.agent/skills/workspace-surface-audit/SKILL.md +125 -125
- package/.agent/skills/x-api/SKILL.md +230 -230
- package/.agent/tasks/lessons.md +40 -40
- package/.agent/tasks/todo.md +33 -33
- package/.agent/tasks/two-track-merge-contract.md +1 -1
- package/.agent/workflows/aside.md +164 -164
- package/.agent/workflows/brainstorm.md +113 -113
- package/.agent/workflows/build-fix.md +62 -62
- package/.agent/workflows/checkpoint.md +74 -74
- package/.agent/workflows/claw.md +23 -23
- package/.agent/workflows/clean-memory.md +34 -34
- package/.agent/workflows/code-review.md +289 -289
- package/.agent/workflows/context-budget.md +23 -23
- package/.agent/workflows/cpp-build.md +173 -173
- package/.agent/workflows/cpp-review.md +132 -132
- package/.agent/workflows/cpp-test.md +251 -251
- package/.agent/workflows/create.md +59 -59
- package/.agent/workflows/debug.md +103 -103
- package/.agent/workflows/deploy.md +176 -176
- package/.agent/workflows/devfleet.md +23 -23
- package/.agent/workflows/docs.md +23 -23
- package/.agent/workflows/e2e.md +268 -268
- package/.agent/workflows/enhance.md +63 -63
- package/.agent/workflows/eval.md +23 -23
- package/.agent/workflows/evolve.md +178 -178
- package/.agent/workflows/flutter-build.md +164 -164
- package/.agent/workflows/flutter-review.md +116 -116
- package/.agent/workflows/flutter-test.md +144 -144
- package/.agent/workflows/gan-build.md +99 -99
- package/.agent/workflows/gan-design.md +35 -35
- package/.agent/workflows/go-build.md +183 -183
- package/.agent/workflows/go-review.md +148 -148
- package/.agent/workflows/go-test.md +268 -268
- package/.agent/workflows/gradle-build.md +70 -70
- package/.agent/workflows/harness-audit.md +73 -73
- package/.agent/workflows/init-docs.md +46 -46
- package/.agent/workflows/instinct-export.md +66 -66
- package/.agent/workflows/instinct-import.md +114 -114
- package/.agent/workflows/instinct-status.md +59 -59
- package/.agent/workflows/jira.md +106 -106
- package/.agent/workflows/kotlin-build.md +174 -174
- package/.agent/workflows/kotlin-review.md +140 -140
- package/.agent/workflows/kotlin-test.md +312 -312
- package/.agent/workflows/learn-eval.md +116 -116
- package/.agent/workflows/learn.md +70 -70
- package/.agent/workflows/loop-start.md +32 -32
- package/.agent/workflows/loop-status.md +24 -24
- package/.agent/workflows/model-route.md +26 -26
- package/.agent/workflows/multi-backend.md +158 -158
- package/.agent/workflows/multi-execute.md +315 -315
- package/.agent/workflows/multi-frontend.md +158 -158
- package/.agent/workflows/multi-plan.md +268 -268
- package/.agent/workflows/multi-workflow.md +191 -191
- package/.agent/workflows/orchestrate.md +135 -135
- package/.agent/workflows/plan.md +117 -117
- package/.agent/workflows/pm2.md +272 -272
- package/.agent/workflows/preview.md +81 -81
- package/.agent/workflows/projects.md +39 -39
- package/.agent/workflows/promote.md +41 -41
- package/.agent/workflows/prompt-optimize.md +23 -23
- package/.agent/workflows/prp-commit.md +112 -112
- package/.agent/workflows/prp-implement.md +385 -385
- package/.agent/workflows/prp-plan.md +502 -502
- package/.agent/workflows/prp-pr.md +184 -184
- package/.agent/workflows/prp-prd.md +447 -447
- package/.agent/workflows/prune.md +31 -31
- package/.agent/workflows/python-review.md +297 -297
- package/.agent/workflows/quality-gate.md +29 -29
- package/.agent/workflows/refactor-clean.md +80 -80
- package/.agent/workflows/resume-session.md +156 -156
- package/.agent/workflows/rules-distill.md +20 -20
- package/.agent/workflows/rust-build.md +187 -187
- package/.agent/workflows/rust-review.md +142 -142
- package/.agent/workflows/rust-test.md +308 -308
- package/.agent/workflows/santa-loop.md +175 -175
- package/.agent/workflows/save-session.md +275 -275
- package/.agent/workflows/sessions.md +333 -333
- package/.agent/workflows/setup-pm.md +80 -80
- package/.agent/workflows/skill-create.md +174 -174
- package/.agent/workflows/skill-health.md +54 -54
- package/.agent/workflows/status.md +86 -86
- package/.agent/workflows/tdd.md +231 -231
- package/.agent/workflows/test-coverage.md +69 -69
- package/.agent/workflows/test.md +144 -144
- package/.agent/workflows/ui-ux-pro-max.md +295 -295
- package/.agent/workflows/update-codemaps.md +72 -72
- package/.agent/workflows/update-docs.md +84 -84
- package/.agent/workflows/verify.md +23 -23
- package/LICENSE +176 -176
- package/README.md +144 -144
- package/package.json +1 -1
- package/scripts/release-check.js +55 -55
- package/src/bin/cli.js +424 -354
- package/src/lib/installer.js +223 -11
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
---
|
|
2
|
-
paths:
|
|
3
|
-
- "**/*.cpp"
|
|
4
|
-
- "**/*.hpp"
|
|
5
|
-
- "**/*.cc"
|
|
6
|
-
- "**/*.hh"
|
|
7
|
-
- "**/*.cxx"
|
|
8
|
-
- "**/*.h"
|
|
9
|
-
- "**/CMakeLists.txt"
|
|
10
|
-
---
|
|
11
|
-
# C++ Security
|
|
12
|
-
|
|
13
|
-
> This file extends [common/security.md](../common/security.md) with C++ specific content.
|
|
14
|
-
|
|
15
|
-
## Memory Safety
|
|
16
|
-
|
|
17
|
-
- Never use raw `new`/`delete` — use smart pointers
|
|
18
|
-
- Never use C-style arrays — use `std::array` or `std::vector`
|
|
19
|
-
- Never use `malloc`/`free` — use C++ allocation
|
|
20
|
-
- Avoid `reinterpret_cast` unless absolutely necessary
|
|
21
|
-
|
|
22
|
-
## Buffer Overflows
|
|
23
|
-
|
|
24
|
-
- Use `std::string` over `char*`
|
|
25
|
-
- Use `.at()` for bounds-checked access when safety matters
|
|
26
|
-
- Never use `strcpy`, `strcat`, `sprintf` — use `std::string` or `fmt::format`
|
|
27
|
-
|
|
28
|
-
## Undefined Behavior
|
|
29
|
-
|
|
30
|
-
- Always initialize variables
|
|
31
|
-
- Avoid signed integer overflow
|
|
32
|
-
- Never dereference null or dangling pointers
|
|
33
|
-
- Use sanitizers in CI:
|
|
34
|
-
```bash
|
|
35
|
-
cmake -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined" ..
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Static Analysis
|
|
39
|
-
|
|
40
|
-
- Use **clang-tidy** for automated checks:
|
|
41
|
-
```bash
|
|
42
|
-
clang-tidy --checks='*' src/*.cpp
|
|
43
|
-
```
|
|
44
|
-
- Use **cppcheck** for additional analysis:
|
|
45
|
-
```bash
|
|
46
|
-
cppcheck --enable=all src/
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Reference
|
|
50
|
-
|
|
51
|
-
See skill: `cpp-coding-standards` for detailed security guidelines.
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.cpp"
|
|
4
|
+
- "**/*.hpp"
|
|
5
|
+
- "**/*.cc"
|
|
6
|
+
- "**/*.hh"
|
|
7
|
+
- "**/*.cxx"
|
|
8
|
+
- "**/*.h"
|
|
9
|
+
- "**/CMakeLists.txt"
|
|
10
|
+
---
|
|
11
|
+
# C++ Security
|
|
12
|
+
|
|
13
|
+
> This file extends [common/security.md](../common/security.md) with C++ specific content.
|
|
14
|
+
|
|
15
|
+
## Memory Safety
|
|
16
|
+
|
|
17
|
+
- Never use raw `new`/`delete` — use smart pointers
|
|
18
|
+
- Never use C-style arrays — use `std::array` or `std::vector`
|
|
19
|
+
- Never use `malloc`/`free` — use C++ allocation
|
|
20
|
+
- Avoid `reinterpret_cast` unless absolutely necessary
|
|
21
|
+
|
|
22
|
+
## Buffer Overflows
|
|
23
|
+
|
|
24
|
+
- Use `std::string` over `char*`
|
|
25
|
+
- Use `.at()` for bounds-checked access when safety matters
|
|
26
|
+
- Never use `strcpy`, `strcat`, `sprintf` — use `std::string` or `fmt::format`
|
|
27
|
+
|
|
28
|
+
## Undefined Behavior
|
|
29
|
+
|
|
30
|
+
- Always initialize variables
|
|
31
|
+
- Avoid signed integer overflow
|
|
32
|
+
- Never dereference null or dangling pointers
|
|
33
|
+
- Use sanitizers in CI:
|
|
34
|
+
```bash
|
|
35
|
+
cmake -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined" ..
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Static Analysis
|
|
39
|
+
|
|
40
|
+
- Use **clang-tidy** for automated checks:
|
|
41
|
+
```bash
|
|
42
|
+
clang-tidy --checks='*' src/*.cpp
|
|
43
|
+
```
|
|
44
|
+
- Use **cppcheck** for additional analysis:
|
|
45
|
+
```bash
|
|
46
|
+
cppcheck --enable=all src/
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Reference
|
|
50
|
+
|
|
51
|
+
See skill: `cpp-coding-standards` for detailed security guidelines.
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
---
|
|
2
|
-
paths:
|
|
3
|
-
- "**/*.cpp"
|
|
4
|
-
- "**/*.hpp"
|
|
5
|
-
- "**/*.cc"
|
|
6
|
-
- "**/*.hh"
|
|
7
|
-
- "**/*.cxx"
|
|
8
|
-
- "**/*.h"
|
|
9
|
-
- "**/CMakeLists.txt"
|
|
10
|
-
---
|
|
11
|
-
# C++ Testing
|
|
12
|
-
|
|
13
|
-
> This file extends [common/testing.md](../common/testing.md) with C++ specific content.
|
|
14
|
-
|
|
15
|
-
## Framework
|
|
16
|
-
|
|
17
|
-
Use **GoogleTest** (gtest/gmock) with **CMake/CTest**.
|
|
18
|
-
|
|
19
|
-
## Running Tests
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
cmake --build build && ctest --test-dir build --output-on-failure
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Coverage
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
cmake -DCMAKE_CXX_FLAGS="--coverage" -DCMAKE_EXE_LINKER_FLAGS="--coverage" ..
|
|
29
|
-
cmake --build .
|
|
30
|
-
ctest --output-on-failure
|
|
31
|
-
lcov --capture --directory . --output-file coverage.info
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Sanitizers
|
|
35
|
-
|
|
36
|
-
Always run tests with sanitizers in CI:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
cmake -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined" ..
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Reference
|
|
43
|
-
|
|
44
|
-
See skill: `cpp-testing` for detailed C++ testing patterns, TDD workflow, and GoogleTest/GMock usage.
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.cpp"
|
|
4
|
+
- "**/*.hpp"
|
|
5
|
+
- "**/*.cc"
|
|
6
|
+
- "**/*.hh"
|
|
7
|
+
- "**/*.cxx"
|
|
8
|
+
- "**/*.h"
|
|
9
|
+
- "**/CMakeLists.txt"
|
|
10
|
+
---
|
|
11
|
+
# C++ Testing
|
|
12
|
+
|
|
13
|
+
> This file extends [common/testing.md](../common/testing.md) with C++ specific content.
|
|
14
|
+
|
|
15
|
+
## Framework
|
|
16
|
+
|
|
17
|
+
Use **GoogleTest** (gtest/gmock) with **CMake/CTest**.
|
|
18
|
+
|
|
19
|
+
## Running Tests
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
cmake --build build && ctest --test-dir build --output-on-failure
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Coverage
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
cmake -DCMAKE_CXX_FLAGS="--coverage" -DCMAKE_EXE_LINKER_FLAGS="--coverage" ..
|
|
29
|
+
cmake --build .
|
|
30
|
+
ctest --output-on-failure
|
|
31
|
+
lcov --capture --directory . --output-file coverage.info
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Sanitizers
|
|
35
|
+
|
|
36
|
+
Always run tests with sanitizers in CI:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
cmake -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined" ..
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Reference
|
|
43
|
+
|
|
44
|
+
See skill: `cpp-testing` for detailed C++ testing patterns, TDD workflow, and GoogleTest/GMock usage.
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
---
|
|
2
|
-
paths:
|
|
3
|
-
- "**/*.cs"
|
|
4
|
-
- "**/*.csx"
|
|
5
|
-
---
|
|
6
|
-
# C# Coding Style
|
|
7
|
-
|
|
8
|
-
> This file extends [common/coding-style.md](../common/coding-style.md) with C#-specific content.
|
|
9
|
-
|
|
10
|
-
## Standards
|
|
11
|
-
|
|
12
|
-
- Follow current .NET conventions and enable nullable reference types
|
|
13
|
-
- Prefer explicit access modifiers on public and internal APIs
|
|
14
|
-
- Keep files aligned with the primary type they define
|
|
15
|
-
|
|
16
|
-
## Types and Models
|
|
17
|
-
|
|
18
|
-
- Prefer `record` or `record struct` for immutable value-like models
|
|
19
|
-
- Use `class` for entities or types with identity and lifecycle
|
|
20
|
-
- Use `interface` for service boundaries and abstractions
|
|
21
|
-
- Avoid `dynamic` in application code; prefer generics or explicit models
|
|
22
|
-
|
|
23
|
-
```csharp
|
|
24
|
-
public sealed record UserDto(Guid Id, string Email);
|
|
25
|
-
|
|
26
|
-
public interface IUserRepository
|
|
27
|
-
{
|
|
28
|
-
Task<UserDto?> FindByIdAsync(Guid id, CancellationToken cancellationToken);
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Immutability
|
|
33
|
-
|
|
34
|
-
- Prefer `init` setters, constructor parameters, and immutable collections for shared state
|
|
35
|
-
- Do not mutate input models in-place when producing updated state
|
|
36
|
-
|
|
37
|
-
```csharp
|
|
38
|
-
public sealed record UserProfile(string Name, string Email);
|
|
39
|
-
|
|
40
|
-
public static UserProfile Rename(UserProfile profile, string name) =>
|
|
41
|
-
profile with { Name = name };
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Async and Error Handling
|
|
45
|
-
|
|
46
|
-
- Prefer `async`/`await` over blocking calls like `.Result` or `.Wait()`
|
|
47
|
-
- Pass `CancellationToken` through public async APIs
|
|
48
|
-
- Throw specific exceptions and log with structured properties
|
|
49
|
-
|
|
50
|
-
```csharp
|
|
51
|
-
public async Task<Order> LoadOrderAsync(
|
|
52
|
-
Guid orderId,
|
|
53
|
-
CancellationToken cancellationToken)
|
|
54
|
-
{
|
|
55
|
-
try
|
|
56
|
-
{
|
|
57
|
-
return await repository.FindAsync(orderId, cancellationToken)
|
|
58
|
-
?? throw new InvalidOperationException($"Order {orderId} was not found.");
|
|
59
|
-
}
|
|
60
|
-
catch (Exception ex)
|
|
61
|
-
{
|
|
62
|
-
logger.LogError(ex, "Failed to load order {OrderId}", orderId);
|
|
63
|
-
throw;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Formatting
|
|
69
|
-
|
|
70
|
-
- Use `dotnet format` for formatting and analyzer fixes
|
|
71
|
-
- Keep `using` directives organized and remove unused imports
|
|
72
|
-
- Prefer expression-bodied members only when they stay readable
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.cs"
|
|
4
|
+
- "**/*.csx"
|
|
5
|
+
---
|
|
6
|
+
# C# Coding Style
|
|
7
|
+
|
|
8
|
+
> This file extends [common/coding-style.md](../common/coding-style.md) with C#-specific content.
|
|
9
|
+
|
|
10
|
+
## Standards
|
|
11
|
+
|
|
12
|
+
- Follow current .NET conventions and enable nullable reference types
|
|
13
|
+
- Prefer explicit access modifiers on public and internal APIs
|
|
14
|
+
- Keep files aligned with the primary type they define
|
|
15
|
+
|
|
16
|
+
## Types and Models
|
|
17
|
+
|
|
18
|
+
- Prefer `record` or `record struct` for immutable value-like models
|
|
19
|
+
- Use `class` for entities or types with identity and lifecycle
|
|
20
|
+
- Use `interface` for service boundaries and abstractions
|
|
21
|
+
- Avoid `dynamic` in application code; prefer generics or explicit models
|
|
22
|
+
|
|
23
|
+
```csharp
|
|
24
|
+
public sealed record UserDto(Guid Id, string Email);
|
|
25
|
+
|
|
26
|
+
public interface IUserRepository
|
|
27
|
+
{
|
|
28
|
+
Task<UserDto?> FindByIdAsync(Guid id, CancellationToken cancellationToken);
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Immutability
|
|
33
|
+
|
|
34
|
+
- Prefer `init` setters, constructor parameters, and immutable collections for shared state
|
|
35
|
+
- Do not mutate input models in-place when producing updated state
|
|
36
|
+
|
|
37
|
+
```csharp
|
|
38
|
+
public sealed record UserProfile(string Name, string Email);
|
|
39
|
+
|
|
40
|
+
public static UserProfile Rename(UserProfile profile, string name) =>
|
|
41
|
+
profile with { Name = name };
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Async and Error Handling
|
|
45
|
+
|
|
46
|
+
- Prefer `async`/`await` over blocking calls like `.Result` or `.Wait()`
|
|
47
|
+
- Pass `CancellationToken` through public async APIs
|
|
48
|
+
- Throw specific exceptions and log with structured properties
|
|
49
|
+
|
|
50
|
+
```csharp
|
|
51
|
+
public async Task<Order> LoadOrderAsync(
|
|
52
|
+
Guid orderId,
|
|
53
|
+
CancellationToken cancellationToken)
|
|
54
|
+
{
|
|
55
|
+
try
|
|
56
|
+
{
|
|
57
|
+
return await repository.FindAsync(orderId, cancellationToken)
|
|
58
|
+
?? throw new InvalidOperationException($"Order {orderId} was not found.");
|
|
59
|
+
}
|
|
60
|
+
catch (Exception ex)
|
|
61
|
+
{
|
|
62
|
+
logger.LogError(ex, "Failed to load order {OrderId}", orderId);
|
|
63
|
+
throw;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Formatting
|
|
69
|
+
|
|
70
|
+
- Use `dotnet format` for formatting and analyzer fixes
|
|
71
|
+
- Keep `using` directives organized and remove unused imports
|
|
72
|
+
- Prefer expression-bodied members only when they stay readable
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
---
|
|
2
|
-
paths:
|
|
3
|
-
- "**/*.cs"
|
|
4
|
-
- "**/*.csx"
|
|
5
|
-
- "**/*.csproj"
|
|
6
|
-
- "**/*.sln"
|
|
7
|
-
- "**/Directory.Build.props"
|
|
8
|
-
- "**/Directory.Build.targets"
|
|
9
|
-
---
|
|
10
|
-
# C# Hooks
|
|
11
|
-
|
|
12
|
-
> This file extends [common/hooks.md](../common/hooks.md) with C#-specific content.
|
|
13
|
-
|
|
14
|
-
## PostToolUse Hooks
|
|
15
|
-
|
|
16
|
-
Configure in `~/.claude/settings.json`:
|
|
17
|
-
|
|
18
|
-
- **dotnet format**: Auto-format edited C# files and apply analyzer fixes
|
|
19
|
-
- **dotnet build**: Verify the solution or project still compiles after edits
|
|
20
|
-
- **dotnet test --no-build**: Re-run the nearest relevant test project after behavior changes
|
|
21
|
-
|
|
22
|
-
## Stop Hooks
|
|
23
|
-
|
|
24
|
-
- Run a final `dotnet build` before ending a session with broad C# changes
|
|
25
|
-
- Warn on modified `appsettings*.json` files so secrets do not get committed
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.cs"
|
|
4
|
+
- "**/*.csx"
|
|
5
|
+
- "**/*.csproj"
|
|
6
|
+
- "**/*.sln"
|
|
7
|
+
- "**/Directory.Build.props"
|
|
8
|
+
- "**/Directory.Build.targets"
|
|
9
|
+
---
|
|
10
|
+
# C# Hooks
|
|
11
|
+
|
|
12
|
+
> This file extends [common/hooks.md](../common/hooks.md) with C#-specific content.
|
|
13
|
+
|
|
14
|
+
## PostToolUse Hooks
|
|
15
|
+
|
|
16
|
+
Configure in `~/.claude/settings.json`:
|
|
17
|
+
|
|
18
|
+
- **dotnet format**: Auto-format edited C# files and apply analyzer fixes
|
|
19
|
+
- **dotnet build**: Verify the solution or project still compiles after edits
|
|
20
|
+
- **dotnet test --no-build**: Re-run the nearest relevant test project after behavior changes
|
|
21
|
+
|
|
22
|
+
## Stop Hooks
|
|
23
|
+
|
|
24
|
+
- Run a final `dotnet build` before ending a session with broad C# changes
|
|
25
|
+
- Warn on modified `appsettings*.json` files so secrets do not get committed
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
---
|
|
2
|
-
paths:
|
|
3
|
-
- "**/*.cs"
|
|
4
|
-
- "**/*.csx"
|
|
5
|
-
---
|
|
6
|
-
# C# Patterns
|
|
7
|
-
|
|
8
|
-
> This file extends [common/patterns.md](../common/patterns.md) with C#-specific content.
|
|
9
|
-
|
|
10
|
-
## API Response Pattern
|
|
11
|
-
|
|
12
|
-
```csharp
|
|
13
|
-
public sealed record ApiResponse<T>(
|
|
14
|
-
bool Success,
|
|
15
|
-
T? Data = default,
|
|
16
|
-
string? Error = null,
|
|
17
|
-
object? Meta = null);
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Repository Pattern
|
|
21
|
-
|
|
22
|
-
```csharp
|
|
23
|
-
public interface IRepository<T>
|
|
24
|
-
{
|
|
25
|
-
Task<IReadOnlyList<T>> FindAllAsync(CancellationToken cancellationToken);
|
|
26
|
-
Task<T?> FindByIdAsync(Guid id, CancellationToken cancellationToken);
|
|
27
|
-
Task<T> CreateAsync(T entity, CancellationToken cancellationToken);
|
|
28
|
-
Task<T> UpdateAsync(T entity, CancellationToken cancellationToken);
|
|
29
|
-
Task DeleteAsync(Guid id, CancellationToken cancellationToken);
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Options Pattern
|
|
34
|
-
|
|
35
|
-
Use strongly typed options for config instead of reading raw strings throughout the codebase.
|
|
36
|
-
|
|
37
|
-
```csharp
|
|
38
|
-
public sealed class PaymentsOptions
|
|
39
|
-
{
|
|
40
|
-
public const string SectionName = "Payments";
|
|
41
|
-
public required string BaseUrl { get; init; }
|
|
42
|
-
public required string ApiKeySecretName { get; init; }
|
|
43
|
-
}
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Dependency Injection
|
|
47
|
-
|
|
48
|
-
- Depend on interfaces at service boundaries
|
|
49
|
-
- Keep constructors focused; if a service needs too many dependencies, split responsibilities
|
|
50
|
-
- Register lifetimes intentionally: singleton for stateless/shared services, scoped for request data, transient for lightweight pure workers
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.cs"
|
|
4
|
+
- "**/*.csx"
|
|
5
|
+
---
|
|
6
|
+
# C# Patterns
|
|
7
|
+
|
|
8
|
+
> This file extends [common/patterns.md](../common/patterns.md) with C#-specific content.
|
|
9
|
+
|
|
10
|
+
## API Response Pattern
|
|
11
|
+
|
|
12
|
+
```csharp
|
|
13
|
+
public sealed record ApiResponse<T>(
|
|
14
|
+
bool Success,
|
|
15
|
+
T? Data = default,
|
|
16
|
+
string? Error = null,
|
|
17
|
+
object? Meta = null);
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Repository Pattern
|
|
21
|
+
|
|
22
|
+
```csharp
|
|
23
|
+
public interface IRepository<T>
|
|
24
|
+
{
|
|
25
|
+
Task<IReadOnlyList<T>> FindAllAsync(CancellationToken cancellationToken);
|
|
26
|
+
Task<T?> FindByIdAsync(Guid id, CancellationToken cancellationToken);
|
|
27
|
+
Task<T> CreateAsync(T entity, CancellationToken cancellationToken);
|
|
28
|
+
Task<T> UpdateAsync(T entity, CancellationToken cancellationToken);
|
|
29
|
+
Task DeleteAsync(Guid id, CancellationToken cancellationToken);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Options Pattern
|
|
34
|
+
|
|
35
|
+
Use strongly typed options for config instead of reading raw strings throughout the codebase.
|
|
36
|
+
|
|
37
|
+
```csharp
|
|
38
|
+
public sealed class PaymentsOptions
|
|
39
|
+
{
|
|
40
|
+
public const string SectionName = "Payments";
|
|
41
|
+
public required string BaseUrl { get; init; }
|
|
42
|
+
public required string ApiKeySecretName { get; init; }
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Dependency Injection
|
|
47
|
+
|
|
48
|
+
- Depend on interfaces at service boundaries
|
|
49
|
+
- Keep constructors focused; if a service needs too many dependencies, split responsibilities
|
|
50
|
+
- Register lifetimes intentionally: singleton for stateless/shared services, scoped for request data, transient for lightweight pure workers
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
---
|
|
2
|
-
paths:
|
|
3
|
-
- "**/*.cs"
|
|
4
|
-
- "**/*.csx"
|
|
5
|
-
- "**/*.csproj"
|
|
6
|
-
- "**/appsettings*.json"
|
|
7
|
-
---
|
|
8
|
-
# C# Security
|
|
9
|
-
|
|
10
|
-
> This file extends [common/security.md](../common/security.md) with C#-specific content.
|
|
11
|
-
|
|
12
|
-
## Secret Management
|
|
13
|
-
|
|
14
|
-
- Never hardcode API keys, tokens, or connection strings in source code
|
|
15
|
-
- Use environment variables, user secrets for local development, and a secret manager in production
|
|
16
|
-
- Keep `appsettings.*.json` free of real credentials
|
|
17
|
-
|
|
18
|
-
```csharp
|
|
19
|
-
// BAD
|
|
20
|
-
const string ApiKey = "sk-live-123";
|
|
21
|
-
|
|
22
|
-
// GOOD
|
|
23
|
-
var apiKey = builder.Configuration["OpenAI:ApiKey"]
|
|
24
|
-
?? throw new InvalidOperationException("OpenAI:ApiKey is not configured.");
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## SQL Injection Prevention
|
|
28
|
-
|
|
29
|
-
- Always use parameterized queries with ADO.NET, Dapper, or EF Core
|
|
30
|
-
- Never concatenate user input into SQL strings
|
|
31
|
-
- Validate sort fields and filter operators before using dynamic query composition
|
|
32
|
-
|
|
33
|
-
```csharp
|
|
34
|
-
const string sql = "SELECT * FROM Orders WHERE CustomerId = @customerId";
|
|
35
|
-
await connection.QueryAsync<Order>(sql, new { customerId });
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Input Validation
|
|
39
|
-
|
|
40
|
-
- Validate DTOs at the application boundary
|
|
41
|
-
- Use data annotations, FluentValidation, or explicit guard clauses
|
|
42
|
-
- Reject invalid model state before running business logic
|
|
43
|
-
|
|
44
|
-
## Authentication and Authorization
|
|
45
|
-
|
|
46
|
-
- Prefer framework auth handlers instead of custom token parsing
|
|
47
|
-
- Enforce authorization policies at endpoint or handler boundaries
|
|
48
|
-
- Never log raw tokens, passwords, or PII
|
|
49
|
-
|
|
50
|
-
## Error Handling
|
|
51
|
-
|
|
52
|
-
- Return safe client-facing messages
|
|
53
|
-
- Log detailed exceptions with structured context server-side
|
|
54
|
-
- Do not expose stack traces, SQL text, or filesystem paths in API responses
|
|
55
|
-
|
|
56
|
-
## References
|
|
57
|
-
|
|
58
|
-
See skill: `security-review` for broader application security review checklists.
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.cs"
|
|
4
|
+
- "**/*.csx"
|
|
5
|
+
- "**/*.csproj"
|
|
6
|
+
- "**/appsettings*.json"
|
|
7
|
+
---
|
|
8
|
+
# C# Security
|
|
9
|
+
|
|
10
|
+
> This file extends [common/security.md](../common/security.md) with C#-specific content.
|
|
11
|
+
|
|
12
|
+
## Secret Management
|
|
13
|
+
|
|
14
|
+
- Never hardcode API keys, tokens, or connection strings in source code
|
|
15
|
+
- Use environment variables, user secrets for local development, and a secret manager in production
|
|
16
|
+
- Keep `appsettings.*.json` free of real credentials
|
|
17
|
+
|
|
18
|
+
```csharp
|
|
19
|
+
// BAD
|
|
20
|
+
const string ApiKey = "sk-live-123";
|
|
21
|
+
|
|
22
|
+
// GOOD
|
|
23
|
+
var apiKey = builder.Configuration["OpenAI:ApiKey"]
|
|
24
|
+
?? throw new InvalidOperationException("OpenAI:ApiKey is not configured.");
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## SQL Injection Prevention
|
|
28
|
+
|
|
29
|
+
- Always use parameterized queries with ADO.NET, Dapper, or EF Core
|
|
30
|
+
- Never concatenate user input into SQL strings
|
|
31
|
+
- Validate sort fields and filter operators before using dynamic query composition
|
|
32
|
+
|
|
33
|
+
```csharp
|
|
34
|
+
const string sql = "SELECT * FROM Orders WHERE CustomerId = @customerId";
|
|
35
|
+
await connection.QueryAsync<Order>(sql, new { customerId });
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Input Validation
|
|
39
|
+
|
|
40
|
+
- Validate DTOs at the application boundary
|
|
41
|
+
- Use data annotations, FluentValidation, or explicit guard clauses
|
|
42
|
+
- Reject invalid model state before running business logic
|
|
43
|
+
|
|
44
|
+
## Authentication and Authorization
|
|
45
|
+
|
|
46
|
+
- Prefer framework auth handlers instead of custom token parsing
|
|
47
|
+
- Enforce authorization policies at endpoint or handler boundaries
|
|
48
|
+
- Never log raw tokens, passwords, or PII
|
|
49
|
+
|
|
50
|
+
## Error Handling
|
|
51
|
+
|
|
52
|
+
- Return safe client-facing messages
|
|
53
|
+
- Log detailed exceptions with structured context server-side
|
|
54
|
+
- Do not expose stack traces, SQL text, or filesystem paths in API responses
|
|
55
|
+
|
|
56
|
+
## References
|
|
57
|
+
|
|
58
|
+
See skill: `security-review` for broader application security review checklists.
|