@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,469 +1,469 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: django-verification
|
|
3
|
-
description: "Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR."
|
|
4
|
-
origin: ECC
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Django Verification Loop
|
|
8
|
-
|
|
9
|
-
Run before PRs, after major changes, and pre-deploy to ensure Django application quality and security.
|
|
10
|
-
|
|
11
|
-
## When to Activate
|
|
12
|
-
|
|
13
|
-
- Before opening a pull request for a Django project
|
|
14
|
-
- After major model changes, migration updates, or dependency upgrades
|
|
15
|
-
- Pre-deployment verification for staging or production
|
|
16
|
-
- Running full environment → lint → test → security → deploy readiness pipeline
|
|
17
|
-
- Validating migration safety and test coverage
|
|
18
|
-
|
|
19
|
-
## Phase 1: Environment Check
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
# Verify Python version
|
|
23
|
-
python --version # Should match project requirements
|
|
24
|
-
|
|
25
|
-
# Check virtual environment
|
|
26
|
-
which python
|
|
27
|
-
pip list --outdated
|
|
28
|
-
|
|
29
|
-
# Verify environment variables
|
|
30
|
-
python -c "import os; import environ; print('DJANGO_SECRET_KEY set' if os.environ.get('DJANGO_SECRET_KEY') else 'MISSING: DJANGO_SECRET_KEY')"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
If environment is misconfigured, stop and fix.
|
|
34
|
-
|
|
35
|
-
## Phase 2: Code Quality & Formatting
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
# Type checking
|
|
39
|
-
mypy . --config-file pyproject.toml
|
|
40
|
-
|
|
41
|
-
# Linting with ruff
|
|
42
|
-
ruff check . --fix
|
|
43
|
-
|
|
44
|
-
# Formatting with black
|
|
45
|
-
black . --check
|
|
46
|
-
black . # Auto-fix
|
|
47
|
-
|
|
48
|
-
# Import sorting
|
|
49
|
-
isort . --check-only
|
|
50
|
-
isort . # Auto-fix
|
|
51
|
-
|
|
52
|
-
# Django-specific checks
|
|
53
|
-
python manage.py check --deploy
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Common issues:
|
|
57
|
-
- Missing type hints on public functions
|
|
58
|
-
- PEP 8 formatting violations
|
|
59
|
-
- Unsorted imports
|
|
60
|
-
- Debug settings left in production configuration
|
|
61
|
-
|
|
62
|
-
## Phase 3: Migrations
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
# Check for unapplied migrations
|
|
66
|
-
python manage.py showmigrations
|
|
67
|
-
|
|
68
|
-
# Create missing migrations
|
|
69
|
-
python manage.py makemigrations --check
|
|
70
|
-
|
|
71
|
-
# Dry-run migration application
|
|
72
|
-
python manage.py migrate --plan
|
|
73
|
-
|
|
74
|
-
# Apply migrations (test environment)
|
|
75
|
-
python manage.py migrate
|
|
76
|
-
|
|
77
|
-
# Check for migration conflicts
|
|
78
|
-
python manage.py makemigrations --merge # Only if conflicts exist
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Report:
|
|
82
|
-
- Number of pending migrations
|
|
83
|
-
- Any migration conflicts
|
|
84
|
-
- Model changes without migrations
|
|
85
|
-
|
|
86
|
-
## Phase 4: Tests + Coverage
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
# Run all tests with pytest
|
|
90
|
-
pytest --cov=apps --cov-report=html --cov-report=term-missing --reuse-db
|
|
91
|
-
|
|
92
|
-
# Run specific app tests
|
|
93
|
-
pytest apps/users/tests/
|
|
94
|
-
|
|
95
|
-
# Run with markers
|
|
96
|
-
pytest -m "not slow" # Skip slow tests
|
|
97
|
-
pytest -m integration # Only integration tests
|
|
98
|
-
|
|
99
|
-
# Coverage report
|
|
100
|
-
open htmlcov/index.html
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
Report:
|
|
104
|
-
- Total tests: X passed, Y failed, Z skipped
|
|
105
|
-
- Overall coverage: XX%
|
|
106
|
-
- Per-app coverage breakdown
|
|
107
|
-
|
|
108
|
-
Coverage targets:
|
|
109
|
-
|
|
110
|
-
| Component | Target |
|
|
111
|
-
|-----------|--------|
|
|
112
|
-
| Models | 90%+ |
|
|
113
|
-
| Serializers | 85%+ |
|
|
114
|
-
| Views | 80%+ |
|
|
115
|
-
| Services | 90%+ |
|
|
116
|
-
| Overall | 80%+ |
|
|
117
|
-
|
|
118
|
-
## Phase 5: Security Scan
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
# Dependency vulnerabilities
|
|
122
|
-
pip-audit
|
|
123
|
-
safety check --full-report
|
|
124
|
-
|
|
125
|
-
# Django security checks
|
|
126
|
-
python manage.py check --deploy
|
|
127
|
-
|
|
128
|
-
# Bandit security linter
|
|
129
|
-
bandit -r . -f json -o bandit-report.json
|
|
130
|
-
|
|
131
|
-
# Secret scanning (if gitleaks is installed)
|
|
132
|
-
gitleaks detect --source . --verbose
|
|
133
|
-
|
|
134
|
-
# Environment variable check
|
|
135
|
-
python -c "from django.core.exceptions import ImproperlyConfigured; from django.conf import settings; settings.DEBUG"
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
Report:
|
|
139
|
-
- Vulnerable dependencies found
|
|
140
|
-
- Security configuration issues
|
|
141
|
-
- Hardcoded secrets detected
|
|
142
|
-
- DEBUG mode status (should be False in production)
|
|
143
|
-
|
|
144
|
-
## Phase 6: Django Management Commands
|
|
145
|
-
|
|
146
|
-
```bash
|
|
147
|
-
# Check for model issues
|
|
148
|
-
python manage.py check
|
|
149
|
-
|
|
150
|
-
# Collect static files
|
|
151
|
-
python manage.py collectstatic --noinput --clear
|
|
152
|
-
|
|
153
|
-
# Create superuser (if needed for tests)
|
|
154
|
-
echo "from apps.users.models import User; User.objects.create_superuser('admin@example.com', 'admin')" | python manage.py shell
|
|
155
|
-
|
|
156
|
-
# Database integrity
|
|
157
|
-
python manage.py check --database default
|
|
158
|
-
|
|
159
|
-
# Cache verification (if using Redis)
|
|
160
|
-
python -c "from django.core.cache import cache; cache.set('test', 'value', 10); print(cache.get('test'))"
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
## Phase 7: Performance Checks
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
# Django Debug Toolbar output (check for N+1 queries)
|
|
167
|
-
# Run in dev mode with DEBUG=True and access a page
|
|
168
|
-
# Look for duplicate queries in SQL panel
|
|
169
|
-
|
|
170
|
-
# Query count analysis
|
|
171
|
-
django-admin debugsqlshell # If django-debug-sqlshell installed
|
|
172
|
-
|
|
173
|
-
# Check for missing indexes
|
|
174
|
-
python manage.py shell << EOF
|
|
175
|
-
from django.db import connection
|
|
176
|
-
with connection.cursor() as cursor:
|
|
177
|
-
cursor.execute("SELECT table_name, index_name FROM information_schema.statistics WHERE table_schema = 'public'")
|
|
178
|
-
print(cursor.fetchall())
|
|
179
|
-
EOF
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
Report:
|
|
183
|
-
- Number of queries per page (should be < 50 for typical pages)
|
|
184
|
-
- Missing database indexes
|
|
185
|
-
- Duplicate queries detected
|
|
186
|
-
|
|
187
|
-
## Phase 8: Static Assets
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
# Check for npm dependencies (if using npm)
|
|
191
|
-
npm audit
|
|
192
|
-
npm audit fix
|
|
193
|
-
|
|
194
|
-
# Build static files (if using webpack/vite)
|
|
195
|
-
npm run build
|
|
196
|
-
|
|
197
|
-
# Verify static files
|
|
198
|
-
ls -la staticfiles/
|
|
199
|
-
python manage.py findstatic css/style.css
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
## Phase 9: Configuration Review
|
|
203
|
-
|
|
204
|
-
```python
|
|
205
|
-
# Run in Python shell to verify settings
|
|
206
|
-
python manage.py shell << EOF
|
|
207
|
-
from django.conf import settings
|
|
208
|
-
import os
|
|
209
|
-
|
|
210
|
-
# Critical checks
|
|
211
|
-
checks = {
|
|
212
|
-
'DEBUG is False': not settings.DEBUG,
|
|
213
|
-
'SECRET_KEY set': bool(settings.SECRET_KEY and len(settings.SECRET_KEY) > 30),
|
|
214
|
-
'ALLOWED_HOSTS set': len(settings.ALLOWED_HOSTS) > 0,
|
|
215
|
-
'HTTPS enabled': getattr(settings, 'SECURE_SSL_REDIRECT', False),
|
|
216
|
-
'HSTS enabled': getattr(settings, 'SECURE_HSTS_SECONDS', 0) > 0,
|
|
217
|
-
'Database configured': settings.DATABASES['default']['ENGINE'] != 'django.db.backends.sqlite3',
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
for check, result in checks.items():
|
|
221
|
-
status = '✓' if result else '✗'
|
|
222
|
-
print(f"{status} {check}")
|
|
223
|
-
EOF
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
## Phase 10: Logging Configuration
|
|
227
|
-
|
|
228
|
-
```bash
|
|
229
|
-
# Test logging output
|
|
230
|
-
python manage.py shell << EOF
|
|
231
|
-
import logging
|
|
232
|
-
logger = logging.getLogger('django')
|
|
233
|
-
logger.warning('Test warning message')
|
|
234
|
-
logger.error('Test error message')
|
|
235
|
-
EOF
|
|
236
|
-
|
|
237
|
-
# Check log files (if configured)
|
|
238
|
-
tail -f /var/log/django/django.log
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
## Phase 11: API Documentation (if DRF)
|
|
242
|
-
|
|
243
|
-
```bash
|
|
244
|
-
# Generate schema
|
|
245
|
-
python manage.py generateschema --format openapi-json > schema.json
|
|
246
|
-
|
|
247
|
-
# Validate schema
|
|
248
|
-
# Check if schema.json is valid JSON
|
|
249
|
-
python -c "import json; json.load(open('schema.json'))"
|
|
250
|
-
|
|
251
|
-
# Access Swagger UI (if using drf-yasg)
|
|
252
|
-
# Visit http://localhost:8000/swagger/ in browser
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
## Phase 12: Diff Review
|
|
256
|
-
|
|
257
|
-
```bash
|
|
258
|
-
# Show diff statistics
|
|
259
|
-
git diff --stat
|
|
260
|
-
|
|
261
|
-
# Show actual changes
|
|
262
|
-
git diff
|
|
263
|
-
|
|
264
|
-
# Show changed files
|
|
265
|
-
git diff --name-only
|
|
266
|
-
|
|
267
|
-
# Check for common issues
|
|
268
|
-
git diff | grep -i "todo\|fixme\|hack\|xxx"
|
|
269
|
-
git diff | grep "print(" # Debug statements
|
|
270
|
-
git diff | grep "DEBUG = True" # Debug mode
|
|
271
|
-
git diff | grep "import pdb" # Debugger
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
Checklist:
|
|
275
|
-
- No debugging statements (print, pdb, breakpoint())
|
|
276
|
-
- No TODO/FIXME comments in critical code
|
|
277
|
-
- No hardcoded secrets or credentials
|
|
278
|
-
- Database migrations included for model changes
|
|
279
|
-
- Configuration changes documented
|
|
280
|
-
- Error handling present for external calls
|
|
281
|
-
- Transaction management where needed
|
|
282
|
-
|
|
283
|
-
## Output Template
|
|
284
|
-
|
|
285
|
-
```
|
|
286
|
-
DJANGO VERIFICATION REPORT
|
|
287
|
-
==========================
|
|
288
|
-
|
|
289
|
-
Phase 1: Environment Check
|
|
290
|
-
✓ Python 3.11.5
|
|
291
|
-
✓ Virtual environment active
|
|
292
|
-
✓ All environment variables set
|
|
293
|
-
|
|
294
|
-
Phase 2: Code Quality
|
|
295
|
-
✓ mypy: No type errors
|
|
296
|
-
✗ ruff: 3 issues found (auto-fixed)
|
|
297
|
-
✓ black: No formatting issues
|
|
298
|
-
✓ isort: Imports properly sorted
|
|
299
|
-
✓ manage.py check: No issues
|
|
300
|
-
|
|
301
|
-
Phase 3: Migrations
|
|
302
|
-
✓ No unapplied migrations
|
|
303
|
-
✓ No migration conflicts
|
|
304
|
-
✓ All models have migrations
|
|
305
|
-
|
|
306
|
-
Phase 4: Tests + Coverage
|
|
307
|
-
Tests: 247 passed, 0 failed, 5 skipped
|
|
308
|
-
Coverage:
|
|
309
|
-
Overall: 87%
|
|
310
|
-
users: 92%
|
|
311
|
-
products: 89%
|
|
312
|
-
orders: 85%
|
|
313
|
-
payments: 91%
|
|
314
|
-
|
|
315
|
-
Phase 5: Security Scan
|
|
316
|
-
✗ pip-audit: 2 vulnerabilities found (fix required)
|
|
317
|
-
✓ safety check: No issues
|
|
318
|
-
✓ bandit: No security issues
|
|
319
|
-
✓ No secrets detected
|
|
320
|
-
✓ DEBUG = False
|
|
321
|
-
|
|
322
|
-
Phase 6: Django Commands
|
|
323
|
-
✓ collectstatic completed
|
|
324
|
-
✓ Database integrity OK
|
|
325
|
-
✓ Cache backend reachable
|
|
326
|
-
|
|
327
|
-
Phase 7: Performance
|
|
328
|
-
✓ No N+1 queries detected
|
|
329
|
-
✓ Database indexes configured
|
|
330
|
-
✓ Query count acceptable
|
|
331
|
-
|
|
332
|
-
Phase 8: Static Assets
|
|
333
|
-
✓ npm audit: No vulnerabilities
|
|
334
|
-
✓ Assets built successfully
|
|
335
|
-
✓ Static files collected
|
|
336
|
-
|
|
337
|
-
Phase 9: Configuration
|
|
338
|
-
✓ DEBUG = False
|
|
339
|
-
✓ SECRET_KEY configured
|
|
340
|
-
✓ ALLOWED_HOSTS set
|
|
341
|
-
✓ HTTPS enabled
|
|
342
|
-
✓ HSTS enabled
|
|
343
|
-
✓ Database configured
|
|
344
|
-
|
|
345
|
-
Phase 10: Logging
|
|
346
|
-
✓ Logging configured
|
|
347
|
-
✓ Log files writable
|
|
348
|
-
|
|
349
|
-
Phase 11: API Documentation
|
|
350
|
-
✓ Schema generated
|
|
351
|
-
✓ Swagger UI accessible
|
|
352
|
-
|
|
353
|
-
Phase 12: Diff Review
|
|
354
|
-
Files changed: 12
|
|
355
|
-
+450, -120 lines
|
|
356
|
-
✓ No debug statements
|
|
357
|
-
✓ No hardcoded secrets
|
|
358
|
-
✓ Migrations included
|
|
359
|
-
|
|
360
|
-
RECOMMENDATION: WARNING: Fix pip-audit vulnerabilities before deploying
|
|
361
|
-
|
|
362
|
-
NEXT STEPS:
|
|
363
|
-
1. Update vulnerable dependencies
|
|
364
|
-
2. Re-run security scan
|
|
365
|
-
3. Deploy to staging for final testing
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
## Pre-Deployment Checklist
|
|
369
|
-
|
|
370
|
-
- [ ] All tests passing
|
|
371
|
-
- [ ] Coverage ≥ 80%
|
|
372
|
-
- [ ] No security vulnerabilities
|
|
373
|
-
- [ ] No unapplied migrations
|
|
374
|
-
- [ ] DEBUG = False in production settings
|
|
375
|
-
- [ ] SECRET_KEY properly configured
|
|
376
|
-
- [ ] ALLOWED_HOSTS set correctly
|
|
377
|
-
- [ ] Database backups enabled
|
|
378
|
-
- [ ] Static files collected and served
|
|
379
|
-
- [ ] Logging configured and working
|
|
380
|
-
- [ ] Error monitoring (Sentry, etc.) configured
|
|
381
|
-
- [ ] CDN configured (if applicable)
|
|
382
|
-
- [ ] Redis/cache backend configured
|
|
383
|
-
- [ ] Celery workers running (if applicable)
|
|
384
|
-
- [ ] HTTPS/SSL configured
|
|
385
|
-
- [ ] Environment variables documented
|
|
386
|
-
|
|
387
|
-
## Continuous Integration
|
|
388
|
-
|
|
389
|
-
### GitHub Actions Example
|
|
390
|
-
|
|
391
|
-
```yaml
|
|
392
|
-
# .github/workflows/django-verification.yml
|
|
393
|
-
name: Django Verification
|
|
394
|
-
|
|
395
|
-
on: [push, pull_request]
|
|
396
|
-
|
|
397
|
-
jobs:
|
|
398
|
-
verify:
|
|
399
|
-
runs-on: ubuntu-latest
|
|
400
|
-
services:
|
|
401
|
-
postgres:
|
|
402
|
-
image: postgres:14
|
|
403
|
-
env:
|
|
404
|
-
POSTGRES_PASSWORD: postgres
|
|
405
|
-
options: >-
|
|
406
|
-
--health-cmd pg_isready
|
|
407
|
-
--health-interval 10s
|
|
408
|
-
--health-timeout 5s
|
|
409
|
-
--health-retries 5
|
|
410
|
-
|
|
411
|
-
steps:
|
|
412
|
-
- uses: actions/checkout@v3
|
|
413
|
-
|
|
414
|
-
- name: Set up Python
|
|
415
|
-
uses: actions/setup-python@v4
|
|
416
|
-
with:
|
|
417
|
-
python-version: '3.11'
|
|
418
|
-
|
|
419
|
-
- name: Cache pip
|
|
420
|
-
uses: actions/cache@v3
|
|
421
|
-
with:
|
|
422
|
-
path: ~/.cache/pip
|
|
423
|
-
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
|
|
424
|
-
|
|
425
|
-
- name: Install dependencies
|
|
426
|
-
run: |
|
|
427
|
-
pip install -r requirements.txt
|
|
428
|
-
pip install ruff black mypy pytest pytest-django pytest-cov bandit safety pip-audit
|
|
429
|
-
|
|
430
|
-
- name: Code quality checks
|
|
431
|
-
run: |
|
|
432
|
-
ruff check .
|
|
433
|
-
black . --check
|
|
434
|
-
isort . --check-only
|
|
435
|
-
mypy .
|
|
436
|
-
|
|
437
|
-
- name: Security scan
|
|
438
|
-
run: |
|
|
439
|
-
bandit -r . -f json -o bandit-report.json
|
|
440
|
-
safety check --full-report
|
|
441
|
-
pip-audit
|
|
442
|
-
|
|
443
|
-
- name: Run tests
|
|
444
|
-
env:
|
|
445
|
-
DATABASE_URL: postgres://postgres:postgres@localhost:5432/test
|
|
446
|
-
DJANGO_SECRET_KEY: test-secret-key
|
|
447
|
-
run: |
|
|
448
|
-
pytest --cov=apps --cov-report=xml --cov-report=term-missing
|
|
449
|
-
|
|
450
|
-
- name: Upload coverage
|
|
451
|
-
uses: codecov/codecov-action@v3
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
## Quick Reference
|
|
455
|
-
|
|
456
|
-
| Check | Command |
|
|
457
|
-
|-------|---------|
|
|
458
|
-
| Environment | `python --version` |
|
|
459
|
-
| Type checking | `mypy .` |
|
|
460
|
-
| Linting | `ruff check .` |
|
|
461
|
-
| Formatting | `black . --check` |
|
|
462
|
-
| Migrations | `python manage.py makemigrations --check` |
|
|
463
|
-
| Tests | `pytest --cov=apps` |
|
|
464
|
-
| Security | `pip-audit && bandit -r .` |
|
|
465
|
-
| Django check | `python manage.py check --deploy` |
|
|
466
|
-
| Collectstatic | `python manage.py collectstatic --noinput` |
|
|
467
|
-
| Diff stats | `git diff --stat` |
|
|
468
|
-
|
|
469
|
-
Remember: Automated verification catches common issues but doesn't replace manual code review and testing in staging environment.
|
|
1
|
+
---
|
|
2
|
+
name: django-verification
|
|
3
|
+
description: "Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR."
|
|
4
|
+
origin: ECC
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Django Verification Loop
|
|
8
|
+
|
|
9
|
+
Run before PRs, after major changes, and pre-deploy to ensure Django application quality and security.
|
|
10
|
+
|
|
11
|
+
## When to Activate
|
|
12
|
+
|
|
13
|
+
- Before opening a pull request for a Django project
|
|
14
|
+
- After major model changes, migration updates, or dependency upgrades
|
|
15
|
+
- Pre-deployment verification for staging or production
|
|
16
|
+
- Running full environment → lint → test → security → deploy readiness pipeline
|
|
17
|
+
- Validating migration safety and test coverage
|
|
18
|
+
|
|
19
|
+
## Phase 1: Environment Check
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Verify Python version
|
|
23
|
+
python --version # Should match project requirements
|
|
24
|
+
|
|
25
|
+
# Check virtual environment
|
|
26
|
+
which python
|
|
27
|
+
pip list --outdated
|
|
28
|
+
|
|
29
|
+
# Verify environment variables
|
|
30
|
+
python -c "import os; import environ; print('DJANGO_SECRET_KEY set' if os.environ.get('DJANGO_SECRET_KEY') else 'MISSING: DJANGO_SECRET_KEY')"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
If environment is misconfigured, stop and fix.
|
|
34
|
+
|
|
35
|
+
## Phase 2: Code Quality & Formatting
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Type checking
|
|
39
|
+
mypy . --config-file pyproject.toml
|
|
40
|
+
|
|
41
|
+
# Linting with ruff
|
|
42
|
+
ruff check . --fix
|
|
43
|
+
|
|
44
|
+
# Formatting with black
|
|
45
|
+
black . --check
|
|
46
|
+
black . # Auto-fix
|
|
47
|
+
|
|
48
|
+
# Import sorting
|
|
49
|
+
isort . --check-only
|
|
50
|
+
isort . # Auto-fix
|
|
51
|
+
|
|
52
|
+
# Django-specific checks
|
|
53
|
+
python manage.py check --deploy
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Common issues:
|
|
57
|
+
- Missing type hints on public functions
|
|
58
|
+
- PEP 8 formatting violations
|
|
59
|
+
- Unsorted imports
|
|
60
|
+
- Debug settings left in production configuration
|
|
61
|
+
|
|
62
|
+
## Phase 3: Migrations
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Check for unapplied migrations
|
|
66
|
+
python manage.py showmigrations
|
|
67
|
+
|
|
68
|
+
# Create missing migrations
|
|
69
|
+
python manage.py makemigrations --check
|
|
70
|
+
|
|
71
|
+
# Dry-run migration application
|
|
72
|
+
python manage.py migrate --plan
|
|
73
|
+
|
|
74
|
+
# Apply migrations (test environment)
|
|
75
|
+
python manage.py migrate
|
|
76
|
+
|
|
77
|
+
# Check for migration conflicts
|
|
78
|
+
python manage.py makemigrations --merge # Only if conflicts exist
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Report:
|
|
82
|
+
- Number of pending migrations
|
|
83
|
+
- Any migration conflicts
|
|
84
|
+
- Model changes without migrations
|
|
85
|
+
|
|
86
|
+
## Phase 4: Tests + Coverage
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Run all tests with pytest
|
|
90
|
+
pytest --cov=apps --cov-report=html --cov-report=term-missing --reuse-db
|
|
91
|
+
|
|
92
|
+
# Run specific app tests
|
|
93
|
+
pytest apps/users/tests/
|
|
94
|
+
|
|
95
|
+
# Run with markers
|
|
96
|
+
pytest -m "not slow" # Skip slow tests
|
|
97
|
+
pytest -m integration # Only integration tests
|
|
98
|
+
|
|
99
|
+
# Coverage report
|
|
100
|
+
open htmlcov/index.html
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Report:
|
|
104
|
+
- Total tests: X passed, Y failed, Z skipped
|
|
105
|
+
- Overall coverage: XX%
|
|
106
|
+
- Per-app coverage breakdown
|
|
107
|
+
|
|
108
|
+
Coverage targets:
|
|
109
|
+
|
|
110
|
+
| Component | Target |
|
|
111
|
+
|-----------|--------|
|
|
112
|
+
| Models | 90%+ |
|
|
113
|
+
| Serializers | 85%+ |
|
|
114
|
+
| Views | 80%+ |
|
|
115
|
+
| Services | 90%+ |
|
|
116
|
+
| Overall | 80%+ |
|
|
117
|
+
|
|
118
|
+
## Phase 5: Security Scan
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Dependency vulnerabilities
|
|
122
|
+
pip-audit
|
|
123
|
+
safety check --full-report
|
|
124
|
+
|
|
125
|
+
# Django security checks
|
|
126
|
+
python manage.py check --deploy
|
|
127
|
+
|
|
128
|
+
# Bandit security linter
|
|
129
|
+
bandit -r . -f json -o bandit-report.json
|
|
130
|
+
|
|
131
|
+
# Secret scanning (if gitleaks is installed)
|
|
132
|
+
gitleaks detect --source . --verbose
|
|
133
|
+
|
|
134
|
+
# Environment variable check
|
|
135
|
+
python -c "from django.core.exceptions import ImproperlyConfigured; from django.conf import settings; settings.DEBUG"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Report:
|
|
139
|
+
- Vulnerable dependencies found
|
|
140
|
+
- Security configuration issues
|
|
141
|
+
- Hardcoded secrets detected
|
|
142
|
+
- DEBUG mode status (should be False in production)
|
|
143
|
+
|
|
144
|
+
## Phase 6: Django Management Commands
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Check for model issues
|
|
148
|
+
python manage.py check
|
|
149
|
+
|
|
150
|
+
# Collect static files
|
|
151
|
+
python manage.py collectstatic --noinput --clear
|
|
152
|
+
|
|
153
|
+
# Create superuser (if needed for tests)
|
|
154
|
+
echo "from apps.users.models import User; User.objects.create_superuser('admin@example.com', 'admin')" | python manage.py shell
|
|
155
|
+
|
|
156
|
+
# Database integrity
|
|
157
|
+
python manage.py check --database default
|
|
158
|
+
|
|
159
|
+
# Cache verification (if using Redis)
|
|
160
|
+
python -c "from django.core.cache import cache; cache.set('test', 'value', 10); print(cache.get('test'))"
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Phase 7: Performance Checks
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# Django Debug Toolbar output (check for N+1 queries)
|
|
167
|
+
# Run in dev mode with DEBUG=True and access a page
|
|
168
|
+
# Look for duplicate queries in SQL panel
|
|
169
|
+
|
|
170
|
+
# Query count analysis
|
|
171
|
+
django-admin debugsqlshell # If django-debug-sqlshell installed
|
|
172
|
+
|
|
173
|
+
# Check for missing indexes
|
|
174
|
+
python manage.py shell << EOF
|
|
175
|
+
from django.db import connection
|
|
176
|
+
with connection.cursor() as cursor:
|
|
177
|
+
cursor.execute("SELECT table_name, index_name FROM information_schema.statistics WHERE table_schema = 'public'")
|
|
178
|
+
print(cursor.fetchall())
|
|
179
|
+
EOF
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Report:
|
|
183
|
+
- Number of queries per page (should be < 50 for typical pages)
|
|
184
|
+
- Missing database indexes
|
|
185
|
+
- Duplicate queries detected
|
|
186
|
+
|
|
187
|
+
## Phase 8: Static Assets
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# Check for npm dependencies (if using npm)
|
|
191
|
+
npm audit
|
|
192
|
+
npm audit fix
|
|
193
|
+
|
|
194
|
+
# Build static files (if using webpack/vite)
|
|
195
|
+
npm run build
|
|
196
|
+
|
|
197
|
+
# Verify static files
|
|
198
|
+
ls -la staticfiles/
|
|
199
|
+
python manage.py findstatic css/style.css
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Phase 9: Configuration Review
|
|
203
|
+
|
|
204
|
+
```python
|
|
205
|
+
# Run in Python shell to verify settings
|
|
206
|
+
python manage.py shell << EOF
|
|
207
|
+
from django.conf import settings
|
|
208
|
+
import os
|
|
209
|
+
|
|
210
|
+
# Critical checks
|
|
211
|
+
checks = {
|
|
212
|
+
'DEBUG is False': not settings.DEBUG,
|
|
213
|
+
'SECRET_KEY set': bool(settings.SECRET_KEY and len(settings.SECRET_KEY) > 30),
|
|
214
|
+
'ALLOWED_HOSTS set': len(settings.ALLOWED_HOSTS) > 0,
|
|
215
|
+
'HTTPS enabled': getattr(settings, 'SECURE_SSL_REDIRECT', False),
|
|
216
|
+
'HSTS enabled': getattr(settings, 'SECURE_HSTS_SECONDS', 0) > 0,
|
|
217
|
+
'Database configured': settings.DATABASES['default']['ENGINE'] != 'django.db.backends.sqlite3',
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
for check, result in checks.items():
|
|
221
|
+
status = '✓' if result else '✗'
|
|
222
|
+
print(f"{status} {check}")
|
|
223
|
+
EOF
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Phase 10: Logging Configuration
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# Test logging output
|
|
230
|
+
python manage.py shell << EOF
|
|
231
|
+
import logging
|
|
232
|
+
logger = logging.getLogger('django')
|
|
233
|
+
logger.warning('Test warning message')
|
|
234
|
+
logger.error('Test error message')
|
|
235
|
+
EOF
|
|
236
|
+
|
|
237
|
+
# Check log files (if configured)
|
|
238
|
+
tail -f /var/log/django/django.log
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## Phase 11: API Documentation (if DRF)
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
# Generate schema
|
|
245
|
+
python manage.py generateschema --format openapi-json > schema.json
|
|
246
|
+
|
|
247
|
+
# Validate schema
|
|
248
|
+
# Check if schema.json is valid JSON
|
|
249
|
+
python -c "import json; json.load(open('schema.json'))"
|
|
250
|
+
|
|
251
|
+
# Access Swagger UI (if using drf-yasg)
|
|
252
|
+
# Visit http://localhost:8000/swagger/ in browser
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## Phase 12: Diff Review
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
# Show diff statistics
|
|
259
|
+
git diff --stat
|
|
260
|
+
|
|
261
|
+
# Show actual changes
|
|
262
|
+
git diff
|
|
263
|
+
|
|
264
|
+
# Show changed files
|
|
265
|
+
git diff --name-only
|
|
266
|
+
|
|
267
|
+
# Check for common issues
|
|
268
|
+
git diff | grep -i "todo\|fixme\|hack\|xxx"
|
|
269
|
+
git diff | grep "print(" # Debug statements
|
|
270
|
+
git diff | grep "DEBUG = True" # Debug mode
|
|
271
|
+
git diff | grep "import pdb" # Debugger
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Checklist:
|
|
275
|
+
- No debugging statements (print, pdb, breakpoint())
|
|
276
|
+
- No TODO/FIXME comments in critical code
|
|
277
|
+
- No hardcoded secrets or credentials
|
|
278
|
+
- Database migrations included for model changes
|
|
279
|
+
- Configuration changes documented
|
|
280
|
+
- Error handling present for external calls
|
|
281
|
+
- Transaction management where needed
|
|
282
|
+
|
|
283
|
+
## Output Template
|
|
284
|
+
|
|
285
|
+
```
|
|
286
|
+
DJANGO VERIFICATION REPORT
|
|
287
|
+
==========================
|
|
288
|
+
|
|
289
|
+
Phase 1: Environment Check
|
|
290
|
+
✓ Python 3.11.5
|
|
291
|
+
✓ Virtual environment active
|
|
292
|
+
✓ All environment variables set
|
|
293
|
+
|
|
294
|
+
Phase 2: Code Quality
|
|
295
|
+
✓ mypy: No type errors
|
|
296
|
+
✗ ruff: 3 issues found (auto-fixed)
|
|
297
|
+
✓ black: No formatting issues
|
|
298
|
+
✓ isort: Imports properly sorted
|
|
299
|
+
✓ manage.py check: No issues
|
|
300
|
+
|
|
301
|
+
Phase 3: Migrations
|
|
302
|
+
✓ No unapplied migrations
|
|
303
|
+
✓ No migration conflicts
|
|
304
|
+
✓ All models have migrations
|
|
305
|
+
|
|
306
|
+
Phase 4: Tests + Coverage
|
|
307
|
+
Tests: 247 passed, 0 failed, 5 skipped
|
|
308
|
+
Coverage:
|
|
309
|
+
Overall: 87%
|
|
310
|
+
users: 92%
|
|
311
|
+
products: 89%
|
|
312
|
+
orders: 85%
|
|
313
|
+
payments: 91%
|
|
314
|
+
|
|
315
|
+
Phase 5: Security Scan
|
|
316
|
+
✗ pip-audit: 2 vulnerabilities found (fix required)
|
|
317
|
+
✓ safety check: No issues
|
|
318
|
+
✓ bandit: No security issues
|
|
319
|
+
✓ No secrets detected
|
|
320
|
+
✓ DEBUG = False
|
|
321
|
+
|
|
322
|
+
Phase 6: Django Commands
|
|
323
|
+
✓ collectstatic completed
|
|
324
|
+
✓ Database integrity OK
|
|
325
|
+
✓ Cache backend reachable
|
|
326
|
+
|
|
327
|
+
Phase 7: Performance
|
|
328
|
+
✓ No N+1 queries detected
|
|
329
|
+
✓ Database indexes configured
|
|
330
|
+
✓ Query count acceptable
|
|
331
|
+
|
|
332
|
+
Phase 8: Static Assets
|
|
333
|
+
✓ npm audit: No vulnerabilities
|
|
334
|
+
✓ Assets built successfully
|
|
335
|
+
✓ Static files collected
|
|
336
|
+
|
|
337
|
+
Phase 9: Configuration
|
|
338
|
+
✓ DEBUG = False
|
|
339
|
+
✓ SECRET_KEY configured
|
|
340
|
+
✓ ALLOWED_HOSTS set
|
|
341
|
+
✓ HTTPS enabled
|
|
342
|
+
✓ HSTS enabled
|
|
343
|
+
✓ Database configured
|
|
344
|
+
|
|
345
|
+
Phase 10: Logging
|
|
346
|
+
✓ Logging configured
|
|
347
|
+
✓ Log files writable
|
|
348
|
+
|
|
349
|
+
Phase 11: API Documentation
|
|
350
|
+
✓ Schema generated
|
|
351
|
+
✓ Swagger UI accessible
|
|
352
|
+
|
|
353
|
+
Phase 12: Diff Review
|
|
354
|
+
Files changed: 12
|
|
355
|
+
+450, -120 lines
|
|
356
|
+
✓ No debug statements
|
|
357
|
+
✓ No hardcoded secrets
|
|
358
|
+
✓ Migrations included
|
|
359
|
+
|
|
360
|
+
RECOMMENDATION: WARNING: Fix pip-audit vulnerabilities before deploying
|
|
361
|
+
|
|
362
|
+
NEXT STEPS:
|
|
363
|
+
1. Update vulnerable dependencies
|
|
364
|
+
2. Re-run security scan
|
|
365
|
+
3. Deploy to staging for final testing
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
## Pre-Deployment Checklist
|
|
369
|
+
|
|
370
|
+
- [ ] All tests passing
|
|
371
|
+
- [ ] Coverage ≥ 80%
|
|
372
|
+
- [ ] No security vulnerabilities
|
|
373
|
+
- [ ] No unapplied migrations
|
|
374
|
+
- [ ] DEBUG = False in production settings
|
|
375
|
+
- [ ] SECRET_KEY properly configured
|
|
376
|
+
- [ ] ALLOWED_HOSTS set correctly
|
|
377
|
+
- [ ] Database backups enabled
|
|
378
|
+
- [ ] Static files collected and served
|
|
379
|
+
- [ ] Logging configured and working
|
|
380
|
+
- [ ] Error monitoring (Sentry, etc.) configured
|
|
381
|
+
- [ ] CDN configured (if applicable)
|
|
382
|
+
- [ ] Redis/cache backend configured
|
|
383
|
+
- [ ] Celery workers running (if applicable)
|
|
384
|
+
- [ ] HTTPS/SSL configured
|
|
385
|
+
- [ ] Environment variables documented
|
|
386
|
+
|
|
387
|
+
## Continuous Integration
|
|
388
|
+
|
|
389
|
+
### GitHub Actions Example
|
|
390
|
+
|
|
391
|
+
```yaml
|
|
392
|
+
# .github/workflows/django-verification.yml
|
|
393
|
+
name: Django Verification
|
|
394
|
+
|
|
395
|
+
on: [push, pull_request]
|
|
396
|
+
|
|
397
|
+
jobs:
|
|
398
|
+
verify:
|
|
399
|
+
runs-on: ubuntu-latest
|
|
400
|
+
services:
|
|
401
|
+
postgres:
|
|
402
|
+
image: postgres:14
|
|
403
|
+
env:
|
|
404
|
+
POSTGRES_PASSWORD: postgres
|
|
405
|
+
options: >-
|
|
406
|
+
--health-cmd pg_isready
|
|
407
|
+
--health-interval 10s
|
|
408
|
+
--health-timeout 5s
|
|
409
|
+
--health-retries 5
|
|
410
|
+
|
|
411
|
+
steps:
|
|
412
|
+
- uses: actions/checkout@v3
|
|
413
|
+
|
|
414
|
+
- name: Set up Python
|
|
415
|
+
uses: actions/setup-python@v4
|
|
416
|
+
with:
|
|
417
|
+
python-version: '3.11'
|
|
418
|
+
|
|
419
|
+
- name: Cache pip
|
|
420
|
+
uses: actions/cache@v3
|
|
421
|
+
with:
|
|
422
|
+
path: ~/.cache/pip
|
|
423
|
+
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
|
|
424
|
+
|
|
425
|
+
- name: Install dependencies
|
|
426
|
+
run: |
|
|
427
|
+
pip install -r requirements.txt
|
|
428
|
+
pip install ruff black mypy pytest pytest-django pytest-cov bandit safety pip-audit
|
|
429
|
+
|
|
430
|
+
- name: Code quality checks
|
|
431
|
+
run: |
|
|
432
|
+
ruff check .
|
|
433
|
+
black . --check
|
|
434
|
+
isort . --check-only
|
|
435
|
+
mypy .
|
|
436
|
+
|
|
437
|
+
- name: Security scan
|
|
438
|
+
run: |
|
|
439
|
+
bandit -r . -f json -o bandit-report.json
|
|
440
|
+
safety check --full-report
|
|
441
|
+
pip-audit
|
|
442
|
+
|
|
443
|
+
- name: Run tests
|
|
444
|
+
env:
|
|
445
|
+
DATABASE_URL: postgres://postgres:postgres@localhost:5432/test
|
|
446
|
+
DJANGO_SECRET_KEY: test-secret-key
|
|
447
|
+
run: |
|
|
448
|
+
pytest --cov=apps --cov-report=xml --cov-report=term-missing
|
|
449
|
+
|
|
450
|
+
- name: Upload coverage
|
|
451
|
+
uses: codecov/codecov-action@v3
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
## Quick Reference
|
|
455
|
+
|
|
456
|
+
| Check | Command |
|
|
457
|
+
|-------|---------|
|
|
458
|
+
| Environment | `python --version` |
|
|
459
|
+
| Type checking | `mypy .` |
|
|
460
|
+
| Linting | `ruff check .` |
|
|
461
|
+
| Formatting | `black . --check` |
|
|
462
|
+
| Migrations | `python manage.py makemigrations --check` |
|
|
463
|
+
| Tests | `pytest --cov=apps` |
|
|
464
|
+
| Security | `pip-audit && bandit -r .` |
|
|
465
|
+
| Django check | `python manage.py check --deploy` |
|
|
466
|
+
| Collectstatic | `python manage.py collectstatic --noinput` |
|
|
467
|
+
| Diff stats | `git diff --stat` |
|
|
468
|
+
|
|
469
|
+
Remember: Automated verification catches common issues but doesn't replace manual code review and testing in staging environment.
|