devflow-kit 1.8.2 → 2.0.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/CHANGELOG.md +191 -6
- package/LICENSE +1 -1
- package/README.md +139 -219
- package/dist/cli/agents-view/index.js +9 -0
- package/dist/cli/agents-view/render.js +310 -0
- package/dist/cli/agents-view/state.js +423 -0
- package/dist/cli/agents-view/terminal.js +179 -0
- package/dist/cli/commands/agents.js +585 -0
- package/dist/cli/commands/ambient.js +231 -0
- package/dist/cli/commands/capture.js +133 -0
- package/dist/cli/commands/compliance-prompts.js +174 -0
- package/dist/cli/commands/compliance.js +337 -0
- package/dist/cli/commands/context.js +66 -0
- package/dist/cli/commands/debug.js +122 -0
- package/dist/cli/commands/flags.js +119 -0
- package/dist/cli/commands/hud.js +229 -0
- package/dist/cli/commands/init-seed.js +226 -0
- package/dist/cli/commands/init.js +1786 -0
- package/dist/cli/commands/knowledge/index.js +25 -0
- package/dist/cli/commands/knowledge/list.js +115 -0
- package/dist/cli/commands/knowledge/toggle.js +84 -0
- package/dist/cli/commands/learning.js +311 -0
- package/dist/cli/commands/legacy-hooks.js +40 -0
- package/dist/cli/commands/memory.js +349 -0
- package/dist/cli/commands/proxy.js +1435 -0
- package/dist/cli/commands/rules.js +334 -0
- package/dist/cli/commands/safe-delete.js +140 -0
- package/dist/cli/commands/security.js +179 -0
- package/dist/cli/commands/skills.js +140 -0
- package/dist/cli/commands/uninstall.js +1214 -0
- package/dist/cli.js +35 -10
- package/dist/commands/bug-analysis.md +400 -0
- package/dist/commands/code-review.md +403 -0
- package/dist/commands/debug.md +282 -0
- package/dist/commands/dynamic-build.md +972 -0
- package/dist/commands/dynamic-plan.md +383 -0
- package/dist/commands/dynamic-profile.md +206 -0
- package/dist/commands/dynamic-tickets.md +583 -0
- package/dist/commands/explore.md +208 -0
- package/dist/commands/implement.md +590 -0
- package/dist/commands/plan.md +570 -0
- package/dist/commands/release.md +206 -0
- package/dist/commands/research.md +212 -0
- package/dist/commands/resolve.md +731 -0
- package/dist/commands/self-review.md +251 -0
- package/dist/core/agent-frontmatter.js +209 -0
- package/dist/core/agent-models.js +556 -0
- package/dist/core/agent-state.js +44 -0
- package/dist/core/assets.js +39 -0
- package/dist/core/cache.js +205 -0
- package/dist/core/codex-auth-inspect.js +128 -0
- package/dist/core/compliance-compose.js +458 -0
- package/dist/core/compliance.js +165 -0
- package/dist/core/external-models.js +76 -0
- package/dist/core/feature-config.js +125 -0
- package/dist/core/flags.js +309 -0
- package/dist/core/fs-atomic.js +74 -0
- package/dist/core/git.js +61 -0
- package/dist/core/learning-queue-cleanup.js +92 -0
- package/dist/core/learning-tuning-config.js +78 -0
- package/dist/core/manifest.js +171 -0
- package/dist/core/migrations.js +330 -0
- package/dist/core/model-discovery.js +655 -0
- package/dist/core/observation-io.js +50 -0
- package/dist/core/observations.js +109 -0
- package/dist/core/orphan-sweep.js +92 -0
- package/dist/core/paths.js +48 -0
- package/dist/core/plugins.js +525 -0
- package/dist/core/project-paths.js +159 -0
- package/dist/core/proxy-log.js +165 -0
- package/dist/core/proxy-state.js +305 -0
- package/dist/core/safe-delete-install.js +191 -0
- package/dist/core/teammate-mode-cleanup.js +33 -0
- package/dist/hud/colors.js +13 -2
- package/dist/hud/components/config-counts.js +2 -2
- package/dist/hud/components/context-usage.js +2 -2
- package/dist/hud/components/learning-counts.js +92 -0
- package/dist/hud/components/session-cost.js +10 -2
- package/dist/hud/components/usage-quota.js +43 -8
- package/dist/hud/components/version-badge.js +17 -7
- package/dist/hud/config.js +4 -2
- package/dist/hud/cost-history.js +281 -0
- package/dist/hud/git.js +112 -71
- package/dist/hud/index.js +47 -4
- package/dist/hud/render.js +8 -20
- package/dist/hud/transcript.js +5 -6
- package/dist/targets/claude-code/claude-paths.js +106 -0
- package/dist/targets/claude-code/compliance-install.js +305 -0
- package/dist/targets/claude-code/hooks.js +9 -0
- package/dist/targets/claude-code/installer.js +458 -0
- package/dist/targets/claude-code/legacy.js +239 -0
- package/dist/targets/claude-code/post-install.js +971 -0
- package/package.json +23 -17
- package/src/assets/agents/code.md +244 -0
- package/src/assets/agents/design.md +113 -0
- package/src/assets/agents/diagnose.md +210 -0
- package/src/assets/agents/evaluate.md +117 -0
- package/src/assets/agents/git.md +938 -0
- package/src/assets/agents/knowledge.md +89 -0
- package/src/assets/agents/learning.md +203 -0
- package/src/assets/agents/research.md +134 -0
- package/src/assets/agents/review.md +220 -0
- package/src/assets/agents/scrutinize.md +95 -0
- package/src/assets/agents/simplify.md +108 -0
- package/src/assets/agents/skim.md +136 -0
- package/src/assets/agents/synthesize.md +402 -0
- package/src/assets/agents/test.md +155 -0
- package/src/assets/agents/triage.md +141 -0
- package/src/assets/agents/validate.md +103 -0
- package/src/assets/commands/_partials/_compliance.mds +5 -0
- package/src/assets/commands/_partials/_decisions.mds +20 -0
- package/src/assets/commands/_partials/_engine.mds +244 -0
- package/src/assets/commands/_partials/_factory.mds +216 -0
- package/src/assets/commands/_partials/_knowledge.mds +95 -0
- package/src/assets/commands/_partials/_plan_contract.mds +51 -0
- package/src/assets/commands/_partials/_preamble.mds +82 -0
- package/src/assets/commands/_partials/_publication.mds +7 -0
- package/src/assets/commands/_partials/_roster.mds +31 -0
- package/src/assets/commands/_partials/_ticket_template.mds +59 -0
- package/src/assets/commands/_partials/_wave.mds +123 -0
- package/src/assets/commands/bug-analysis.mds +353 -0
- package/src/assets/commands/code-review.mds +355 -0
- package/src/assets/commands/debug.mds +224 -0
- package/src/assets/commands/dynamic-build.mds +534 -0
- package/src/assets/commands/dynamic-plan.mds +244 -0
- package/src/assets/commands/dynamic-profile.mds +132 -0
- package/src/assets/commands/dynamic-tickets.mds +226 -0
- package/src/assets/commands/explore.mds +150 -0
- package/src/assets/commands/implement.mds +496 -0
- package/src/assets/commands/plan.mds +523 -0
- package/src/assets/commands/release.md +206 -0
- package/src/assets/commands/research.mds +164 -0
- package/src/assets/commands/resolve.mds +636 -0
- package/src/assets/commands/self-review.mds +156 -0
- package/src/assets/rules/accessibility.md +11 -0
- package/src/assets/rules/compliance.md +15 -0
- package/src/assets/rules/engineering.md +13 -0
- package/src/assets/rules/go.md +12 -0
- package/src/assets/rules/java.md +12 -0
- package/src/assets/rules/python.md +12 -0
- package/src/assets/rules/quality.md +14 -0
- package/src/assets/rules/react.md +11 -0
- package/src/assets/rules/reliability.md +12 -0
- package/src/assets/rules/rust.md +12 -0
- package/src/assets/rules/security.md +12 -0
- package/src/assets/rules/typescript.md +12 -0
- package/src/assets/rules/ui-design.md +11 -0
- package/src/assets/scripts/hooks/assets/orchestrator-charter.md +21 -0
- package/src/assets/scripts/hooks/background-memory-update +460 -0
- package/src/assets/scripts/hooks/capture-prompt +87 -0
- package/src/assets/scripts/hooks/capture-question +153 -0
- package/src/assets/scripts/hooks/capture-turn +105 -0
- package/src/assets/scripts/hooks/debug-trace +75 -0
- package/src/assets/scripts/hooks/decisions-usage-scan.cjs +131 -0
- package/src/assets/scripts/hooks/ensure-devflow-init +39 -0
- package/src/assets/scripts/hooks/ensure-proxy +294 -0
- package/src/assets/scripts/hooks/ensure-root-gitignore +116 -0
- package/src/assets/scripts/hooks/get-mtime +23 -0
- package/src/assets/scripts/hooks/git-marker +16 -0
- package/src/assets/scripts/hooks/hook-bootstrap +25 -0
- package/src/assets/scripts/hooks/hook-log-init +41 -0
- package/src/assets/scripts/hooks/json-helper.cjs +725 -0
- package/src/assets/scripts/hooks/json-parse +243 -0
- package/src/assets/scripts/hooks/learning-lock +44 -0
- package/src/assets/scripts/hooks/lib/decisions-format.cjs +301 -0
- package/src/assets/scripts/hooks/lib/mkdir-lock.cjs +106 -0
- package/src/assets/scripts/hooks/lib/project-paths.cjs +230 -0
- package/src/assets/scripts/hooks/lib/render-decisions.cjs +398 -0
- package/src/assets/scripts/hooks/lib/safe-path.cjs +29 -0
- package/src/assets/scripts/hooks/log-paths +24 -0
- package/src/assets/scripts/hooks/memory-worker +101 -0
- package/src/assets/scripts/hooks/pre-compact-memory +126 -0
- package/src/assets/scripts/hooks/preamble +77 -0
- package/src/assets/scripts/hooks/queue-append +120 -0
- package/src/assets/scripts/hooks/resolve-project-root +37 -0
- package/src/assets/scripts/hooks/run-hook +31 -0
- package/src/assets/scripts/hooks/session-start-context +180 -0
- package/src/assets/scripts/hooks/session-start-memory +318 -0
- package/src/assets/scripts/hooks/session-start-orchestrator +54 -0
- package/src/assets/scripts/hud.sh +5 -0
- package/src/assets/scripts/redact-secrets.cjs +410 -0
- package/src/assets/skills/accessibility/SKILL.md +145 -0
- package/src/assets/skills/accessibility/references/patterns.md +398 -0
- package/src/assets/skills/accessibility/references/sources.md +26 -0
- package/src/assets/skills/accessibility/references/violations.md +358 -0
- package/src/assets/skills/apply-decisions/SKILL.md +100 -0
- package/src/assets/skills/apply-feature-knowledge/SKILL.md +69 -0
- package/src/assets/skills/architecture/SKILL.md +138 -0
- package/src/assets/skills/architecture/references/patterns.md +378 -0
- package/src/assets/skills/architecture/references/sources.md +41 -0
- package/src/assets/skills/architecture/references/violations.md +314 -0
- package/src/assets/skills/boundary-validation/SKILL.md +119 -0
- package/src/assets/skills/boundary-validation/references/detection.md +283 -0
- package/src/assets/skills/boundary-validation/references/patterns.md +283 -0
- package/src/assets/skills/boundary-validation/references/sources.md +41 -0
- package/src/assets/skills/boundary-validation/references/violations.md +211 -0
- package/src/assets/skills/complexity/SKILL.md +150 -0
- package/src/assets/skills/compliance/SKILL.md +121 -0
- package/src/assets/skills/compliance/frameworks/gdpr/fragment.md +11 -0
- package/src/assets/skills/compliance/frameworks/gdpr/reference.md +50 -0
- package/src/assets/skills/compliance/frameworks/hipaa/fragment.md +11 -0
- package/src/assets/skills/compliance/frameworks/hipaa/reference.md +44 -0
- package/src/assets/skills/compliance/frameworks/iso-27001/fragment.md +10 -0
- package/src/assets/skills/compliance/frameworks/iso-27001/reference.md +45 -0
- package/src/assets/skills/compliance/frameworks/pci-dss/fragment.md +11 -0
- package/src/assets/skills/compliance/frameworks/pci-dss/reference.md +55 -0
- package/src/assets/skills/compliance/frameworks/soc2/fragment.md +10 -0
- package/src/assets/skills/compliance/frameworks/soc2/reference.md +53 -0
- package/src/assets/skills/compliance/frameworks/sox/fragment.md +10 -0
- package/src/assets/skills/compliance/frameworks/sox/reference.md +67 -0
- package/src/assets/skills/compliance/references/detection.md +108 -0
- package/src/assets/skills/compliance/references/sources.md +28 -0
- package/src/assets/skills/consistency/SKILL.md +140 -0
- package/src/assets/skills/database/SKILL.md +134 -0
- package/src/assets/skills/dependencies/SKILL.md +141 -0
- package/src/assets/skills/dependency-research/SKILL.md +133 -0
- package/src/assets/skills/dependency-research/references/evaluation-criteria.md +101 -0
- package/src/assets/skills/design-review/SKILL.md +155 -0
- package/src/assets/skills/design-review/references/anti-patterns.md +207 -0
- package/src/assets/skills/docs-framework/SKILL.md +190 -0
- package/src/assets/skills/docs-framework/references/patterns.md +381 -0
- package/src/assets/skills/docs-framework/references/violations.md +221 -0
- package/src/assets/skills/documentation/SKILL.md +126 -0
- package/src/assets/skills/feature-knowledge/SKILL.md +341 -0
- package/src/assets/skills/gap-analysis/SKILL.md +151 -0
- package/src/assets/skills/gap-analysis/references/check-layers.md +125 -0
- package/src/assets/skills/git/SKILL.md +287 -0
- package/src/assets/skills/git/references/github-api.md +666 -0
- package/src/assets/skills/git/references/patterns.md +324 -0
- package/src/assets/skills/git/references/sources.md +16 -0
- package/src/assets/skills/git/references/violations.md +128 -0
- package/src/assets/skills/go/SKILL.md +147 -0
- package/src/assets/skills/go/references/concurrency.md +335 -0
- package/src/assets/skills/go/references/patterns.md +278 -0
- package/src/assets/skills/go/references/sources.md +41 -0
- package/src/assets/skills/go/references/violations.md +262 -0
- package/src/assets/skills/java/SKILL.md +148 -0
- package/src/assets/skills/java/references/modern-java.md +335 -0
- package/src/assets/skills/java/references/patterns.md +311 -0
- package/src/assets/skills/java/references/sources.md +44 -0
- package/src/assets/skills/java/references/violations.md +257 -0
- package/src/assets/skills/patterns/SKILL.md +162 -0
- package/src/assets/skills/performance/SKILL.md +135 -0
- package/src/assets/skills/performance/references/patterns.md +516 -0
- package/src/assets/skills/performance/references/sources.md +41 -0
- package/src/assets/skills/performance/references/violations.md +417 -0
- package/src/assets/skills/python/SKILL.md +156 -0
- package/src/assets/skills/python/references/async.md +255 -0
- package/src/assets/skills/python/references/patterns.md +280 -0
- package/src/assets/skills/python/references/sources.md +41 -0
- package/src/assets/skills/python/references/violations.md +272 -0
- package/src/assets/skills/qa/SKILL.md +136 -0
- package/src/assets/skills/qa/references/browser-testing.md +97 -0
- package/src/assets/skills/qa/references/patterns.md +118 -0
- package/src/assets/skills/qa/references/scenario-templates.md +102 -0
- package/src/assets/skills/qa/references/sources.md +30 -0
- package/src/assets/skills/qa/references/violations.md +98 -0
- package/src/assets/skills/quality-gates/SKILL.md +152 -0
- package/src/assets/skills/quality-gates/references/stub-detection.md +135 -0
- package/src/assets/skills/react/SKILL.md +143 -0
- package/src/assets/skills/react/references/error-handling.md +179 -0
- package/src/assets/skills/react/references/forms.md +214 -0
- package/src/assets/skills/react/references/hooks.md +193 -0
- package/src/assets/skills/react/references/patterns.md +1336 -0
- package/src/assets/skills/react/references/sources.md +35 -0
- package/src/assets/skills/react/references/violations.md +570 -0
- package/src/assets/skills/regression/SKILL.md +146 -0
- package/src/assets/skills/reliability/SKILL.md +153 -0
- package/src/assets/skills/reliability/references/detection.md +66 -0
- package/src/assets/skills/reliability/references/patterns.md +151 -0
- package/src/assets/skills/reliability/references/sources.md +27 -0
- package/src/assets/skills/reliability/references/violations.md +125 -0
- package/src/assets/skills/research-codebase/SKILL.md +135 -0
- package/src/assets/skills/research-competitor/SKILL.md +145 -0
- package/src/assets/skills/research-external/SKILL.md +141 -0
- package/src/assets/skills/research-market/SKILL.md +145 -0
- package/src/assets/skills/research-technology/SKILL.md +180 -0
- package/src/assets/skills/review-methodology/SKILL.md +121 -0
- package/src/assets/skills/review-methodology/references/patterns.md +186 -0
- package/src/assets/skills/review-methodology/references/report-template.md +142 -0
- package/src/assets/skills/review-methodology/references/violations.md +125 -0
- package/src/assets/skills/rust/SKILL.md +148 -0
- package/src/assets/skills/rust/references/ownership.md +278 -0
- package/src/assets/skills/rust/references/patterns.md +247 -0
- package/src/assets/skills/rust/references/sources.md +46 -0
- package/src/assets/skills/rust/references/violations.md +252 -0
- package/src/assets/skills/security/SKILL.md +121 -0
- package/src/assets/skills/security/references/patterns.md +271 -0
- package/src/assets/skills/security/references/sources.md +41 -0
- package/src/assets/skills/security/references/violations.md +241 -0
- package/src/assets/skills/software-design/SKILL.md +143 -0
- package/src/assets/skills/software-design/references/checklist.md +259 -0
- package/src/assets/skills/software-design/references/code-smell-violations.md +189 -0
- package/src/assets/skills/software-design/references/patterns.md +359 -0
- package/src/assets/skills/software-design/references/sources.md +41 -0
- package/src/assets/skills/software-design/references/violations.md +341 -0
- package/src/assets/skills/test-driven-development/SKILL.md +197 -0
- package/src/assets/skills/testing/SKILL.md +139 -0
- package/src/assets/skills/testing/references/patterns.md +346 -0
- package/src/assets/skills/testing/references/sources.md +53 -0
- package/src/assets/skills/testing/references/violations.md +322 -0
- package/src/assets/skills/typescript/SKILL.md +150 -0
- package/src/assets/skills/typescript/references/async.md +333 -0
- package/src/assets/skills/typescript/references/patterns.md +440 -0
- package/src/assets/skills/typescript/references/sources.md +41 -0
- package/src/assets/skills/typescript/references/type-guards.md +333 -0
- package/src/assets/skills/typescript/references/utility-types.md +255 -0
- package/src/assets/skills/typescript/references/violations.md +285 -0
- package/src/assets/skills/ui-design/SKILL.md +144 -0
- package/src/assets/skills/ui-design/references/patterns.md +341 -0
- package/src/assets/skills/ui-design/references/sources.md +41 -0
- package/src/assets/skills/ui-design/references/violations.md +312 -0
- package/src/assets/skills/worktree-support/SKILL.md +92 -0
- package/src/targets/claude-code/templates/claudeignore.template +188 -0
- package/src/targets/claude-code/templates/settings.json +86 -0
- package/dist/cli.d.ts +0 -3
- package/dist/commands/ambient.d.ts +0 -18
- package/dist/commands/ambient.js +0 -137
- package/dist/commands/hud.d.ts +0 -22
- package/dist/commands/hud.js +0 -180
- package/dist/commands/init.d.ts +0 -16
- package/dist/commands/init.js +0 -738
- package/dist/commands/list.d.ts +0 -24
- package/dist/commands/list.js +0 -89
- package/dist/commands/memory.d.ts +0 -22
- package/dist/commands/memory.js +0 -175
- package/dist/commands/skills.d.ts +0 -11
- package/dist/commands/skills.js +0 -116
- package/dist/commands/uninstall.d.ts +0 -22
- package/dist/commands/uninstall.js +0 -558
- package/dist/hud/cache.d.ts +0 -14
- package/dist/hud/cache.js +0 -54
- package/dist/hud/colors.d.ts +0 -23
- package/dist/hud/components/config-counts.d.ts +0 -8
- package/dist/hud/components/context-usage.d.ts +0 -8
- package/dist/hud/components/diff-stats.d.ts +0 -3
- package/dist/hud/components/directory.d.ts +0 -3
- package/dist/hud/components/git-ahead-behind.d.ts +0 -3
- package/dist/hud/components/git-branch.d.ts +0 -3
- package/dist/hud/components/model.d.ts +0 -3
- package/dist/hud/components/release-info.d.ts +0 -3
- package/dist/hud/components/session-cost.d.ts +0 -3
- package/dist/hud/components/session-duration.d.ts +0 -3
- package/dist/hud/components/todo-progress.d.ts +0 -3
- package/dist/hud/components/usage-quota.d.ts +0 -3
- package/dist/hud/components/version-badge.d.ts +0 -3
- package/dist/hud/components/worktree-count.d.ts +0 -3
- package/dist/hud/config.d.ts +0 -10
- package/dist/hud/credentials.d.ts +0 -17
- package/dist/hud/credentials.js +0 -99
- package/dist/hud/git.d.ts +0 -7
- package/dist/hud/index.d.ts +0 -2
- package/dist/hud/render.d.ts +0 -7
- package/dist/hud/stdin.d.ts +0 -6
- package/dist/hud/transcript.d.ts +0 -7
- package/dist/hud/types.d.ts +0 -116
- package/dist/hud/usage-api.d.ts +0 -7
- package/dist/hud/usage-api.js +0 -84
- package/dist/plugins.d.ts +0 -46
- package/dist/plugins.js +0 -233
- package/dist/utils/cli.d.ts +0 -5
- package/dist/utils/cli.js +0 -14
- package/dist/utils/git.d.ts +0 -11
- package/dist/utils/git.js +0 -36
- package/dist/utils/installer.d.ts +0 -41
- package/dist/utils/installer.js +0 -195
- package/dist/utils/manifest.d.ts +0 -46
- package/dist/utils/manifest.js +0 -100
- package/dist/utils/paths.d.ts +0 -42
- package/dist/utils/paths.js +0 -106
- package/dist/utils/post-install.d.ts +0 -87
- package/dist/utils/post-install.js +0 -546
- package/dist/utils/safe-delete-install.d.ts +0 -29
- package/dist/utils/safe-delete-install.js +0 -191
- package/dist/utils/safe-delete.d.ts +0 -12
- package/plugins/devflow-accessibility/.claude-plugin/plugin.json +0 -21
- package/plugins/devflow-accessibility/skills/accessibility/SKILL.md +0 -229
- package/plugins/devflow-accessibility/skills/accessibility/references/patterns.md +0 -670
- package/plugins/devflow-accessibility/skills/accessibility/references/violations.md +0 -419
- package/plugins/devflow-ambient/.claude-plugin/plugin.json +0 -33
- package/plugins/devflow-ambient/README.md +0 -68
- package/plugins/devflow-ambient/agents/coder.md +0 -135
- package/plugins/devflow-ambient/agents/reviewer.md +0 -165
- package/plugins/devflow-ambient/agents/scrutinizer.md +0 -82
- package/plugins/devflow-ambient/agents/shepherd.md +0 -108
- package/plugins/devflow-ambient/agents/simplifier.md +0 -102
- package/plugins/devflow-ambient/agents/skimmer.md +0 -143
- package/plugins/devflow-ambient/agents/validator.md +0 -86
- package/plugins/devflow-ambient/skills/ambient-router/SKILL.md +0 -145
- package/plugins/devflow-ambient/skills/ambient-router/references/skill-catalog.md +0 -74
- package/plugins/devflow-ambient/skills/debug-orchestration/SKILL.md +0 -69
- package/plugins/devflow-ambient/skills/implementation-orchestration/SKILL.md +0 -92
- package/plugins/devflow-ambient/skills/plan-orchestration/SKILL.md +0 -71
- package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +0 -19
- package/plugins/devflow-audit-claude/README.md +0 -46
- package/plugins/devflow-audit-claude/agents/claude-md-auditor.md +0 -134
- package/plugins/devflow-audit-claude/commands/audit-claude.md +0 -89
- package/plugins/devflow-code-review/.claude-plugin/plugin.json +0 -38
- package/plugins/devflow-code-review/README.md +0 -73
- package/plugins/devflow-code-review/agents/git.md +0 -277
- package/plugins/devflow-code-review/agents/reviewer.md +0 -165
- package/plugins/devflow-code-review/agents/synthesizer.md +0 -211
- package/plugins/devflow-code-review/commands/code-review-teams.md +0 -285
- package/plugins/devflow-code-review/commands/code-review.md +0 -163
- package/plugins/devflow-code-review/skills/agent-teams/SKILL.md +0 -124
- package/plugins/devflow-code-review/skills/agent-teams/references/cleanup.md +0 -104
- package/plugins/devflow-code-review/skills/agent-teams/references/communication.md +0 -122
- package/plugins/devflow-code-review/skills/agent-teams/references/team-patterns.md +0 -217
- package/plugins/devflow-code-review/skills/architecture-patterns/SKILL.md +0 -153
- package/plugins/devflow-code-review/skills/architecture-patterns/references/patterns.md +0 -873
- package/plugins/devflow-code-review/skills/architecture-patterns/references/violations.md +0 -575
- package/plugins/devflow-code-review/skills/complexity-patterns/SKILL.md +0 -143
- package/plugins/devflow-code-review/skills/consistency-patterns/SKILL.md +0 -140
- package/plugins/devflow-code-review/skills/database-patterns/SKILL.md +0 -134
- package/plugins/devflow-code-review/skills/dependencies-patterns/SKILL.md +0 -141
- package/plugins/devflow-code-review/skills/documentation-patterns/SKILL.md +0 -125
- package/plugins/devflow-code-review/skills/knowledge-persistence/SKILL.md +0 -128
- package/plugins/devflow-code-review/skills/knowledge-persistence/references/examples.md +0 -44
- package/plugins/devflow-code-review/skills/performance-patterns/SKILL.md +0 -154
- package/plugins/devflow-code-review/skills/performance-patterns/references/patterns.md +0 -503
- package/plugins/devflow-code-review/skills/performance-patterns/references/violations.md +0 -354
- package/plugins/devflow-code-review/skills/regression-patterns/SKILL.md +0 -146
- package/plugins/devflow-code-review/skills/review-methodology/SKILL.md +0 -119
- package/plugins/devflow-code-review/skills/review-methodology/references/patterns.md +0 -186
- package/plugins/devflow-code-review/skills/review-methodology/references/report-template.md +0 -142
- package/plugins/devflow-code-review/skills/review-methodology/references/violations.md +0 -125
- package/plugins/devflow-code-review/skills/security-patterns/SKILL.md +0 -156
- package/plugins/devflow-code-review/skills/security-patterns/references/patterns.md +0 -507
- package/plugins/devflow-code-review/skills/security-patterns/references/violations.md +0 -237
- package/plugins/devflow-code-review/skills/test-patterns/SKILL.md +0 -183
- package/plugins/devflow-code-review/skills/test-patterns/references/patterns.md +0 -220
- package/plugins/devflow-code-review/skills/test-patterns/references/violations.md +0 -221
- package/plugins/devflow-core-skills/.claude-plugin/plugin.json +0 -31
- package/plugins/devflow-core-skills/README.md +0 -50
- package/plugins/devflow-core-skills/skills/core-patterns/SKILL.md +0 -162
- package/plugins/devflow-core-skills/skills/core-patterns/references/checklist.md +0 -276
- package/plugins/devflow-core-skills/skills/core-patterns/references/code-smell-violations.md +0 -144
- package/plugins/devflow-core-skills/skills/core-patterns/references/patterns.md +0 -576
- package/plugins/devflow-core-skills/skills/core-patterns/references/violations.md +0 -369
- package/plugins/devflow-core-skills/skills/docs-framework/SKILL.md +0 -143
- package/plugins/devflow-core-skills/skills/docs-framework/references/patterns.md +0 -346
- package/plugins/devflow-core-skills/skills/docs-framework/references/violations.md +0 -221
- package/plugins/devflow-core-skills/skills/git-safety/SKILL.md +0 -122
- package/plugins/devflow-core-skills/skills/git-safety/references/patterns.md +0 -289
- package/plugins/devflow-core-skills/skills/git-safety/references/violations.md +0 -18
- package/plugins/devflow-core-skills/skills/git-workflow/SKILL.md +0 -158
- package/plugins/devflow-core-skills/skills/git-workflow/references/commit-patterns.md +0 -115
- package/plugins/devflow-core-skills/skills/git-workflow/references/commit-violations.md +0 -77
- package/plugins/devflow-core-skills/skills/git-workflow/references/pr-patterns.md +0 -127
- package/plugins/devflow-core-skills/skills/git-workflow/references/pr-violations.md +0 -96
- package/plugins/devflow-core-skills/skills/github-patterns/SKILL.md +0 -153
- package/plugins/devflow-core-skills/skills/github-patterns/references/patterns.md +0 -572
- package/plugins/devflow-core-skills/skills/github-patterns/references/violations.md +0 -298
- package/plugins/devflow-core-skills/skills/input-validation/SKILL.md +0 -148
- package/plugins/devflow-core-skills/skills/input-validation/references/detection.md +0 -283
- package/plugins/devflow-core-skills/skills/input-validation/references/patterns.md +0 -361
- package/plugins/devflow-core-skills/skills/input-validation/references/violations.md +0 -224
- package/plugins/devflow-core-skills/skills/search-first/SKILL.md +0 -133
- package/plugins/devflow-core-skills/skills/search-first/references/evaluation-criteria.md +0 -101
- package/plugins/devflow-core-skills/skills/test-driven-development/SKILL.md +0 -137
- package/plugins/devflow-core-skills/skills/test-patterns/SKILL.md +0 -183
- package/plugins/devflow-core-skills/skills/test-patterns/references/detection.md +0 -149
- package/plugins/devflow-core-skills/skills/test-patterns/references/patterns.md +0 -220
- package/plugins/devflow-core-skills/skills/test-patterns/references/report-template.md +0 -108
- package/plugins/devflow-core-skills/skills/test-patterns/references/violations.md +0 -221
- package/plugins/devflow-debug/.claude-plugin/plugin.json +0 -26
- package/plugins/devflow-debug/README.md +0 -65
- package/plugins/devflow-debug/agents/git.md +0 -277
- package/plugins/devflow-debug/agents/synthesizer.md +0 -211
- package/plugins/devflow-debug/commands/debug-teams.md +0 -245
- package/plugins/devflow-debug/commands/debug.md +0 -174
- package/plugins/devflow-debug/skills/agent-teams/SKILL.md +0 -124
- package/plugins/devflow-debug/skills/agent-teams/references/cleanup.md +0 -104
- package/plugins/devflow-debug/skills/agent-teams/references/communication.md +0 -122
- package/plugins/devflow-debug/skills/agent-teams/references/team-patterns.md +0 -217
- package/plugins/devflow-debug/skills/git-safety/SKILL.md +0 -122
- package/plugins/devflow-debug/skills/git-safety/references/detection.md +0 -290
- package/plugins/devflow-debug/skills/git-safety/references/patterns.md +0 -289
- package/plugins/devflow-debug/skills/git-safety/references/violations.md +0 -18
- package/plugins/devflow-debug/skills/knowledge-persistence/SKILL.md +0 -128
- package/plugins/devflow-debug/skills/knowledge-persistence/references/examples.md +0 -44
- package/plugins/devflow-frontend-design/.claude-plugin/plugin.json +0 -21
- package/plugins/devflow-frontend-design/skills/frontend-design/SKILL.md +0 -254
- package/plugins/devflow-frontend-design/skills/frontend-design/references/patterns.md +0 -511
- package/plugins/devflow-frontend-design/skills/frontend-design/references/violations.md +0 -453
- package/plugins/devflow-go/.claude-plugin/plugin.json +0 -21
- package/plugins/devflow-go/skills/go/SKILL.md +0 -187
- package/plugins/devflow-go/skills/go/references/concurrency.md +0 -312
- package/plugins/devflow-go/skills/go/references/patterns.md +0 -232
- package/plugins/devflow-go/skills/go/references/violations.md +0 -205
- package/plugins/devflow-implement/.claude-plugin/plugin.json +0 -35
- package/plugins/devflow-implement/README.md +0 -71
- package/plugins/devflow-implement/agents/coder.md +0 -135
- package/plugins/devflow-implement/agents/git.md +0 -277
- package/plugins/devflow-implement/agents/scrutinizer.md +0 -82
- package/plugins/devflow-implement/agents/shepherd.md +0 -108
- package/plugins/devflow-implement/agents/simplifier.md +0 -102
- package/plugins/devflow-implement/agents/skimmer.md +0 -143
- package/plugins/devflow-implement/agents/synthesizer.md +0 -211
- package/plugins/devflow-implement/agents/validator.md +0 -86
- package/plugins/devflow-implement/commands/implement-teams.md +0 -620
- package/plugins/devflow-implement/commands/implement.md +0 -430
- package/plugins/devflow-implement/skills/agent-teams/SKILL.md +0 -124
- package/plugins/devflow-implement/skills/agent-teams/references/cleanup.md +0 -104
- package/plugins/devflow-implement/skills/agent-teams/references/communication.md +0 -122
- package/plugins/devflow-implement/skills/agent-teams/references/team-patterns.md +0 -217
- package/plugins/devflow-implement/skills/implementation-patterns/SKILL.md +0 -162
- package/plugins/devflow-implement/skills/knowledge-persistence/SKILL.md +0 -128
- package/plugins/devflow-implement/skills/knowledge-persistence/references/examples.md +0 -44
- package/plugins/devflow-implement/skills/self-review/SKILL.md +0 -149
- package/plugins/devflow-implement/skills/self-review/references/stub-detection.md +0 -135
- package/plugins/devflow-java/.claude-plugin/plugin.json +0 -21
- package/plugins/devflow-java/skills/java/SKILL.md +0 -183
- package/plugins/devflow-java/skills/java/references/modern-java.md +0 -270
- package/plugins/devflow-java/skills/java/references/patterns.md +0 -235
- package/plugins/devflow-java/skills/java/references/violations.md +0 -213
- package/plugins/devflow-python/.claude-plugin/plugin.json +0 -21
- package/plugins/devflow-python/skills/python/SKILL.md +0 -188
- package/plugins/devflow-python/skills/python/references/async.md +0 -220
- package/plugins/devflow-python/skills/python/references/patterns.md +0 -226
- package/plugins/devflow-python/skills/python/references/violations.md +0 -204
- package/plugins/devflow-react/.claude-plugin/plugin.json +0 -21
- package/plugins/devflow-react/skills/react/SKILL.md +0 -276
- package/plugins/devflow-react/skills/react/references/patterns.md +0 -1331
- package/plugins/devflow-react/skills/react/references/violations.md +0 -565
- package/plugins/devflow-resolve/.claude-plugin/plugin.json +0 -29
- package/plugins/devflow-resolve/README.md +0 -65
- package/plugins/devflow-resolve/agents/git.md +0 -277
- package/plugins/devflow-resolve/agents/resolver.md +0 -131
- package/plugins/devflow-resolve/agents/simplifier.md +0 -102
- package/plugins/devflow-resolve/commands/resolve-teams.md +0 -307
- package/plugins/devflow-resolve/commands/resolve.md +0 -246
- package/plugins/devflow-resolve/skills/agent-teams/SKILL.md +0 -124
- package/plugins/devflow-resolve/skills/agent-teams/references/cleanup.md +0 -104
- package/plugins/devflow-resolve/skills/agent-teams/references/communication.md +0 -122
- package/plugins/devflow-resolve/skills/agent-teams/references/team-patterns.md +0 -217
- package/plugins/devflow-resolve/skills/implementation-patterns/SKILL.md +0 -162
- package/plugins/devflow-resolve/skills/implementation-patterns/references/patterns.md +0 -1063
- package/plugins/devflow-resolve/skills/implementation-patterns/references/violations.md +0 -483
- package/plugins/devflow-resolve/skills/knowledge-persistence/SKILL.md +0 -128
- package/plugins/devflow-resolve/skills/knowledge-persistence/references/examples.md +0 -44
- package/plugins/devflow-resolve/skills/security-patterns/SKILL.md +0 -156
- package/plugins/devflow-resolve/skills/security-patterns/references/detection.md +0 -287
- package/plugins/devflow-resolve/skills/security-patterns/references/patterns.md +0 -507
- package/plugins/devflow-resolve/skills/security-patterns/references/violations.md +0 -237
- package/plugins/devflow-rust/.claude-plugin/plugin.json +0 -21
- package/plugins/devflow-rust/skills/rust/SKILL.md +0 -193
- package/plugins/devflow-rust/skills/rust/references/ownership.md +0 -242
- package/plugins/devflow-rust/skills/rust/references/patterns.md +0 -210
- package/plugins/devflow-rust/skills/rust/references/violations.md +0 -191
- package/plugins/devflow-self-review/.claude-plugin/plugin.json +0 -26
- package/plugins/devflow-self-review/README.md +0 -38
- package/plugins/devflow-self-review/agents/scrutinizer.md +0 -82
- package/plugins/devflow-self-review/agents/simplifier.md +0 -102
- package/plugins/devflow-self-review/agents/validator.md +0 -86
- package/plugins/devflow-self-review/commands/self-review.md +0 -132
- package/plugins/devflow-self-review/skills/core-patterns/SKILL.md +0 -162
- package/plugins/devflow-self-review/skills/core-patterns/references/checklist.md +0 -276
- package/plugins/devflow-self-review/skills/core-patterns/references/code-smell-violations.md +0 -144
- package/plugins/devflow-self-review/skills/core-patterns/references/detection.md +0 -303
- package/plugins/devflow-self-review/skills/core-patterns/references/patterns.md +0 -576
- package/plugins/devflow-self-review/skills/core-patterns/references/violations.md +0 -369
- package/plugins/devflow-self-review/skills/self-review/SKILL.md +0 -149
- package/plugins/devflow-self-review/skills/self-review/references/patterns.md +0 -405
- package/plugins/devflow-self-review/skills/self-review/references/report-template.md +0 -253
- package/plugins/devflow-self-review/skills/self-review/references/stub-detection.md +0 -135
- package/plugins/devflow-self-review/skills/self-review/references/violations.md +0 -308
- package/plugins/devflow-specify/.claude-plugin/plugin.json +0 -25
- package/plugins/devflow-specify/README.md +0 -46
- package/plugins/devflow-specify/agents/skimmer.md +0 -143
- package/plugins/devflow-specify/agents/synthesizer.md +0 -211
- package/plugins/devflow-specify/commands/specify-teams.md +0 -321
- package/plugins/devflow-specify/commands/specify.md +0 -186
- package/plugins/devflow-specify/skills/agent-teams/SKILL.md +0 -124
- package/plugins/devflow-specify/skills/agent-teams/references/cleanup.md +0 -104
- package/plugins/devflow-specify/skills/agent-teams/references/communication.md +0 -122
- package/plugins/devflow-specify/skills/agent-teams/references/team-patterns.md +0 -217
- package/plugins/devflow-typescript/.claude-plugin/plugin.json +0 -21
- package/plugins/devflow-typescript/skills/typescript/SKILL.md +0 -176
- package/plugins/devflow-typescript/skills/typescript/references/patterns.md +0 -1105
- package/plugins/devflow-typescript/skills/typescript/references/violations.md +0 -433
- package/scripts/hooks/ambient-prompt +0 -50
- package/scripts/hooks/background-memory-update +0 -257
- package/scripts/hooks/ensure-memory-gitignore +0 -17
- package/scripts/hooks/pre-compact-memory +0 -87
- package/scripts/hooks/run-hook +0 -23
- package/scripts/hooks/session-start-memory +0 -165
- package/scripts/hooks/stop-update-memory +0 -85
- package/scripts/hud/cache.d.ts +0 -14
- package/scripts/hud/cache.d.ts.map +0 -1
- package/scripts/hud/cache.js +0 -54
- package/scripts/hud/cache.js.map +0 -1
- package/scripts/hud/colors.d.ts +0 -23
- package/scripts/hud/colors.d.ts.map +0 -1
- package/scripts/hud/colors.js +0 -62
- package/scripts/hud/colors.js.map +0 -1
- package/scripts/hud/components/config-counts.d.ts +0 -8
- package/scripts/hud/components/config-counts.d.ts.map +0 -1
- package/scripts/hud/components/config-counts.js +0 -91
- package/scripts/hud/components/config-counts.js.map +0 -1
- package/scripts/hud/components/context-usage.d.ts +0 -8
- package/scripts/hud/components/context-usage.d.ts.map +0 -1
- package/scripts/hud/components/context-usage.js +0 -49
- package/scripts/hud/components/context-usage.js.map +0 -1
- package/scripts/hud/components/diff-stats.d.ts +0 -3
- package/scripts/hud/components/diff-stats.d.ts.map +0 -1
- package/scripts/hud/components/diff-stats.js +0 -36
- package/scripts/hud/components/diff-stats.js.map +0 -1
- package/scripts/hud/components/directory.d.ts +0 -3
- package/scripts/hud/components/directory.d.ts.map +0 -1
- package/scripts/hud/components/directory.js +0 -10
- package/scripts/hud/components/directory.js.map +0 -1
- package/scripts/hud/components/git-ahead-behind.d.ts +0 -3
- package/scripts/hud/components/git-ahead-behind.d.ts.map +0 -1
- package/scripts/hud/components/git-ahead-behind.js +0 -16
- package/scripts/hud/components/git-ahead-behind.js.map +0 -1
- package/scripts/hud/components/git-branch.d.ts +0 -3
- package/scripts/hud/components/git-branch.d.ts.map +0 -1
- package/scripts/hud/components/git-branch.js +0 -14
- package/scripts/hud/components/git-branch.js.map +0 -1
- package/scripts/hud/components/model.d.ts +0 -3
- package/scripts/hud/components/model.d.ts.map +0 -1
- package/scripts/hud/components/model.js +0 -21
- package/scripts/hud/components/model.js.map +0 -1
- package/scripts/hud/components/release-info.d.ts +0 -3
- package/scripts/hud/components/release-info.d.ts.map +0 -1
- package/scripts/hud/components/release-info.js +0 -9
- package/scripts/hud/components/release-info.js.map +0 -1
- package/scripts/hud/components/session-cost.d.ts +0 -3
- package/scripts/hud/components/session-cost.d.ts.map +0 -1
- package/scripts/hud/components/session-cost.js +0 -9
- package/scripts/hud/components/session-cost.js.map +0 -1
- package/scripts/hud/components/session-duration.d.ts +0 -3
- package/scripts/hud/components/session-duration.d.ts.map +0 -1
- package/scripts/hud/components/session-duration.js +0 -18
- package/scripts/hud/components/session-duration.js.map +0 -1
- package/scripts/hud/components/todo-progress.d.ts +0 -3
- package/scripts/hud/components/todo-progress.d.ts.map +0 -1
- package/scripts/hud/components/todo-progress.js +0 -11
- package/scripts/hud/components/todo-progress.js.map +0 -1
- package/scripts/hud/components/usage-quota.d.ts +0 -3
- package/scripts/hud/components/usage-quota.d.ts.map +0 -1
- package/scripts/hud/components/usage-quota.js +0 -45
- package/scripts/hud/components/usage-quota.js.map +0 -1
- package/scripts/hud/components/version-badge.d.ts +0 -3
- package/scripts/hud/components/version-badge.d.ts.map +0 -1
- package/scripts/hud/components/version-badge.js +0 -80
- package/scripts/hud/components/version-badge.js.map +0 -1
- package/scripts/hud/components/worktree-count.d.ts +0 -3
- package/scripts/hud/components/worktree-count.d.ts.map +0 -1
- package/scripts/hud/components/worktree-count.js +0 -8
- package/scripts/hud/components/worktree-count.js.map +0 -1
- package/scripts/hud/config.d.ts +0 -10
- package/scripts/hud/config.d.ts.map +0 -1
- package/scripts/hud/config.js +0 -55
- package/scripts/hud/config.js.map +0 -1
- package/scripts/hud/credentials.d.ts +0 -17
- package/scripts/hud/credentials.d.ts.map +0 -1
- package/scripts/hud/credentials.js +0 -99
- package/scripts/hud/credentials.js.map +0 -1
- package/scripts/hud/git.d.ts +0 -7
- package/scripts/hud/git.d.ts.map +0 -1
- package/scripts/hud/git.js +0 -153
- package/scripts/hud/git.js.map +0 -1
- package/scripts/hud/index.d.ts +0 -2
- package/scripts/hud/index.d.ts.map +0 -1
- package/scripts/hud/index.js +0 -81
- package/scripts/hud/index.js.map +0 -1
- package/scripts/hud/render.d.ts +0 -7
- package/scripts/hud/render.d.ts.map +0 -1
- package/scripts/hud/render.js +0 -111
- package/scripts/hud/render.js.map +0 -1
- package/scripts/hud/stdin.d.ts +0 -6
- package/scripts/hud/stdin.d.ts.map +0 -1
- package/scripts/hud/stdin.js +0 -25
- package/scripts/hud/stdin.js.map +0 -1
- package/scripts/hud/transcript.d.ts +0 -7
- package/scripts/hud/transcript.d.ts.map +0 -1
- package/scripts/hud/transcript.js +0 -130
- package/scripts/hud/transcript.js.map +0 -1
- package/scripts/hud/types.d.ts +0 -116
- package/scripts/hud/types.d.ts.map +0 -1
- package/scripts/hud/types.js +0 -2
- package/scripts/hud/types.js.map +0 -1
- package/scripts/hud/usage-api.d.ts +0 -7
- package/scripts/hud/usage-api.d.ts.map +0 -1
- package/scripts/hud/usage-api.js +0 -84
- package/scripts/hud/usage-api.js.map +0 -1
- package/scripts/hud.sh +0 -5
- package/shared/agents/coder.md +0 -135
- package/shared/agents/git.md +0 -277
- package/shared/agents/resolver.md +0 -131
- package/shared/agents/reviewer.md +0 -165
- package/shared/agents/scrutinizer.md +0 -82
- package/shared/agents/shepherd.md +0 -108
- package/shared/agents/simplifier.md +0 -102
- package/shared/agents/skimmer.md +0 -143
- package/shared/agents/synthesizer.md +0 -211
- package/shared/agents/validator.md +0 -86
- package/shared/skills/accessibility/SKILL.md +0 -229
- package/shared/skills/accessibility/references/detection.md +0 -171
- package/shared/skills/accessibility/references/patterns.md +0 -670
- package/shared/skills/accessibility/references/violations.md +0 -419
- package/shared/skills/agent-teams/SKILL.md +0 -124
- package/shared/skills/agent-teams/references/cleanup.md +0 -104
- package/shared/skills/agent-teams/references/communication.md +0 -122
- package/shared/skills/agent-teams/references/team-patterns.md +0 -217
- package/shared/skills/ambient-router/SKILL.md +0 -145
- package/shared/skills/ambient-router/references/skill-catalog.md +0 -74
- package/shared/skills/architecture-patterns/SKILL.md +0 -153
- package/shared/skills/architecture-patterns/references/detection.md +0 -337
- package/shared/skills/architecture-patterns/references/patterns.md +0 -873
- package/shared/skills/architecture-patterns/references/violations.md +0 -575
- package/shared/skills/complexity-patterns/SKILL.md +0 -143
- package/shared/skills/complexity-patterns/references/detection.md +0 -264
- package/shared/skills/complexity-patterns/references/patterns.md +0 -487
- package/shared/skills/complexity-patterns/references/violations.md +0 -361
- package/shared/skills/consistency-patterns/SKILL.md +0 -140
- package/shared/skills/consistency-patterns/references/detection.md +0 -207
- package/shared/skills/consistency-patterns/references/patterns.md +0 -202
- package/shared/skills/consistency-patterns/references/violations.md +0 -213
- package/shared/skills/core-patterns/SKILL.md +0 -162
- package/shared/skills/core-patterns/references/checklist.md +0 -276
- package/shared/skills/core-patterns/references/code-smell-violations.md +0 -144
- package/shared/skills/core-patterns/references/detection.md +0 -303
- package/shared/skills/core-patterns/references/patterns.md +0 -576
- package/shared/skills/core-patterns/references/violations.md +0 -369
- package/shared/skills/database-patterns/SKILL.md +0 -134
- package/shared/skills/database-patterns/references/detection.md +0 -208
- package/shared/skills/database-patterns/references/patterns.md +0 -394
- package/shared/skills/database-patterns/references/violations.md +0 -332
- package/shared/skills/debug-orchestration/SKILL.md +0 -69
- package/shared/skills/dependencies-patterns/SKILL.md +0 -141
- package/shared/skills/dependencies-patterns/references/detection.md +0 -181
- package/shared/skills/dependencies-patterns/references/patterns.md +0 -225
- package/shared/skills/dependencies-patterns/references/violations.md +0 -247
- package/shared/skills/docs-framework/SKILL.md +0 -143
- package/shared/skills/docs-framework/references/patterns.md +0 -346
- package/shared/skills/docs-framework/references/violations.md +0 -221
- package/shared/skills/documentation-patterns/SKILL.md +0 -125
- package/shared/skills/documentation-patterns/references/detection.md +0 -190
- package/shared/skills/documentation-patterns/references/patterns.md +0 -189
- package/shared/skills/documentation-patterns/references/violations.md +0 -163
- package/shared/skills/frontend-design/SKILL.md +0 -254
- package/shared/skills/frontend-design/references/detection.md +0 -184
- package/shared/skills/frontend-design/references/patterns.md +0 -511
- package/shared/skills/frontend-design/references/violations.md +0 -453
- package/shared/skills/git-safety/SKILL.md +0 -122
- package/shared/skills/git-safety/references/detection.md +0 -290
- package/shared/skills/git-safety/references/patterns.md +0 -289
- package/shared/skills/git-safety/references/violations.md +0 -18
- package/shared/skills/git-workflow/SKILL.md +0 -158
- package/shared/skills/git-workflow/references/commit-patterns.md +0 -115
- package/shared/skills/git-workflow/references/commit-violations.md +0 -77
- package/shared/skills/git-workflow/references/pr-patterns.md +0 -127
- package/shared/skills/git-workflow/references/pr-violations.md +0 -96
- package/shared/skills/github-patterns/SKILL.md +0 -153
- package/shared/skills/github-patterns/references/patterns.md +0 -572
- package/shared/skills/github-patterns/references/violations.md +0 -298
- package/shared/skills/go/SKILL.md +0 -187
- package/shared/skills/go/references/concurrency.md +0 -312
- package/shared/skills/go/references/detection.md +0 -129
- package/shared/skills/go/references/patterns.md +0 -232
- package/shared/skills/go/references/violations.md +0 -205
- package/shared/skills/implementation-orchestration/SKILL.md +0 -92
- package/shared/skills/implementation-patterns/SKILL.md +0 -162
- package/shared/skills/implementation-patterns/references/patterns.md +0 -1063
- package/shared/skills/implementation-patterns/references/violations.md +0 -483
- package/shared/skills/input-validation/SKILL.md +0 -148
- package/shared/skills/input-validation/references/detection.md +0 -283
- package/shared/skills/input-validation/references/patterns.md +0 -361
- package/shared/skills/input-validation/references/violations.md +0 -224
- package/shared/skills/java/SKILL.md +0 -183
- package/shared/skills/java/references/detection.md +0 -120
- package/shared/skills/java/references/modern-java.md +0 -270
- package/shared/skills/java/references/patterns.md +0 -235
- package/shared/skills/java/references/violations.md +0 -213
- package/shared/skills/knowledge-persistence/SKILL.md +0 -128
- package/shared/skills/knowledge-persistence/references/examples.md +0 -44
- package/shared/skills/performance-patterns/SKILL.md +0 -154
- package/shared/skills/performance-patterns/references/detection.md +0 -351
- package/shared/skills/performance-patterns/references/patterns.md +0 -503
- package/shared/skills/performance-patterns/references/violations.md +0 -354
- package/shared/skills/plan-orchestration/SKILL.md +0 -71
- package/shared/skills/python/SKILL.md +0 -188
- package/shared/skills/python/references/async.md +0 -220
- package/shared/skills/python/references/detection.md +0 -128
- package/shared/skills/python/references/patterns.md +0 -226
- package/shared/skills/python/references/violations.md +0 -204
- package/shared/skills/react/SKILL.md +0 -276
- package/shared/skills/react/references/patterns.md +0 -1331
- package/shared/skills/react/references/violations.md +0 -565
- package/shared/skills/regression-patterns/SKILL.md +0 -146
- package/shared/skills/regression-patterns/references/detection.md +0 -237
- package/shared/skills/regression-patterns/references/patterns.md +0 -226
- package/shared/skills/regression-patterns/references/violations.md +0 -225
- package/shared/skills/review-methodology/SKILL.md +0 -119
- package/shared/skills/review-methodology/references/patterns.md +0 -186
- package/shared/skills/review-methodology/references/report-template.md +0 -142
- package/shared/skills/review-methodology/references/violations.md +0 -125
- package/shared/skills/rust/SKILL.md +0 -193
- package/shared/skills/rust/references/detection.md +0 -131
- package/shared/skills/rust/references/ownership.md +0 -242
- package/shared/skills/rust/references/patterns.md +0 -210
- package/shared/skills/rust/references/violations.md +0 -191
- package/shared/skills/search-first/SKILL.md +0 -133
- package/shared/skills/search-first/references/evaluation-criteria.md +0 -101
- package/shared/skills/security-patterns/SKILL.md +0 -156
- package/shared/skills/security-patterns/references/detection.md +0 -287
- package/shared/skills/security-patterns/references/patterns.md +0 -507
- package/shared/skills/security-patterns/references/violations.md +0 -237
- package/shared/skills/self-review/SKILL.md +0 -149
- package/shared/skills/self-review/references/patterns.md +0 -405
- package/shared/skills/self-review/references/report-template.md +0 -253
- package/shared/skills/self-review/references/stub-detection.md +0 -135
- package/shared/skills/self-review/references/violations.md +0 -308
- package/shared/skills/test-driven-development/SKILL.md +0 -137
- package/shared/skills/test-driven-development/references/rationalization-prevention.md +0 -111
- package/shared/skills/test-patterns/SKILL.md +0 -183
- package/shared/skills/test-patterns/references/detection.md +0 -149
- package/shared/skills/test-patterns/references/patterns.md +0 -220
- package/shared/skills/test-patterns/references/report-template.md +0 -108
- package/shared/skills/test-patterns/references/violations.md +0 -221
- package/shared/skills/typescript/SKILL.md +0 -176
- package/shared/skills/typescript/references/patterns.md +0 -1105
- package/shared/skills/typescript/references/violations.md +0 -433
- package/src/templates/claudeignore.template +0 -188
- package/src/templates/settings.json +0 -59
- /package/dist/{utils → core}/safe-delete.js +0 -0
- /package/{plugins/devflow-accessibility → src/assets}/skills/accessibility/references/detection.md +0 -0
- /package/{plugins/devflow-code-review/skills/architecture-patterns → src/assets/skills/architecture}/references/detection.md +0 -0
- /package/{plugins/devflow-code-review/skills/complexity-patterns → src/assets/skills/complexity}/references/detection.md +0 -0
- /package/{plugins/devflow-code-review/skills/complexity-patterns → src/assets/skills/complexity}/references/patterns.md +0 -0
- /package/{plugins/devflow-code-review/skills/complexity-patterns → src/assets/skills/complexity}/references/violations.md +0 -0
- /package/{plugins/devflow-code-review/skills/consistency-patterns → src/assets/skills/consistency}/references/detection.md +0 -0
- /package/{plugins/devflow-code-review/skills/consistency-patterns → src/assets/skills/consistency}/references/patterns.md +0 -0
- /package/{plugins/devflow-code-review/skills/consistency-patterns → src/assets/skills/consistency}/references/violations.md +0 -0
- /package/{plugins/devflow-code-review/skills/database-patterns → src/assets/skills/database}/references/detection.md +0 -0
- /package/{plugins/devflow-code-review/skills/database-patterns → src/assets/skills/database}/references/patterns.md +0 -0
- /package/{plugins/devflow-code-review/skills/database-patterns → src/assets/skills/database}/references/violations.md +0 -0
- /package/{plugins/devflow-code-review/skills/dependencies-patterns → src/assets/skills/dependencies}/references/detection.md +0 -0
- /package/{plugins/devflow-code-review/skills/dependencies-patterns → src/assets/skills/dependencies}/references/patterns.md +0 -0
- /package/{plugins/devflow-code-review/skills/dependencies-patterns → src/assets/skills/dependencies}/references/violations.md +0 -0
- /package/{plugins/devflow-code-review/skills/documentation-patterns → src/assets/skills/documentation}/references/detection.md +0 -0
- /package/{plugins/devflow-code-review/skills/documentation-patterns → src/assets/skills/documentation}/references/patterns.md +0 -0
- /package/{plugins/devflow-code-review/skills/documentation-patterns → src/assets/skills/documentation}/references/violations.md +0 -0
- /package/{plugins/devflow-core-skills/skills/git-safety → src/assets/skills/git}/references/detection.md +0 -0
- /package/{plugins/devflow-go → src/assets}/skills/go/references/detection.md +0 -0
- /package/{plugins/devflow-java → src/assets}/skills/java/references/detection.md +0 -0
- /package/{plugins/devflow-implement/skills/implementation-patterns → src/assets/skills/patterns}/references/patterns.md +0 -0
- /package/{plugins/devflow-implement/skills/implementation-patterns → src/assets/skills/patterns}/references/violations.md +0 -0
- /package/{plugins/devflow-code-review/skills/performance-patterns → src/assets/skills/performance}/references/detection.md +0 -0
- /package/{plugins/devflow-python → src/assets}/skills/python/references/detection.md +0 -0
- /package/{plugins/devflow-implement/skills/self-review → src/assets/skills/quality-gates}/references/patterns.md +0 -0
- /package/{plugins/devflow-implement/skills/self-review → src/assets/skills/quality-gates}/references/report-template.md +0 -0
- /package/{plugins/devflow-implement/skills/self-review → src/assets/skills/quality-gates}/references/violations.md +0 -0
- /package/{plugins/devflow-code-review/skills/regression-patterns → src/assets/skills/regression}/references/detection.md +0 -0
- /package/{plugins/devflow-code-review/skills/regression-patterns → src/assets/skills/regression}/references/patterns.md +0 -0
- /package/{plugins/devflow-code-review/skills/regression-patterns → src/assets/skills/regression}/references/violations.md +0 -0
- /package/{plugins/devflow-rust → src/assets}/skills/rust/references/detection.md +0 -0
- /package/{plugins/devflow-code-review/skills/security-patterns → src/assets/skills/security}/references/detection.md +0 -0
- /package/{plugins/devflow-core-skills/skills/core-patterns → src/assets/skills/software-design}/references/detection.md +0 -0
- /package/{plugins/devflow-core-skills → src/assets}/skills/test-driven-development/references/rationalization-prevention.md +0 -0
- /package/{plugins/devflow-code-review/skills/test-patterns → src/assets/skills/testing}/references/detection.md +0 -0
- /package/{plugins/devflow-code-review/skills/test-patterns → src/assets/skills/testing}/references/report-template.md +0 -0
- /package/{plugins/devflow-frontend-design/skills/frontend-design → src/assets/skills/ui-design}/references/detection.md +0 -0
- /package/src/{templates → targets/claude-code/templates}/managed-settings.json +0 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# QA Skill — Scenario Templates
|
|
2
|
+
|
|
3
|
+
Ready-to-adapt templates for common feature types.
|
|
4
|
+
|
|
5
|
+
## Template 1: CLI Command
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
Feature: New CLI command `devflow foo --bar`
|
|
9
|
+
|
|
10
|
+
S1 (happy): Run `devflow foo --bar value` → expected output, exit 0
|
|
11
|
+
S2 (happy): Run `devflow foo` with defaults → sensible default behavior
|
|
12
|
+
S3 (boundary): Run `devflow foo --bar ""` → validation error, exit 1
|
|
13
|
+
S4 (boundary): Run `devflow foo --bar` (missing value) → usage help, exit 1
|
|
14
|
+
S5 (negative): Run `devflow foo --unknown` → "unknown flag" error, exit 1
|
|
15
|
+
S6 (negative): Run in directory without required config → helpful error message
|
|
16
|
+
S7 (regression): Existing commands still work unchanged
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Template 2: API Endpoint
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Feature: POST /api/widgets
|
|
23
|
+
|
|
24
|
+
S1 (happy): Valid body → 201, widget in response, persisted in DB
|
|
25
|
+
S2 (happy): Minimal valid body → 201, defaults applied
|
|
26
|
+
S3 (boundary): Body at max allowed size → 201 or 413
|
|
27
|
+
S4 (boundary): Empty required field → 400 with field-specific error
|
|
28
|
+
S5 (negative): No auth header → 401
|
|
29
|
+
S6 (negative): Invalid JSON body → 400
|
|
30
|
+
S7 (negative): Duplicate unique field → 409
|
|
31
|
+
S8 (integration): Created widget appears in GET /api/widgets
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Template 3: Configuration Change
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Feature: New config option `maxRetries` in config.json
|
|
38
|
+
|
|
39
|
+
S1 (happy): Set maxRetries=3 → system retries 3 times on failure
|
|
40
|
+
S2 (boundary): Set maxRetries=0 → no retries (immediate fail)
|
|
41
|
+
S3 (boundary): Set maxRetries=100 → accepted (or capped with warning)
|
|
42
|
+
S4 (negative): Set maxRetries=-1 → validation error on startup
|
|
43
|
+
S5 (negative): Omit maxRetries → sensible default applied
|
|
44
|
+
S6 (negative): Set maxRetries="abc" → type error on startup
|
|
45
|
+
S7 (regression): Existing config options still work with new option added
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Template 4: File Processing
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
Feature: Import CSV data
|
|
52
|
+
|
|
53
|
+
S1 (happy): Valid CSV with 10 rows → 10 records imported
|
|
54
|
+
S2 (happy): CSV with headers → headers correctly mapped
|
|
55
|
+
S3 (boundary): Empty CSV (headers only) → 0 records, no error
|
|
56
|
+
S4 (boundary): Large CSV (10K rows) → all imported within timeout
|
|
57
|
+
S5 (negative): Malformed CSV (unmatched quotes) → error with line number
|
|
58
|
+
S6 (negative): Missing required column → error naming the column
|
|
59
|
+
S7 (negative): File not found → clear error message
|
|
60
|
+
S8 (integration): Imported records queryable via existing API
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Template 5: Refactoring / Internal Change
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Feature: Refactored auth middleware (no behavior change intended)
|
|
67
|
+
|
|
68
|
+
S1 (regression): Login with valid credentials → same response as before
|
|
69
|
+
S2 (regression): Login with invalid credentials → same error as before
|
|
70
|
+
S3 (regression): Protected endpoint with valid token → accessible
|
|
71
|
+
S4 (regression): Protected endpoint without token → 401
|
|
72
|
+
S5 (regression): Token expiry behavior unchanged
|
|
73
|
+
S6 (regression): Rate limiting behavior unchanged
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Template 6: Build System / Tooling Change
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Feature: Added new build step
|
|
80
|
+
|
|
81
|
+
S1 (happy): Full build succeeds → all artifacts present
|
|
82
|
+
S2 (happy): Incremental build after change → only affected files rebuilt
|
|
83
|
+
S3 (negative): Build with missing dependency → clear error message
|
|
84
|
+
S4 (regression): Existing build outputs unchanged
|
|
85
|
+
S5 (regression): Build time not significantly degraded
|
|
86
|
+
S6 (integration): Built artifacts installable/runnable
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Template 7: Web Component / Route
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Feature: Login page
|
|
93
|
+
|
|
94
|
+
S1 (happy): Navigate to /login → form visible, all fields present
|
|
95
|
+
S2 (happy): Enter valid credentials → submit → redirect to /dashboard
|
|
96
|
+
S3 (boundary): Email with 255 chars → accepted or validation message shown
|
|
97
|
+
S4 (negative): Submit empty form → validation errors for required fields
|
|
98
|
+
S5 (negative): Wrong password → "Invalid credentials" message displayed
|
|
99
|
+
S6 (integration): Successful login → user name visible on dashboard
|
|
100
|
+
S7 (regression): Existing pages still render correctly after changes
|
|
101
|
+
S8 (negative): Navigate to /login when already logged in → redirect to dashboard
|
|
102
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# QA Skill — Sources
|
|
2
|
+
|
|
3
|
+
Canonical references for scenario-based acceptance testing methodology.
|
|
4
|
+
|
|
5
|
+
## Bibliography
|
|
6
|
+
|
|
7
|
+
| # | Author(s) | Title | Year | Topics | Access |
|
|
8
|
+
|---|-----------|-------|------|--------|--------|
|
|
9
|
+
| 1 | Myers, Sandler, Badgett | The Art of Software Testing, 3rd ed. | 2011 | Boundary value analysis, equivalence partitioning, test case design | Wiley |
|
|
10
|
+
| 2 | Kaner, Bach, Pettichord | Lessons Learned in Software Testing | 2001 | Scenario design, QA philosophy, exploratory testing foundations | Wiley |
|
|
11
|
+
| 3 | Hendrickson, E. | Explore It! Reduce Risk and Increase Confidence with Exploratory Testing | 2013 | Exploratory testing charters, heuristics, risk-based exploration | Pragmatic |
|
|
12
|
+
| 4 | Adzic, G. | Specification by Example | 2011 | Acceptance criteria → executable specifications, living documentation | Manning |
|
|
13
|
+
| 5 | Crispin, Gregory | Agile Testing: A Practical Guide | 2009 | Testing quadrants (Q1-Q4), acceptance testing in agile, whole-team quality | Addison-Wesley |
|
|
14
|
+
| 6 | Copeland, L. | A Practitioner's Guide to Software Test Design | 2004 | Equivalence classes, decision tables, state transition testing, pairwise | Artech House |
|
|
15
|
+
| 7 | Beizer, B. | Software Testing Techniques, 2nd ed. | 1990 | Domain testing, cause-effect graphing, syntax testing, graph-based methods | Van Nostrand Reinhold |
|
|
16
|
+
| 8 | Freeman, Pryce | Growing Object-Oriented Software, Guided by Tests (GOOS) | 2009 | Acceptance test-driven development, walking skeleton, outside-in TDD | Addison-Wesley |
|
|
17
|
+
| 9 | Smart, J.F. | BDD in Action: Behavior-Driven Development for the Whole Software Lifecycle | 2014 | Given/When/Then scenarios, living documentation, specification workshops | Manning |
|
|
18
|
+
| 10 | Ammann, Offutt | Introduction to Software Testing, 2nd ed. | 2016 | Input space partitioning, graph coverage, logic coverage criteria | Cambridge |
|
|
19
|
+
| 11 | Whittaker, J. | Exploratory Software Testing | 2009 | Test tours (feature, complexity, claims, configuration), risk-based exploration | Addison-Wesley |
|
|
20
|
+
| 12 | Google Testing Blog | Various: Acceptance Testing practices | 2007-2024 | Test pyramids, acceptance test patterns, flaky test reduction | testing.googleblog.com |
|
|
21
|
+
|
|
22
|
+
## How Sources Map to SKILL.md Sections
|
|
23
|
+
|
|
24
|
+
| Section | Primary Sources | Supporting Sources |
|
|
25
|
+
|---------|----------------|-------------------|
|
|
26
|
+
| Scenario Types | [1] Myers, [2] Kaner, [6] Copeland | [5] Crispin Q2/Q3 quadrants |
|
|
27
|
+
| Scenario Design from Criteria | [4] Adzic, [8] Freeman, [9] Smart | [5] Crispin acceptance testing |
|
|
28
|
+
| Equivalence Partitioning | [1] Myers, [6] Copeland, [7] Beizer | [10] Ammann ISP |
|
|
29
|
+
| Exploratory Heuristics | [2] Kaner, [3] Hendrickson, [11] Whittaker | [5] Crispin session-based |
|
|
30
|
+
| Evidence Collection | [8] Freeman (observable behavior), [12] Google | [4] Adzic (living docs) |
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# QA Skill — Anti-Patterns
|
|
2
|
+
|
|
3
|
+
Common QA anti-patterns that produce false confidence.
|
|
4
|
+
|
|
5
|
+
## Violation 1: Happy-Path-Only Testing [1][2]
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
❌ Only testing the success case:
|
|
9
|
+
"User logs in with correct credentials → success"
|
|
10
|
+
No negative, boundary, or error scenarios
|
|
11
|
+
|
|
12
|
+
✅ Complete coverage:
|
|
13
|
+
S1: Correct credentials → success (happy)
|
|
14
|
+
S2: Wrong password → error message (negative)
|
|
15
|
+
S3: Empty password → validation error (boundary)
|
|
16
|
+
S4: Locked account → account locked message (negative)
|
|
17
|
+
S5: SQL injection in username → sanitized, no breach (negative)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Why**: Happy path tests verify ~20% of behavior. Most defects live in error handling and boundaries [1].
|
|
21
|
+
|
|
22
|
+
## Violation 2: Testing Implementation, Not Behavior [2][8]
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
❌ Testing internals:
|
|
26
|
+
"Verify that addToCart() calls inventoryService.reserve()"
|
|
27
|
+
"Check that the Redux store has items array with length 1"
|
|
28
|
+
|
|
29
|
+
✅ Testing user-observable behavior:
|
|
30
|
+
"Add item to cart → cart count shows 1"
|
|
31
|
+
"Add item to cart → item appears in checkout"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Why**: Implementation tests break on refactoring. Behavior tests break when features break [8].
|
|
35
|
+
|
|
36
|
+
## Violation 3: Missing Evidence [8][12]
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
❌ No evidence captured:
|
|
40
|
+
"Ran the command and it seemed to work"
|
|
41
|
+
PASS (based on what?)
|
|
42
|
+
|
|
43
|
+
✅ Evidence captured:
|
|
44
|
+
$ some-command --flag
|
|
45
|
+
Exit code: 0
|
|
46
|
+
Output: "Success: 3 items processed"
|
|
47
|
+
File created: output.json (142 bytes)
|
|
48
|
+
PASS (evidence: exit code 0, expected output string present)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Why**: Without evidence, failures are unreproducible and pass results are unverifiable [8].
|
|
52
|
+
|
|
53
|
+
## Violation 4: Skipping Boundary Analysis [1][6][7]
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
❌ Testing one valid value:
|
|
57
|
+
"Input: age=25 → accepted"
|
|
58
|
+
(Ignores: age=0, age=-1, age=121, age=NaN)
|
|
59
|
+
|
|
60
|
+
✅ Boundary triplets:
|
|
61
|
+
age=-1 → rejected (below minimum)
|
|
62
|
+
age=0 → accepted (minimum)
|
|
63
|
+
age=1 → accepted (above minimum)
|
|
64
|
+
age=119 → accepted (below maximum)
|
|
65
|
+
age=120 → accepted (maximum)
|
|
66
|
+
age=121 → rejected (above maximum)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Why**: ~65% of input-related defects occur at boundaries [7]. Single-value testing misses them all.
|
|
70
|
+
|
|
71
|
+
## Violation 5: Untraceable Scenarios [4][9]
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
❌ Vague scenarios:
|
|
75
|
+
"Test that search works"
|
|
76
|
+
"Make sure the form validates"
|
|
77
|
+
|
|
78
|
+
✅ Structured Given/When/Then:
|
|
79
|
+
Given: Database contains users "alice", "bob", "charlie"
|
|
80
|
+
When: Search for "ali"
|
|
81
|
+
Then: Results contain "alice" only, displayed within 200ms
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Why**: Vague scenarios are non-reproducible. Structured scenarios are executable specifications [4][9].
|
|
85
|
+
|
|
86
|
+
## Violation 6: Ignoring Non-Functional Acceptance [5][12]
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
❌ Only functional testing:
|
|
90
|
+
"Upload works" (but takes 30 seconds for a 1MB file)
|
|
91
|
+
|
|
92
|
+
✅ Including observable quality:
|
|
93
|
+
S1: Upload 1MB file → completes within 2 seconds (performance)
|
|
94
|
+
S2: Upload shows progress indicator (usability)
|
|
95
|
+
S3: Upload failure shows retry option (error recovery)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Why**: Users experience performance, usability, and error recovery — not just correct outputs [5].
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quality-gates
|
|
3
|
+
description: This skill should be used when evaluating implementation quality before submission, checking correctness, security, and simplicity.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
allowed-tools: Read, Grep, Glob, Edit, Write, Bash
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Self-Review Framework
|
|
9
|
+
|
|
10
|
+
Systematic self-review for the Scrutinize agent. Evaluate implementation against 9 pillars. **Fix issues, don't just report them.**
|
|
11
|
+
|
|
12
|
+
Based on [Google Engineering Practices](https://google.github.io/eng-practices/review/reviewer/looking-for.html).
|
|
13
|
+
|
|
14
|
+
## Iron Law
|
|
15
|
+
|
|
16
|
+
> **FIX BEFORE RETURNING**
|
|
17
|
+
>
|
|
18
|
+
> Self-review is not a report generator. It's a quality gate. If you find a P0 or P1 issue,
|
|
19
|
+
> you fix it. You only return when all critical issues are resolved. Pride in craftsmanship.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## The 9 Pillars
|
|
24
|
+
|
|
25
|
+
| Priority | Action | Pillars |
|
|
26
|
+
|----------|--------|---------|
|
|
27
|
+
| **P0** | MUST fix | Design, Functionality, Security |
|
|
28
|
+
| **P1** | SHOULD fix | Complexity, Error Handling, Tests |
|
|
29
|
+
| **P2** | FIX if time | Naming, Consistency, Documentation |
|
|
30
|
+
|
|
31
|
+
### P0 - Design
|
|
32
|
+
Does the implementation fit the architecture? Follows existing patterns, respects layer boundaries, dependencies injected.
|
|
33
|
+
|
|
34
|
+
If `FEATURE_KNOWLEDGE` is provided, verify implementation respects the feature area's documented architecture and anti-patterns. Flag deviations as P0-Design issues when the documented pattern is clearly intentional.
|
|
35
|
+
|
|
36
|
+
### P0 - Functionality
|
|
37
|
+
Does the code work? Happy path, edge cases (null, empty, boundary), no race conditions.
|
|
38
|
+
|
|
39
|
+
### P0 - Security
|
|
40
|
+
Any vulnerabilities? No injection, input validated, no hardcoded secrets, auth checked.
|
|
41
|
+
|
|
42
|
+
### P1 - Complexity
|
|
43
|
+
Understandable in 5 minutes? Functions < 50 lines, nesting < 4 levels, no magic numbers.
|
|
44
|
+
|
|
45
|
+
### P1 - Error Handling
|
|
46
|
+
Errors handled explicitly? No swallowed exceptions, helpful messages, resources cleaned up.
|
|
47
|
+
|
|
48
|
+
### P1 - Tests
|
|
49
|
+
New code tested? Covers happy path, errors, edges. Tests behavior, not implementation.
|
|
50
|
+
|
|
51
|
+
### P2 - Naming
|
|
52
|
+
Names clear and descriptive? No cryptic abbreviations, consistent style.
|
|
53
|
+
|
|
54
|
+
### P2 - Consistency
|
|
55
|
+
Matches existing patterns? Same style, same conventions, no unnecessary divergence.
|
|
56
|
+
|
|
57
|
+
### P2 - Documentation
|
|
58
|
+
Will others understand? Complex logic commented, public APIs documented, no outdated comments.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Quick Examples
|
|
63
|
+
|
|
64
|
+
### Design Red Flag
|
|
65
|
+
```typescript
|
|
66
|
+
// BAD: Direct DB in controller (violates layers)
|
|
67
|
+
class UserController {
|
|
68
|
+
async getUser(req, res) {
|
|
69
|
+
const user = await db.query('SELECT * FROM users WHERE id = ?', [req.params.id]);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Security Red Flag
|
|
75
|
+
```typescript
|
|
76
|
+
// BAD: SQL injection
|
|
77
|
+
const query = `SELECT * FROM users WHERE email = '${email}'`;
|
|
78
|
+
|
|
79
|
+
// BAD: Missing auth
|
|
80
|
+
app.delete('/api/users/:id', async (req, res) => {
|
|
81
|
+
await deleteUser(req.params.id); // No auth check!
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Self-Review Process
|
|
88
|
+
|
|
89
|
+
### Step 1: Gather Changes
|
|
90
|
+
```bash
|
|
91
|
+
git diff --name-only HEAD~1
|
|
92
|
+
git diff HEAD~1
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Step 2: Evaluate P0 Pillars
|
|
96
|
+
Check Design, Functionality, Security. If issues found and fixable, fix immediately. If unfixable, STOP and report blocker.
|
|
97
|
+
|
|
98
|
+
### Step 3: Evaluate P1 Pillars
|
|
99
|
+
Check Complexity, Error Handling, Tests. Fix issues found.
|
|
100
|
+
|
|
101
|
+
### Step 4: Evaluate P2 Pillars
|
|
102
|
+
Check Naming, Consistency, Documentation. Fix if time permits.
|
|
103
|
+
|
|
104
|
+
### Step 5: Generate Report
|
|
105
|
+
Document status of each pillar, fixes applied, and overall readiness.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Output Format
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
## Self-Review Report
|
|
113
|
+
|
|
114
|
+
### P0 Pillars
|
|
115
|
+
- Design: PASS/FIXED
|
|
116
|
+
- Functionality: PASS/FIXED
|
|
117
|
+
- Security: PASS/FIXED
|
|
118
|
+
|
|
119
|
+
### P1 Pillars
|
|
120
|
+
- Complexity: PASS/FIXED
|
|
121
|
+
- Error Handling: PASS/FIXED
|
|
122
|
+
- Tests: PASS/FIXED
|
|
123
|
+
|
|
124
|
+
### P2 Pillars
|
|
125
|
+
- Naming: PASS/FIXED/SKIP
|
|
126
|
+
- Consistency: PASS/FIXED/SKIP
|
|
127
|
+
- Documentation: PASS/FIXED/SKIP
|
|
128
|
+
|
|
129
|
+
### Summary
|
|
130
|
+
Issues Found: {n}, Fixed: {n}
|
|
131
|
+
Status: READY / BLOCKED
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Extended References
|
|
137
|
+
|
|
138
|
+
For detailed checklists, examples, and red flags for each pillar:
|
|
139
|
+
- See `references/patterns.md` (9-pillar evaluation patterns and issue classification)
|
|
140
|
+
- See `references/violations.md` (pillar-organized anti-patterns and P0/P1 red flags)
|
|
141
|
+
|
|
142
|
+
For complete report templates and examples:
|
|
143
|
+
- See `references/report-template.md`
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Integration
|
|
148
|
+
|
|
149
|
+
Used by:
|
|
150
|
+
- **Scrutinize agent**: Dedicated self-review in fresh context after the Code agent completes
|
|
151
|
+
|
|
152
|
+
The self-review ensures implementations meet quality standards before external review, catching issues early.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Stub Detection Patterns
|
|
2
|
+
|
|
3
|
+
Placeholder implementations that compile but don't deliver real functionality. Flag as **P0-Functionality** issues.
|
|
4
|
+
|
|
5
|
+
Cross-reference: `software-design/references/code-smell-violations.md` covers hardcoded data and fake functionality labeling. This file focuses on structural stub patterns.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. Component Stubs
|
|
10
|
+
|
|
11
|
+
Render nothing meaningful or return placeholder markup.
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
// STUB — returns static text, no real rendering
|
|
15
|
+
function UserProfile({ userId }: Props) {
|
|
16
|
+
return <div>Name</div>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// REAL — fetches and renders actual data
|
|
20
|
+
function UserProfile({ userId }: Props) {
|
|
21
|
+
const user = useUser(userId);
|
|
22
|
+
if (!user) return <Skeleton />;
|
|
23
|
+
return <div><h2>{user.name}</h2><p>{user.email}</p></div>;
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Patterns to flag:**
|
|
28
|
+
- `return null` / `return <></>` in components that should render content
|
|
29
|
+
- Empty function bodies (`{}`) for handlers or lifecycle methods
|
|
30
|
+
- Components returning only hardcoded strings with no data binding
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 2. API / Service Stubs
|
|
35
|
+
|
|
36
|
+
Functions that exist in signature but throw, return hardcoded values, or do nothing.
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
// STUB — throws instead of implementing
|
|
40
|
+
async function createOrder(items: CartItem[]): Promise<Order> {
|
|
41
|
+
throw new Error("TODO: implement");
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// STUB — hardcoded return, no real logic
|
|
45
|
+
async function getUser(id: string): Promise<User> {
|
|
46
|
+
return { id, name: "Test User", email: "test@test.com" };
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// REAL — actual implementation
|
|
50
|
+
async function createOrder(items: CartItem[]): Promise<Result<Order, OrderError>> {
|
|
51
|
+
const validated = validateItems(items);
|
|
52
|
+
if (!validated.ok) return validated;
|
|
53
|
+
const order = await db.orders.create({ items: validated.value });
|
|
54
|
+
await queue.publish("order.created", order);
|
|
55
|
+
return { ok: true, value: order };
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Patterns to flag:**
|
|
60
|
+
- `throw new Error("TODO")` / `throw new Error("Not implemented")`
|
|
61
|
+
- Functions returning hardcoded objects (no DB/API/computation)
|
|
62
|
+
- `"Not implemented"` strings in response bodies
|
|
63
|
+
- Empty async functions (`async function foo() {}`)
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 3. Hook / Effect Stubs
|
|
68
|
+
|
|
69
|
+
State and effects declared but not wired to behavior.
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
// STUB — effect does nothing
|
|
73
|
+
useEffect(() => {}, [userId]);
|
|
74
|
+
|
|
75
|
+
// STUB — state declared, setter never called
|
|
76
|
+
const [items, setItems] = useState<Item[]>([]);
|
|
77
|
+
// ... setItems never appears in the component
|
|
78
|
+
|
|
79
|
+
// STUB — custom hook returns static value
|
|
80
|
+
function usePermissions(): Permissions {
|
|
81
|
+
return { canEdit: true, canDelete: false };
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// REAL — custom hook with actual logic
|
|
85
|
+
function usePermissions(): Permissions {
|
|
86
|
+
const { user } = useAuth();
|
|
87
|
+
const { data } = useQuery(["permissions", user.role], fetchPermissions);
|
|
88
|
+
return data ?? DEFAULT_PERMISSIONS;
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Patterns to flag:**
|
|
93
|
+
- `useEffect(() => {}, [...])` — empty effect body
|
|
94
|
+
- `useState` where the setter is never called in the component
|
|
95
|
+
- Custom hooks returning static/hardcoded values
|
|
96
|
+
- `useMemo`/`useCallback` wrapping static values
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 4. Wiring Gaps
|
|
101
|
+
|
|
102
|
+
Individual pieces exist but aren't connected to the running application. **Highest-value detection** — these pass compilation and individual tests but the feature doesn't work end-to-end.
|
|
103
|
+
|
|
104
|
+
```typescript
|
|
105
|
+
// GAP — fetch without await (result discarded)
|
|
106
|
+
function loadDashboard() {
|
|
107
|
+
fetchMetrics(); // Promise floats, never awaited
|
|
108
|
+
return <Dashboard />;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// GAP — state declared but never rendered
|
|
112
|
+
const [error, setError] = useState<string | null>(null);
|
|
113
|
+
// ... error never appears in JSX
|
|
114
|
+
|
|
115
|
+
// GAP — handler defined but not bound
|
|
116
|
+
function handleSubmit(data: FormData) { /* real logic */ }
|
|
117
|
+
// ... <form onSubmit={handleSubmit}> never appears
|
|
118
|
+
|
|
119
|
+
// GAP — route defined with no-op handler
|
|
120
|
+
app.post("/api/orders", (_req, res) => {
|
|
121
|
+
res.status(200).json({ ok: true });
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
// GAP — env var read but unused
|
|
125
|
+
const API_KEY = process.env.STRIPE_API_KEY;
|
|
126
|
+
// ... API_KEY never passed to any client or fetch call
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Patterns to flag:**
|
|
130
|
+
- `fetch`/`axios`/API call without `await` or `.then` (result discarded)
|
|
131
|
+
- State variable (`useState`, `useRef`) never rendered or read in output
|
|
132
|
+
- Event handler defined but not bound to any element/listener
|
|
133
|
+
- Route/endpoint registered with empty or no-op handler
|
|
134
|
+
- Environment variable or config read but never used downstream
|
|
135
|
+
- Import used only in type position but imported as value (in non-type-only import)
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: react
|
|
3
|
+
description: This skill should be used when the user works with React components (.tsx/.jsx), asks about "hooks", "state management", "context providers", "memo optimization", "useEffect", or discusses component composition and rendering performance. Provides patterns for hooks, state, effects, memoization, and React-specific architecture.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
allowed-tools: Read, Grep, Glob
|
|
6
|
+
activation:
|
|
7
|
+
file-patterns:
|
|
8
|
+
- "**/*.tsx"
|
|
9
|
+
- "**/*.jsx"
|
|
10
|
+
exclude:
|
|
11
|
+
- "node_modules/**"
|
|
12
|
+
- "**/*.test.*"
|
|
13
|
+
- "**/*.spec.*"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# React Patterns
|
|
17
|
+
|
|
18
|
+
Reference for React-specific patterns with citations. Sources in `references/sources.md`.
|
|
19
|
+
|
|
20
|
+
## Iron Law
|
|
21
|
+
|
|
22
|
+
> **COMPOSITION OVER PROPS** [2][4][12]
|
|
23
|
+
>
|
|
24
|
+
> Use children and compound components, not prop drilling. If a component has >5 props,
|
|
25
|
+
> it's doing too much. Split it. If you're passing data through 3+ levels, use context
|
|
26
|
+
> or composition. Props are for configuration, not data plumbing.
|
|
27
|
+
> "Before You memo(), try solving it with composition." — Dan Abramov [4]
|
|
28
|
+
|
|
29
|
+
## When This Skill Activates
|
|
30
|
+
|
|
31
|
+
- Working with React codebases (.tsx, .jsx) — components, hooks, contexts, performance
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Component Structure [1][2]
|
|
36
|
+
|
|
37
|
+
**Functional component order**: hooks → derived state → handlers → return. [1]
|
|
38
|
+
|
|
39
|
+
**Compound components** share structure through children, not props: [2][4]
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
function Card({ children }: { children: React.ReactNode }) {
|
|
43
|
+
return <div className="card">{children}</div>;
|
|
44
|
+
}
|
|
45
|
+
Card.Header = ({ children }: { children: React.ReactNode }) =>
|
|
46
|
+
<div className="card-header">{children}</div>;
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Context** for shared state across distant components — eliminates prop drilling: [1][2]
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
const AuthContext = createContext<AuthContextValue | null>(null);
|
|
53
|
+
export function useAuth() {
|
|
54
|
+
const ctx = useContext(AuthContext);
|
|
55
|
+
if (!ctx) throw new Error('useAuth must be used within AuthProvider');
|
|
56
|
+
return ctx;
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Hooks [3][16][24]
|
|
63
|
+
|
|
64
|
+
Hooks must be called at the **top level** — never inside conditions, loops, or nested functions. [16][24]
|
|
65
|
+
Effects synchronize with external systems; they are not lifecycle methods. [3]
|
|
66
|
+
Every effect that subscribes must return a cleanup function. Deps must be complete — never omit to suppress warnings. [3]
|
|
67
|
+
|
|
68
|
+
See `references/hooks.md` for rules of hooks, custom hooks, useReducer, and effect anti-patterns.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Performance [3][4][5][17]
|
|
73
|
+
|
|
74
|
+
The React Compiler (2024) handles many memoizations automatically [17]. For manual
|
|
75
|
+
optimization, follow this priority: [4]
|
|
76
|
+
|
|
77
|
+
1. **Composition first** — "before you memo(), try passing children down" [4]
|
|
78
|
+
2. **Extract primitives** for `useEffect` deps — avoid object/array literals [3]
|
|
79
|
+
3. **`useMemo`** for expensive computations; **`useCallback`** for stable handlers [3]
|
|
80
|
+
4. **`React.memo`** only when parent has stable, memoized callbacks [4]
|
|
81
|
+
5. **Virtualize** long lists (react-window) [5]; **lazy-load** heavy components [5]
|
|
82
|
+
|
|
83
|
+
```tsx
|
|
84
|
+
const [user, orders] = await Promise.all([fetchUser(id), fetchOrders(id)]); // parallel [1]
|
|
85
|
+
const filtered = useMemo(() => users.filter(u => u.name.includes(q)), [users, q]); // derived [13]
|
|
86
|
+
const selectedSet = useMemo(() => new Set(selected), [selected]); // O(1) lookup [5]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## State Architecture [1][14]
|
|
92
|
+
|
|
93
|
+
| Pattern | When to Use | Source |
|
|
94
|
+
|---------|-------------|--------|
|
|
95
|
+
| `useState` | Simple, independent values | [1] |
|
|
96
|
+
| `useReducer` | Complex state with multiple transitions | [14] |
|
|
97
|
+
| Context | Shared state across distant components | [1][2] |
|
|
98
|
+
| Server Components | Server-only data; zero bundle impact | [6][7] |
|
|
99
|
+
|
|
100
|
+
Server Components render on the server and stream to the client — no `useEffect`
|
|
101
|
+
or API route required for data fetching. [6][7]
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Key Anti-Patterns [3][13]
|
|
106
|
+
|
|
107
|
+
| Anti-Pattern | Correct Approach | Source |
|
|
108
|
+
|-------------|-----------------|--------|
|
|
109
|
+
| Derived state in `useState` + `useEffect` | Compute with `useMemo` during render | [13] |
|
|
110
|
+
| Object/array literal in `useEffect` deps | Extract to primitives | [3] |
|
|
111
|
+
| Missing cleanup in `useEffect` | Always return cleanup function | [3] |
|
|
112
|
+
| Prop drilling (3+ levels) | Context or composition | [2][4] |
|
|
113
|
+
| Barrel imports | Direct named imports (tree-shakable) | [5] |
|
|
114
|
+
| `Array.find`/`includes` in render loops | `Map`/`Set` via `useMemo` | [5] |
|
|
115
|
+
| Index as list key | Use stable unique IDs | [1] |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Extended References
|
|
120
|
+
|
|
121
|
+
- `references/sources.md` — Full bibliography (24 sources)
|
|
122
|
+
- `references/patterns.md` — Extended correct patterns with citations
|
|
123
|
+
- `references/violations.md` — Extended violation examples with citations
|
|
124
|
+
- `references/hooks.md` — Hook rules, custom hooks, useEffect deep-dive, utilities
|
|
125
|
+
- `references/forms.md` — Controlled/uncontrolled, validation, Server Actions
|
|
126
|
+
- `references/error-handling.md` — Error boundaries, Suspense, async error states
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Checklist
|
|
131
|
+
|
|
132
|
+
- [ ] Hooks at top level — no conditions or loops [16][24]
|
|
133
|
+
- [ ] All `useEffect` deps included; cleanup returned [3]
|
|
134
|
+
- [ ] `useCallback` for handlers to memoized children; `useMemo` for expensive values [4]
|
|
135
|
+
- [ ] Context at appropriate level — no prop drilling [2]
|
|
136
|
+
- [ ] Error boundaries around risky components [1]
|
|
137
|
+
- [ ] Unique stable keys on list items — not index [1]
|
|
138
|
+
- [ ] Loading and error states handled [13]
|
|
139
|
+
- [ ] Accessibility: `aria-*`, `role`, labels on form inputs [21][22]
|
|
140
|
+
- [ ] Independent fetches parallelized with `Promise.all` [1]
|
|
141
|
+
- [ ] Direct imports — no barrel imports; lazy-load heavy components [5]
|
|
142
|
+
- [ ] `Set`/`Map` for O(1) lookups instead of `Array.includes`/`find` [5]
|
|
143
|
+
- [ ] Images have explicit dimensions, lazy loading, and aspect-ratio [23]
|