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,358 @@
|
|
|
1
|
+
# Accessibility Violations
|
|
2
|
+
|
|
3
|
+
Extended violation patterns for accessibility reviews. Reference from main SKILL.md.
|
|
4
|
+
Sources in `references/sources.md`.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Keyboard Navigation Violations [1][3]
|
|
9
|
+
|
|
10
|
+
### No Keyboard Access [1]
|
|
11
|
+
|
|
12
|
+
```tsx
|
|
13
|
+
// VIOLATION: onClick without keyboard equivalent — WCAG 2.1.1 [1]
|
|
14
|
+
<div onClick={handleClick} className="card">Click me</div>
|
|
15
|
+
|
|
16
|
+
// VIOLATION: Custom element not focusable [1]
|
|
17
|
+
<span className="link" onClick={() => navigate('/page')}>Go to page</span>
|
|
18
|
+
|
|
19
|
+
// VIOLATION: Drag-only interaction — no keyboard alternative [1] §2.1.1
|
|
20
|
+
<div draggable onDragStart={handleDrag} onDragEnd={handleDrop}>
|
|
21
|
+
Drag me
|
|
22
|
+
</div>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Missing Focus Management [3]
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
// VIOLATION: Modal doesn't trap focus — APG dialog requirement [3]
|
|
29
|
+
function Modal({ isOpen, children }) {
|
|
30
|
+
return isOpen ? (
|
|
31
|
+
<div className="modal-overlay">
|
|
32
|
+
<div className="modal-content">
|
|
33
|
+
{children}
|
|
34
|
+
<button onClick={onClose}>Close</button>
|
|
35
|
+
{/* Focus can escape to background; no return-focus on close */}
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
) : null;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// VIOLATION: Dropdown doesn't return focus on close [3]
|
|
42
|
+
function Dropdown() {
|
|
43
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
44
|
+
return (
|
|
45
|
+
<div>
|
|
46
|
+
<button onClick={() => setIsOpen(true)}>Open</button>
|
|
47
|
+
{isOpen && (
|
|
48
|
+
<ul>
|
|
49
|
+
<li onClick={() => setIsOpen(false)}>Option 1</li>
|
|
50
|
+
{/* Focus lost when dropdown closes */}
|
|
51
|
+
</ul>
|
|
52
|
+
)}
|
|
53
|
+
</div>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Poor Focus Visibility [1][16]
|
|
59
|
+
|
|
60
|
+
```css
|
|
61
|
+
/* VIOLATION: Focus removed entirely — fails WCAG 2.4.7 and 2.4.11 [1][16] */
|
|
62
|
+
*:focus { outline: none; }
|
|
63
|
+
|
|
64
|
+
/* VIOLATION: Focus invisible on dark backgrounds [16] */
|
|
65
|
+
button:focus { outline: 1px solid #333; }
|
|
66
|
+
|
|
67
|
+
/* VIOLATION: Focus style same as hover — no distinct focus indicator [1] §2.4.7 */
|
|
68
|
+
button:hover, button:focus { background: #eee; }
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Illogical Tab Order [1]
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
// VIOLATION: Positive tabIndex breaks natural DOM order — WCAG 2.4.3 [1]
|
|
75
|
+
<div>
|
|
76
|
+
<input tabIndex={3} placeholder="Third" />
|
|
77
|
+
<input tabIndex={1} placeholder="First" />
|
|
78
|
+
<input tabIndex={2} placeholder="Second" />
|
|
79
|
+
</div>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## ARIA Violations [2][15]
|
|
85
|
+
|
|
86
|
+
### Missing Labels [1][5]
|
|
87
|
+
|
|
88
|
+
```tsx
|
|
89
|
+
// VIOLATION: Icon button without accessible name — WebAIM Million #4 violation [5]
|
|
90
|
+
<button onClick={handleClose}><CloseIcon /></button>
|
|
91
|
+
|
|
92
|
+
// VIOLATION: Input without label — WebAIM Million #1 violation [5]
|
|
93
|
+
<input type="text" placeholder="Search" />
|
|
94
|
+
|
|
95
|
+
// VIOLATION: Image without alt — WebAIM Million #3 violation [5]
|
|
96
|
+
<img src="/logo.png" />
|
|
97
|
+
|
|
98
|
+
// VIOLATION: Link without text content [1] §2.4.4
|
|
99
|
+
<a href="/profile"><Avatar src={user.avatar} /></a>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Incorrect ARIA Usage [2][15]
|
|
103
|
+
|
|
104
|
+
```tsx
|
|
105
|
+
// VIOLATION: role="button" on already-button element — redundant [15]
|
|
106
|
+
<button role="button" onClick={handleClick}>Submit</button>
|
|
107
|
+
|
|
108
|
+
// VIOLATION: aria-hidden on focusable element — keyboard trap [2]
|
|
109
|
+
<button aria-hidden="true" onClick={handleClick}>Hidden but focusable</button>
|
|
110
|
+
|
|
111
|
+
// VIOLATION: Missing required ARIA attributes — incomplete widget [2]
|
|
112
|
+
<div role="slider">
|
|
113
|
+
{/* Missing aria-valuenow, aria-valuemin, aria-valuemax */}
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
// VIOLATION: aria-label duplicating visible text — redundant, no benefit [15]
|
|
117
|
+
<button aria-label="Submit form">Submit form</button>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Overuse of ARIA [15][18]
|
|
121
|
+
|
|
122
|
+
```tsx
|
|
123
|
+
// VIOLATION: ARIA where semantic HTML suffices — "no ARIA is better than bad ARIA" [15]
|
|
124
|
+
<div role="navigation" aria-label="Main navigation">
|
|
125
|
+
<div role="list">
|
|
126
|
+
<div role="listitem">
|
|
127
|
+
<div role="link" onClick={() => navigate('/')}>Home</div>
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
// CORRECT: Native HTML [18]
|
|
133
|
+
<nav aria-label="Main">
|
|
134
|
+
<ul><li><a href="/">Home</a></li></ul>
|
|
135
|
+
</nav>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Color and Contrast Violations [1][5]
|
|
141
|
+
|
|
142
|
+
### Insufficient Contrast [1]
|
|
143
|
+
|
|
144
|
+
```css
|
|
145
|
+
/* VIOLATION: Light gray on white — ~1.5:1, fails AA [1] §1.4.3 — WebAIM Million #2 [5] */
|
|
146
|
+
.muted-text { color: #aaa; background: #fff; }
|
|
147
|
+
|
|
148
|
+
/* VIOLATION: Placeholder text too light */
|
|
149
|
+
input::placeholder { color: #ccc; }
|
|
150
|
+
|
|
151
|
+
/* VIOLATION: Disabled state invisible */
|
|
152
|
+
button:disabled { color: #eee; background: #f5f5f5; }
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Color-Only Information [1]
|
|
156
|
+
|
|
157
|
+
```tsx
|
|
158
|
+
// VIOLATION: Status only indicated by color — fails WCAG 1.4.1 [1]
|
|
159
|
+
<span style={{ color: status === 'error' ? 'red' : 'green' }}>{status}</span>
|
|
160
|
+
|
|
161
|
+
// VIOLATION: Required fields only marked red [1]
|
|
162
|
+
<label style={{ color: required ? 'red' : 'inherit' }}>{label}</label>
|
|
163
|
+
|
|
164
|
+
// VIOLATION: Chart using only color to differentiate data [1]
|
|
165
|
+
<LineChart>
|
|
166
|
+
<Line stroke="red" data={series1} />
|
|
167
|
+
<Line stroke="blue" data={series2} />
|
|
168
|
+
{/* No pattern, icon, or label differentiation */}
|
|
169
|
+
</LineChart>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Form Violations [1][5]
|
|
175
|
+
|
|
176
|
+
### Missing Error Association [1]
|
|
177
|
+
|
|
178
|
+
```tsx
|
|
179
|
+
// VIOLATION: Error not associated with input — WCAG 3.3.1 [1]
|
|
180
|
+
<div>
|
|
181
|
+
<input id="email" type="email" />
|
|
182
|
+
{error && <span className="error">{error}</span>}
|
|
183
|
+
{/* No aria-describedby linking input to error */}
|
|
184
|
+
</div>
|
|
185
|
+
|
|
186
|
+
// VIOLATION: Error not announced to screen readers [1]
|
|
187
|
+
<div>
|
|
188
|
+
<input aria-invalid={!!error} />
|
|
189
|
+
{error && <div className="error-message">{error}</div>}
|
|
190
|
+
{/* No role="alert" or aria-live */}
|
|
191
|
+
</div>
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Placeholder as Label [1][5]
|
|
195
|
+
|
|
196
|
+
```tsx
|
|
197
|
+
// VIOLATION: Placeholder disappears — WebAIM Million #1 violation [5]
|
|
198
|
+
<input placeholder="Email address" />
|
|
199
|
+
|
|
200
|
+
// VIOLATION: Floating label hidden initially — no persistent label [1] §1.3.1
|
|
201
|
+
function FloatingInput({ label }) {
|
|
202
|
+
const [value, setValue] = useState('');
|
|
203
|
+
return (
|
|
204
|
+
<div>
|
|
205
|
+
<input value={value} onChange={(e) => setValue(e.target.value)} />
|
|
206
|
+
<label className={value ? 'floating' : 'hidden'}>{label}</label>
|
|
207
|
+
</div>
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Form Not Keyboard Navigable [1][3]
|
|
213
|
+
|
|
214
|
+
```tsx
|
|
215
|
+
// VIOLATION: Custom select not keyboard accessible — fails WCAG 2.1.1 [1]
|
|
216
|
+
function CustomSelect({ options, value, onChange }) {
|
|
217
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
218
|
+
return (
|
|
219
|
+
<div className="select" onClick={() => setIsOpen(!isOpen)}>
|
|
220
|
+
<span>{value}</span>
|
|
221
|
+
{isOpen && (
|
|
222
|
+
<ul className="options">
|
|
223
|
+
{options.map(opt => <li onClick={() => onChange(opt)}>{opt}</li>)}
|
|
224
|
+
</ul>
|
|
225
|
+
)}
|
|
226
|
+
</div>
|
|
227
|
+
);
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Motion and Animation Violations [1]
|
|
234
|
+
|
|
235
|
+
### No Reduced Motion Support [1]
|
|
236
|
+
|
|
237
|
+
```css
|
|
238
|
+
/* VIOLATION: Animation ignores user preference — fails WCAG 2.3.3 [1] */
|
|
239
|
+
.hero { animation: slideIn 1s ease-in-out; }
|
|
240
|
+
/* No @media (prefers-reduced-motion: reduce) counterpart */
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Autoplay Without Pause [1]
|
|
244
|
+
|
|
245
|
+
```tsx
|
|
246
|
+
// VIOLATION: Video autoplays without pause control — WCAG 2.2.2 [1]
|
|
247
|
+
<video autoPlay loop muted><source src="/background.mp4" /></video>
|
|
248
|
+
|
|
249
|
+
// VIOLATION: Carousel auto-advances without pause [1]
|
|
250
|
+
function Carousel({ slides }) {
|
|
251
|
+
useEffect(() => {
|
|
252
|
+
const interval = setInterval(nextSlide, 3000);
|
|
253
|
+
return () => clearInterval(interval);
|
|
254
|
+
}, []);
|
|
255
|
+
// No pause on hover, focus, or user control
|
|
256
|
+
}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### Flashing Content [1]
|
|
260
|
+
|
|
261
|
+
```css
|
|
262
|
+
/* VIOLATION: Flash rate > 3Hz — risks seizures, fails WCAG 2.3.1 [1] */
|
|
263
|
+
@keyframes flash { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
|
|
264
|
+
.alert { animation: flash 0.2s infinite; }
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Touch Target Violations [1][8][16]
|
|
270
|
+
|
|
271
|
+
### Small Touch Targets [1][16]
|
|
272
|
+
|
|
273
|
+
```css
|
|
274
|
+
/* VIOLATION: Below WCAG 2.5.8 minimum of 24×24px [16] */
|
|
275
|
+
.icon-btn { width: 24px; height: 24px; padding: 4px; }
|
|
276
|
+
|
|
277
|
+
/* VIOLATION: Inline links with no padding */
|
|
278
|
+
.inline-link { /* Natural text height only — no extra tap area */ }
|
|
279
|
+
|
|
280
|
+
/* VIOLATION: Close button too small and in corner */
|
|
281
|
+
.modal-close { position: absolute; top: 4px; right: 4px; width: 16px; height: 16px; }
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### Targets Too Close Together [1][8]
|
|
285
|
+
|
|
286
|
+
```tsx
|
|
287
|
+
// VIOLATION: Adjacent small targets without spacing [8]
|
|
288
|
+
<div className="button-group">
|
|
289
|
+
<button className="icon-btn">A</button>
|
|
290
|
+
<button className="icon-btn">B</button>
|
|
291
|
+
<button className="icon-btn">C</button>
|
|
292
|
+
{/* No spacing between 24px buttons — combined miss area */}
|
|
293
|
+
</div>
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Screen Reader Violations [4][6]
|
|
299
|
+
|
|
300
|
+
### Hidden Important Content [1][4]
|
|
301
|
+
|
|
302
|
+
```tsx
|
|
303
|
+
// VIOLATION: aria-hidden on important element — hides from all AT [2]
|
|
304
|
+
<main aria-hidden="true">{/* Page content invisible to screen readers */}</main>
|
|
305
|
+
|
|
306
|
+
// VIOLATION: sr-only misimplemented — content not exposed [4]
|
|
307
|
+
<span style={{ display: 'none' }}>Loading...</span> {/* display:none hides from AT */}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Meaningless Link Text [1][6]
|
|
311
|
+
|
|
312
|
+
```tsx
|
|
313
|
+
// VIOLATION: Generic link text — fails WCAG 2.4.4 [1]; users navigate by link list [6]
|
|
314
|
+
<p>To learn more, <a href="/services">click here</a>.</p>
|
|
315
|
+
|
|
316
|
+
// VIOLATION: Repeated "Read more" links — indistinguishable out of context [6]
|
|
317
|
+
{posts.map(post => (
|
|
318
|
+
<article>
|
|
319
|
+
<h2>{post.title}</h2>
|
|
320
|
+
<a href={post.url}>Read more</a>
|
|
321
|
+
</article>
|
|
322
|
+
))}
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### Missing Page Structure [1][4]
|
|
326
|
+
|
|
327
|
+
```tsx
|
|
328
|
+
// VIOLATION: No landmark regions — screen reader navigation impossible [1] §1.3.6
|
|
329
|
+
function App() {
|
|
330
|
+
return (
|
|
331
|
+
<div>
|
|
332
|
+
<div className="header">...</div>
|
|
333
|
+
<div className="sidebar">...</div>
|
|
334
|
+
<div className="content">...</div>
|
|
335
|
+
</div>
|
|
336
|
+
);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
// VIOLATION: Skipped heading levels — breaks document outline [1] §1.3.1
|
|
340
|
+
<h1>Page Title</h1>
|
|
341
|
+
<h3>Section</h3> {/* h2 skipped */}
|
|
342
|
+
<h5>Subsection</h5> {/* h4 skipped */}
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## Cognitive Accessibility Violations [17]
|
|
348
|
+
|
|
349
|
+
```tsx
|
|
350
|
+
// VIOLATION: Inaccessible authentication — WCAG 3.3.8 [16][17]
|
|
351
|
+
<input type="password" onPaste={(e) => e.preventDefault()} />
|
|
352
|
+
// Blocking paste forces users to type complex passwords,
|
|
353
|
+
// harming users with cognitive disabilities or password managers
|
|
354
|
+
|
|
355
|
+
// VIOLATION: Vague error message — no recovery path [17]
|
|
356
|
+
{error && <span role="alert">Invalid input.</span>}
|
|
357
|
+
// Should identify the field, the error, and how to fix it
|
|
358
|
+
```
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: apply-decisions
|
|
3
|
+
description: Canonical algorithm for consuming DECISIONS_CONTEXT index — scan index, identify relevant entries, Read full bodies on demand, cite verbatim IDs inline.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
allowed-tools: Read
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Apply Decisions
|
|
9
|
+
|
|
10
|
+
Canonical consumer algorithm for the `DECISIONS_CONTEXT` index passed by orchestrators. The index lists each ADR/PF entry with ID, truncated title, status, and area — not the full body. Use this skill to surface the right decisions and pitfalls for your task without loading the entire corpus.
|
|
11
|
+
|
|
12
|
+
## Iron Law
|
|
13
|
+
|
|
14
|
+
> **VERBATIM IDs ONLY — NEVER FABRICATE**
|
|
15
|
+
>
|
|
16
|
+
> Cite only IDs that appear verbatim in DECISIONS_CONTEXT. If an ADR/PF ID is not
|
|
17
|
+
> in the index, do not cite it. If an entry looks relevant but you haven't Read its
|
|
18
|
+
> full body, do not cite it. Fabricated citations are worse than no citations.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 5-Step Algorithm
|
|
23
|
+
|
|
24
|
+
### Step 1: Scan the index
|
|
25
|
+
|
|
26
|
+
Read through all entries in `DECISIONS_CONTEXT`. The index format is:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
Decisions (N):
|
|
30
|
+
ADR-001 Title truncated to 60 chars [Active]
|
|
31
|
+
ADR-002 Another decision [Active]
|
|
32
|
+
|
|
33
|
+
Pitfalls (M):
|
|
34
|
+
PF-004 Background hook god scripts [Active] — src/assets/scripts/hooks/foo.cjs
|
|
35
|
+
PF-011 DECISIONS_CONTEXT fan-out [Active] — src/assets/commands/...
|
|
36
|
+
|
|
37
|
+
ADR-NNN entries live in {worktree}/.devflow/learning/decisions.md
|
|
38
|
+
PF-NNN entries live in {worktree}/.devflow/learning/pitfalls.md
|
|
39
|
+
Read the relevant file and locate the matching `## ADR-NNN:` or `## PF-NNN:` heading for the full body.
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Step 2: Identify plausibly-relevant entries
|
|
43
|
+
|
|
44
|
+
From the index, identify entries whose title or area plausibly overlaps with:
|
|
45
|
+
- The files you are modifying or reviewing
|
|
46
|
+
- The category of issue you are addressing (e.g., error handling, hook scripts, JSON parsing)
|
|
47
|
+
- The architectural area of your change
|
|
48
|
+
|
|
49
|
+
Titles are truncated to 60 characters — if a truncated title looks relevant, proceed to Step 3.
|
|
50
|
+
|
|
51
|
+
### Step 3: Read the full body
|
|
52
|
+
|
|
53
|
+
For each plausibly-relevant entry, use the Read tool to open the decisions file listed in the `DECISIONS_CONTEXT` footer and locate the matching `## ADR-NNN:` or `## PF-NNN:` heading. Read the full section to confirm relevance and understand the decision or pitfall completely.
|
|
54
|
+
|
|
55
|
+
**The footer is the single source of truth for file paths.** Never substitute hardcoded paths — the footer resolves to the correct worktree, which may differ from your cwd in multi-worktree flows.
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
Use the exact paths from the DECISIONS_CONTEXT footer, e.g.:
|
|
59
|
+
{worktree-from-footer}/.devflow/learning/decisions.md → find ## ADR-NNN: heading
|
|
60
|
+
{worktree-from-footer}/.devflow/learning/pitfalls.md → find ## PF-NNN: heading
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Only cite an entry after you have read its full body and confirmed it applies.
|
|
64
|
+
|
|
65
|
+
### Step 4: Cite inline
|
|
66
|
+
|
|
67
|
+
When applying a prior decision, cite as `applies ADR-NNN` in your reasoning or output. When avoiding a known pitfall, cite as `avoids PF-NNN`. Place citations in the Reasoning column of decision tables, in inline comments, or in your structured output — wherever your agent's output format captures rationale.
|
|
68
|
+
|
|
69
|
+
### Step 5: Use verbatim IDs only
|
|
70
|
+
|
|
71
|
+
Cite only IDs that appear verbatim in `DECISIONS_CONTEXT`. Do not guess at IDs that might exist. Do not construct IDs from memory. If no entry is clearly relevant, skip citation entirely — silence is correct when nothing applies.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Worked Example
|
|
76
|
+
|
|
77
|
+
**Scenario**: Reviewing `src/assets/scripts/hooks/background-learning` for issues.
|
|
78
|
+
|
|
79
|
+
1. **Scan** — Index shows `PF-004 Background hook god scripts [Active] — src/assets/scripts/hooks/foo.cjs`
|
|
80
|
+
2. **Identify** — Area field includes `src/assets/scripts/hooks/` which overlaps with the file under review
|
|
81
|
+
3. **Read** — Open the pitfalls file at the path given in the DECISIONS_CONTEXT footer (e.g., `<worktree>/.devflow/learning/pitfalls.md`), find `## PF-004:` section, read full body
|
|
82
|
+
4. **Cite** — If the file shows signs of the god-script pattern, note `avoids PF-004` in reasoning
|
|
83
|
+
5. **Verbatim** — ID `PF-004` appeared in the index; citation is valid
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Skip Guard
|
|
88
|
+
|
|
89
|
+
When `DECISIONS_CONTEXT` is empty, `(none)`, or not provided: skip this skill entirely. Do not attempt to load decisions files independently. Do not speculate about what decisions or pitfalls might exist.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Citation Format Reference
|
|
94
|
+
|
|
95
|
+
| Situation | Citation |
|
|
96
|
+
|-----------|----------|
|
|
97
|
+
| Applying a prior architectural decision | `applies ADR-NNN` |
|
|
98
|
+
| Avoiding a known pitfall | `avoids PF-NNN` |
|
|
99
|
+
| Entry not in index | (no citation — silence is correct) |
|
|
100
|
+
| Entry in index but not read yet | (no citation — read first) |
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: apply-feature-knowledge
|
|
3
|
+
description: Consumption algorithm for FEATURE_KNOWLEDGE variable — pre-computed feature context
|
|
4
|
+
user-invocable: false
|
|
5
|
+
allowed-tools: Read
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Apply Feature Knowledge
|
|
9
|
+
|
|
10
|
+
## Iron Law
|
|
11
|
+
|
|
12
|
+
> **Pre-computed context, not a cage. Verify against current code — always.**
|
|
13
|
+
>
|
|
14
|
+
> A feature knowledge captures patterns AS THEY WERE when last written. Code evolves.
|
|
15
|
+
> Use the feature knowledge as a starting point, not gospel truth. When something feels
|
|
16
|
+
> off, Read the actual files. Code is authoritative; feature knowledge is supplementary.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 3-Step Algorithm
|
|
21
|
+
|
|
22
|
+
### Step 1: Read the Feature Knowledge
|
|
23
|
+
|
|
24
|
+
When `FEATURE_KNOWLEDGE` is provided and is not `(none)`:
|
|
25
|
+
|
|
26
|
+
1. Read each feature knowledge section (separated by `--- Feature knowledge: {slug} ---` headers)
|
|
27
|
+
2. Absorb: architecture, data flow, key patterns, anti-patterns, gotchas
|
|
28
|
+
3. Note integration points that relate to your current task
|
|
29
|
+
|
|
30
|
+
### Step 2: Apply to Current Task
|
|
31
|
+
|
|
32
|
+
1. **Patterns as defaults**: Follow documented patterns unless you have a specific reason not to
|
|
33
|
+
2. **Anti-patterns as warnings**: Check your work against documented anti-patterns
|
|
34
|
+
3. **Gotchas as checklists**: Verify each gotcha doesn't apply to your changes
|
|
35
|
+
4. **Integration points**: Ensure your changes respect documented boundaries
|
|
36
|
+
5. **Key files**: Use as starting points for exploration
|
|
37
|
+
|
|
38
|
+
### Step 3: Verify Against Current Code
|
|
39
|
+
|
|
40
|
+
The feature knowledge may not reflect recent changes:
|
|
41
|
+
- If the feature knowledge doesn't address your specific area, explore further
|
|
42
|
+
- **When an assertion seems outdated**: Read the relevant source files to confirm — code wins
|
|
43
|
+
- When you find a contradiction between the KB and actual code, trust the code
|
|
44
|
+
- Note discrepancies in your output when they matter for the task
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Skip Guard
|
|
49
|
+
|
|
50
|
+
When `FEATURE_KNOWLEDGE` is `(none)`, empty, or not provided — skip this skill entirely.
|
|
51
|
+
Do not mention feature knowledge or its absence in your output.
|
|
52
|
+
|
|
53
|
+
## Freshness Model
|
|
54
|
+
|
|
55
|
+
Feature knowledge uses **write-through + verify-on-read** for freshness:
|
|
56
|
+
- KBs are written at the point a documented area changes (not on a background schedule)
|
|
57
|
+
- Readers verify key assertions against current code rather than relying on staleness markers
|
|
58
|
+
- When in doubt, Read the file — that resolves any uncertainty immediately
|
|
59
|
+
|
|
60
|
+
## Concatenation Format
|
|
61
|
+
|
|
62
|
+
Multiple feature knowledge entries are concatenated with slug headers:
|
|
63
|
+
```
|
|
64
|
+
--- Feature knowledge: payments ---
|
|
65
|
+
[full KNOWLEDGE.md content]
|
|
66
|
+
|
|
67
|
+
--- Feature knowledge: auth ---
|
|
68
|
+
[full KNOWLEDGE.md content]
|
|
69
|
+
```
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architecture
|
|
3
|
+
description: This skill should be used when reviewing code for SOLID violations, tight coupling, or layering issues.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
allowed-tools: Read, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Architecture Patterns
|
|
9
|
+
|
|
10
|
+
Domain expertise for software architecture and design pattern analysis. Full bibliography: `references/sources.md`.
|
|
11
|
+
|
|
12
|
+
## Iron Law
|
|
13
|
+
|
|
14
|
+
> **SEPARATION OF CONCERNS IS NON-NEGOTIABLE** [1][2]
|
|
15
|
+
>
|
|
16
|
+
> Every module has one reason to change. Every layer has clear boundaries. Every dependency
|
|
17
|
+
> points in one direction. Parnas (1972): decompose by information hiding, not by task.
|
|
18
|
+
> Violations compound into unmaintainable systems. [1][19]
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## SOLID Violations [2]
|
|
23
|
+
|
|
24
|
+
**SRP** — One class, one reason to change. [1][2][8]
|
|
25
|
+
```
|
|
26
|
+
VIOLATION: UserController handles HTTP + validation + DB + email
|
|
27
|
+
CORRECT: Inject UserService, UserValidator — each class has one reason to change
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**OCP** — Extend without modifying. [2]
|
|
31
|
+
```
|
|
32
|
+
VIOLATION: if (type === 'credit') ... else if (type === 'paypal') ...
|
|
33
|
+
CORRECT: Strategy pattern — new payment = new class, existing code unchanged
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**LSP** — Subtypes must be substitutable. [3] Liskov & Wing (1994): subtype cannot strengthen preconditions. Throwing where parent doesn't throw is a violation.
|
|
37
|
+
```
|
|
38
|
+
VIOLATION: ReadOnlyStorage extends FileStorage { write() { throw new Error(...) } }
|
|
39
|
+
CORRECT: Segregated interfaces (Readable, Writable) — compile-time, not runtime
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**ISP** — No forced unused implementations. [2]
|
|
43
|
+
```
|
|
44
|
+
VIOLATION: interface Worker { work(); eat(); sleep(); } // Robot forced to implement eat()
|
|
45
|
+
CORRECT: interface Workable { work(): void; } — implement only what you support
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**DIP** — Depend on abstractions, not concretions. [2][18] Fowler (2004): constructor injection is the cleanest form. [18]
|
|
49
|
+
```typescript
|
|
50
|
+
// VIOLATION: class OrderService { private db = new PostgresDatabase(); }
|
|
51
|
+
// CORRECT: class OrderService { constructor(private repo: OrderRepository) {} }
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Coupling Issues [8][17]
|
|
57
|
+
|
|
58
|
+
Stevens, Myers & Constantine (1974): content coupling (direct instantiation) is the tightest and worst form. [8]
|
|
59
|
+
|
|
60
|
+
**Tight Coupling** [8][18]: Direct instantiation — can't mock, can't swap.
|
|
61
|
+
```
|
|
62
|
+
VIOLATION: class ReportGenerator { generate() { new DatabaseService().query(...) } }
|
|
63
|
+
CORRECT: Inject dependencies via constructor
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Circular Dependencies** [19]: A imports B, B imports A. Extract shared concern or use events.
|
|
67
|
+
|
|
68
|
+
**Feature Envy** [21] / **Law of Demeter** [17]: `order.customer.profile.contact.email` — knows too much.
|
|
69
|
+
```
|
|
70
|
+
VIOLATION: OrderProcessor computes order.customer.profile.total
|
|
71
|
+
CORRECT: order.getTotal() — behavior belongs to the data owner
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Layering Violations [5][7][10]
|
|
77
|
+
|
|
78
|
+
Clean Architecture (Martin, 2017) Dependency Rule: source code dependencies can only point inward. [5]
|
|
79
|
+
|
|
80
|
+
**Skipping Layers**: Controller directly accessing database. [5][7]
|
|
81
|
+
```typescript
|
|
82
|
+
// VIOLATION: Controller → DB (skips service)
|
|
83
|
+
const user = await db.query('SELECT...', [req.params.id]);
|
|
84
|
+
// CORRECT: Controller → Service → Repository [5][7]
|
|
85
|
+
const user = await this.userService.findById(req.params.id);
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Leaky Abstractions**: Infrastructure details in domain. [9]
|
|
89
|
+
```
|
|
90
|
+
VIOLATION: interface User { id: string; _mongoId: ObjectId; __v: number; }
|
|
91
|
+
CORRECT: interface User { id: string; name: string; } — map in repository [7]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Wrong Direction**: Domain must not import infrastructure. [5][10] Hexagonal Architecture (Cockburn, 2005): ports define what core needs; adapters implement them. [10]
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Modularity Issues [1][9]
|
|
99
|
+
|
|
100
|
+
**Deep vs Shallow Modules** (Ousterhout, 2018): deep module = simple interface, rich implementation. Shallow = more complexity exposed than hidden. [9]
|
|
101
|
+
|
|
102
|
+
**God Class** [1][6]: Splits into bounded contexts. Warning signs: 500+ lines, `*Manager`, `*Processor`, 7+ constructor parameters.
|
|
103
|
+
|
|
104
|
+
**Inappropriate Intimacy** [17][21]: `a.b().c()` chains — use "tell, don't ask."
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Severity Guidelines
|
|
109
|
+
|
|
110
|
+
| Severity | Examples |
|
|
111
|
+
|----------|----------|
|
|
112
|
+
| **CRITICAL** | Circular dependencies, domain depends on infrastructure, god class 1000+ lines [5][19] |
|
|
113
|
+
| **HIGH** | SOLID violations in core logic, tight coupling between services, leaky abstractions [2][8] |
|
|
114
|
+
| **MEDIUM** | Dependencies not injected, minor layering violations, missing interfaces [18] |
|
|
115
|
+
| **LOW** | Naming issues, minor organization, missing architecture docs |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Architecture Principles Reference
|
|
120
|
+
|
|
121
|
+
| Principle | Violation Sign | Source | Fix |
|
|
122
|
+
|-----------|----------------|--------|-----|
|
|
123
|
+
| SRP | Multiple reasons to change | [1][2] | Extract classes |
|
|
124
|
+
| OCP | Modifying to add features | [2] | Strategy pattern |
|
|
125
|
+
| LSP | Subclass throws "not supported" | [3] | Composition + segregated interfaces |
|
|
126
|
+
| ISP | Unused interface methods | [2] | Split interfaces |
|
|
127
|
+
| DIP | `new ConcreteClass()` in business | [2][18] | Inject via constructor |
|
|
128
|
+
| Law of Demeter | `a.b().c()` chains | [17] | Tell, don't ask |
|
|
129
|
+
| Deep Modules | Shallow abstractions | [9] | Encapsulate complexity |
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Extended References
|
|
134
|
+
|
|
135
|
+
- `references/sources.md` — Full bibliography (25 sources)
|
|
136
|
+
- `references/patterns.md` — Extended correct patterns with citations [2][3][5][7][10][18]
|
|
137
|
+
- `references/violations.md` — Extended violations with citations [1][2][3][8][17][19][21]
|
|
138
|
+
- `references/detection.md` — Grep patterns and bash commands for automated detection
|