devflow-kit 1.8.3 → 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 +183 -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 +14 -4
- 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,211 @@
|
|
|
1
|
+
# Boundary Validation — Violations
|
|
2
|
+
|
|
3
|
+
Extended examples of validation violations to detect and fix, with citations.
|
|
4
|
+
|
|
5
|
+
## Manual Validation Anti-Pattern [1]
|
|
6
|
+
|
|
7
|
+
The core violation: scattering type checks instead of parsing through a schema.
|
|
8
|
+
"If you just _check_ a property and then proceed, you've gained nothing — the
|
|
9
|
+
type system doesn't know you checked." [1]
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
// VIOLATION: Manual validation — no type proof, easy to miss cases
|
|
13
|
+
function createUser(data: any): User {
|
|
14
|
+
if (!data.email || typeof data.email !== 'string') throw new Error('Invalid email');
|
|
15
|
+
if (!data.age || typeof data.age !== 'number' || data.age < 0) throw new Error('Invalid age');
|
|
16
|
+
if (!data.name || data.name.length > 100) throw new Error('Invalid name');
|
|
17
|
+
return { email: data.email, age: data.age, name: data.name };
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Why this is wrong** [1][5]:
|
|
22
|
+
- Scattered validation logic — no single source of truth
|
|
23
|
+
- No type inference — `data` is still `any` after checks
|
|
24
|
+
- Easy to miss edge cases (NaN, empty strings, overflow)
|
|
25
|
+
- Inconsistent error handling (throws vs returns)
|
|
26
|
+
- `any` propagates through the entire call chain [21]
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Missing API Boundary Validation [3][4][7]
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
// VIOLATION: No validation at API boundary — trusts external data
|
|
34
|
+
app.post('/api/users', async (req, res) => {
|
|
35
|
+
const user = await createUser(req.body); // hostile data flows in unchecked
|
|
36
|
+
res.json(user);
|
|
37
|
+
});
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Security Risk**: HIGH — injection attacks, data corruption, type confusion [4][7]
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Trusting External API Responses [2]
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
// VIOLATION: External API response consumed without parsing
|
|
48
|
+
async function fetchUserData(userId: string): Promise<UserData> {
|
|
49
|
+
const response = await fetch(`https://api.example.com/users/${userId}`);
|
|
50
|
+
const data = await response.json();
|
|
51
|
+
return data; // no schema validation — crashes if API changes
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Risk**: Runtime crash on API contract change, silent data corruption [2]
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Unvalidated Environment Variables [8]
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
// VIOLATION: Environment variables used without parsing
|
|
63
|
+
const config = {
|
|
64
|
+
port: process.env.PORT, // undefined? string? NaN?
|
|
65
|
+
dbUrl: process.env.DATABASE_URL, // could be empty or malformed
|
|
66
|
+
apiKey: process.env.API_KEY, // could be missing entirely
|
|
67
|
+
};
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Risk**: Subtle runtime failures instead of fail-fast startup crash [8]
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## SQL Injection via String Interpolation [7][15]
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
// VIOLATION: String interpolation in SQL — CRITICAL injection risk
|
|
78
|
+
async function getUserByEmail(email: string): Promise<User> {
|
|
79
|
+
const query = `SELECT * FROM users WHERE email = '${email}'`;
|
|
80
|
+
return db.query(query);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// VIOLATION: Input not parsed before parameterized query
|
|
84
|
+
async function searchUsers(searchTerm: string): Promise<User[]> {
|
|
85
|
+
return db.query('SELECT * FROM users WHERE name LIKE $1', [`%${searchTerm}%`]);
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Security Risk**: CRITICAL — SQL injection allows data theft, modification, deletion [7][15]
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## File Upload Without Validation [4]
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
// VIOLATION: No validation on file upload — trusts everything
|
|
97
|
+
app.post('/upload', async (req, res) => {
|
|
98
|
+
const file = req.files.document;
|
|
99
|
+
await file.mv(`./uploads/${file.name}`); // path traversal, arbitrary extension
|
|
100
|
+
res.send('Uploaded');
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Risks**: Arbitrary file execution, path traversal (`../../etc/passwd`), storage exhaustion, malware [4]
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Unvalidated URL/Query Parameters [3][4]
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
// VIOLATION: Path parameters used directly without parsing
|
|
112
|
+
app.get('/users/:id', async (req, res) => {
|
|
113
|
+
const user = await db.users.findById(req.params.id); // could be anything
|
|
114
|
+
res.json(user);
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
// VIOLATION: Query parameters used directly
|
|
118
|
+
app.get('/search', async (req, res) => {
|
|
119
|
+
const results = await db.search(req.query.q); // unchecked, could be array or object
|
|
120
|
+
res.json(results);
|
|
121
|
+
});
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Risks**: NoSQL injection, type coercion attacks, DoS via crafted input [3]
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Header Trust Without Verification [4]
|
|
129
|
+
|
|
130
|
+
```typescript
|
|
131
|
+
// VIOLATION: Trusting request headers for identity
|
|
132
|
+
app.use((req, res, next) => {
|
|
133
|
+
const userId = req.headers['x-user-id'];
|
|
134
|
+
req.userId = userId; // spoofable — never trust client headers for auth
|
|
135
|
+
next();
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
// VIOLATION: jwt.decode without jwt.verify
|
|
139
|
+
app.use((req, res, next) => {
|
|
140
|
+
const token = req.headers.authorization?.split(' ')[1];
|
|
141
|
+
const decoded = jwt.decode(token); // decode != verify! No signature check
|
|
142
|
+
req.user = decoded;
|
|
143
|
+
next();
|
|
144
|
+
});
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Risks**: Authentication bypass, privilege escalation [4]
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Webhook Without Signature Verification [9]
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
// VIOLATION: Webhook payload trusted without signature check
|
|
155
|
+
app.post('/webhook', async (req, res) => {
|
|
156
|
+
const event = req.body;
|
|
157
|
+
await processPaymentEvent(event); // spoofed events accepted
|
|
158
|
+
res.sendStatus(200);
|
|
159
|
+
});
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Risks**: Spoofed events, unauthorized actions, financial manipulation [9]
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## GraphQL Without Depth/Input Limits [3]
|
|
167
|
+
|
|
168
|
+
```typescript
|
|
169
|
+
// VIOLATION: No depth limits, no input validation
|
|
170
|
+
const schema = buildSchema(`type Query { users(filter: UserFilter): [User] }`);
|
|
171
|
+
|
|
172
|
+
resolvers.Query.users = (_, { filter }) => {
|
|
173
|
+
return db.users.find(filter); // filter passed directly to DB — injection risk
|
|
174
|
+
};
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Risks**: Query complexity attacks, nested injection [3]
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Stored XSS via Unsanitized Form Data [4]
|
|
182
|
+
|
|
183
|
+
```typescript
|
|
184
|
+
// VIOLATION: User input rendered and stored without sanitization
|
|
185
|
+
app.post('/profile', async (req, res) => {
|
|
186
|
+
const bio = req.body.bio;
|
|
187
|
+
await db.users.update({ bio }); // stored XSS
|
|
188
|
+
res.send(`Profile updated: ${bio}`); // reflected XSS
|
|
189
|
+
});
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Risks**: Cross-site scripting (XSS) — both stored and reflected [4]
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Detection Patterns
|
|
197
|
+
|
|
198
|
+
When reviewing code, look for these red flags:
|
|
199
|
+
|
|
200
|
+
| Pattern | Risk | Source |
|
|
201
|
+
|---------|------|--------|
|
|
202
|
+
| `req.body` without schema validation | HIGH | [3][4] |
|
|
203
|
+
| `req.params` used directly | MEDIUM | [3] |
|
|
204
|
+
| `req.query` used directly | MEDIUM | [3] |
|
|
205
|
+
| `process.env` without validation | MEDIUM | [8] |
|
|
206
|
+
| String interpolation in SQL | CRITICAL | [7][15] |
|
|
207
|
+
| `JSON.parse` without schema | HIGH | [1] |
|
|
208
|
+
| `eval()` or `Function()` with user input | CRITICAL | [7] |
|
|
209
|
+
| File operations with user-provided paths | CRITICAL | [4] |
|
|
210
|
+
| `jwt.decode` instead of `jwt.verify` | CRITICAL | [4] |
|
|
211
|
+
| Missing webhook signature verification | HIGH | [9] |
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: complexity
|
|
3
|
+
description: This skill should be used when reviewing code for high cyclomatic complexity, deep nesting, or long functions.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
allowed-tools: Read, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Complexity Patterns
|
|
9
|
+
|
|
10
|
+
Domain expertise for code complexity and maintainability analysis. Use alongside `devflow:review-methodology` for complete complexity reviews.
|
|
11
|
+
|
|
12
|
+
## Iron Law
|
|
13
|
+
|
|
14
|
+
> **IF YOU CAN'T UNDERSTAND IT IN 5 MINUTES, IT'S TOO COMPLEX**
|
|
15
|
+
>
|
|
16
|
+
> Every function should be explainable to a colleague in under 5 minutes. If you need a
|
|
17
|
+
> diagram to understand control flow, refactor. If you need comments to explain what
|
|
18
|
+
> (not why), the code is too clever. Simplicity is a feature, complexity is a bug.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Complexity Categories
|
|
23
|
+
|
|
24
|
+
### 1. Cyclomatic Complexity
|
|
25
|
+
|
|
26
|
+
High decision path count makes code hard to test and understand.
|
|
27
|
+
|
|
28
|
+
**Violation**: Deep nesting (5+ levels)
|
|
29
|
+
```typescript
|
|
30
|
+
if (order) {
|
|
31
|
+
if (order.items) {
|
|
32
|
+
for (const item of order.items) {
|
|
33
|
+
if (item.quantity > 0) {
|
|
34
|
+
if (item.product?.inStock) {
|
|
35
|
+
// Buried logic
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Solution**: Early returns and extraction
|
|
39
|
+
```typescript
|
|
40
|
+
function processOrder(order: Order) {
|
|
41
|
+
if (!order?.items) return;
|
|
42
|
+
for (const item of order.items) processItem(item);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function processItem(item: OrderItem) {
|
|
46
|
+
if (item.quantity <= 0 || !item.product?.inStock) return;
|
|
47
|
+
// Logic at top level
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. Readability Issues
|
|
52
|
+
|
|
53
|
+
Code that requires mental effort to parse.
|
|
54
|
+
|
|
55
|
+
**Violation**: Magic values
|
|
56
|
+
```typescript
|
|
57
|
+
if (status === 3) {
|
|
58
|
+
setTimeout(callback, 86400000);
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Solution**: Named constants
|
|
63
|
+
```typescript
|
|
64
|
+
const OrderStatus = { COMPLETED: 3 } as const;
|
|
65
|
+
const ONE_DAY_MS = 24 * 60 * 60 * 1000;
|
|
66
|
+
|
|
67
|
+
if (status === OrderStatus.COMPLETED) {
|
|
68
|
+
setTimeout(callback, ONE_DAY_MS);
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 3. Maintainability Issues
|
|
73
|
+
|
|
74
|
+
Code that's expensive to change.
|
|
75
|
+
|
|
76
|
+
**Violation**: Long parameter lists
|
|
77
|
+
```typescript
|
|
78
|
+
function createUser(name, email, password, role, dept, manager, startDate, salary) { }
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Solution**: Object parameter
|
|
82
|
+
```typescript
|
|
83
|
+
interface CreateUserParams {
|
|
84
|
+
name: string; email: string; password: string;
|
|
85
|
+
role: string; department: string; manager?: string;
|
|
86
|
+
startDate: Date; salary: number;
|
|
87
|
+
}
|
|
88
|
+
function createUser(params: CreateUserParams) { }
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 4. Boolean Complexity
|
|
92
|
+
|
|
93
|
+
Conditions that are hard to reason about.
|
|
94
|
+
|
|
95
|
+
**Violation**: Complex boolean expression
|
|
96
|
+
```typescript
|
|
97
|
+
if (user.active && !user.deleted && (user.role === 'admin' || user.role === 'moderator') && user.verified && (!user.suspended || user.suspendedUntil < Date.now())) { }
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Solution**: Extract to named predicate
|
|
101
|
+
```typescript
|
|
102
|
+
const canModerate = (user: User): boolean => {
|
|
103
|
+
if (!user.active || user.deleted || !user.verified) return false;
|
|
104
|
+
if (!['admin', 'moderator'].includes(user.role)) return false;
|
|
105
|
+
if (user.suspended && user.suspendedUntil >= Date.now()) return false;
|
|
106
|
+
return true;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
if (canModerate(user)) { }
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 5. Reliability Patterns
|
|
113
|
+
|
|
114
|
+
Operations that risk non-termination or resource exhaustion. See `devflow:reliability` for
|
|
115
|
+
full coverage of bounded iteration, assertion density, allocation discipline, and indirection limits.
|
|
116
|
+
Complexity-relevant: unbounded loops increase cyclomatic complexity and make termination reasoning harder.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Extended References
|
|
121
|
+
|
|
122
|
+
For extended examples and detection techniques:
|
|
123
|
+
|
|
124
|
+
| Reference | Content |
|
|
125
|
+
|-----------|---------|
|
|
126
|
+
| `references/violations.md` | Extended violation examples for all categories |
|
|
127
|
+
| `references/patterns.md` | Detailed refactoring solutions |
|
|
128
|
+
| `references/detection.md` | Bash commands and static analysis setup |
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Severity Guidelines
|
|
133
|
+
|
|
134
|
+
| Severity | Criteria |
|
|
135
|
+
|----------|----------|
|
|
136
|
+
| **CRITICAL** | Functions > 200 lines, complexity > 20, nesting > 6, duplication in 5+ places, unbounded loop on external I/O |
|
|
137
|
+
| **HIGH** | Functions 50-200 lines, complexity 10-20, nesting 4-6, 5+ boolean conditions, 5+ parameters, retry with no max |
|
|
138
|
+
| **MEDIUM** | Functions 30-50 lines, complexity 5-10, magic values, minor duplication |
|
|
139
|
+
| **LOW** | Could be more readable, naming improvements, comments would help |
|
|
140
|
+
|
|
141
|
+
## Metrics Quick Reference
|
|
142
|
+
|
|
143
|
+
| Metric | Good | Warning | Critical |
|
|
144
|
+
|--------|------|---------|----------|
|
|
145
|
+
| Function length | < 30 | 30-50 | > 50 |
|
|
146
|
+
| Cyclomatic complexity | < 5 | 5-10 | > 10 |
|
|
147
|
+
| Nesting depth | < 3 | 3-4 | > 4 |
|
|
148
|
+
| Parameters | < 3 | 3-5 | > 5 |
|
|
149
|
+
| File length | < 300 | 300-500 | > 500 |
|
|
150
|
+
| Loop bound | explicit | implicit | unbounded |
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: compliance
|
|
3
|
+
description: This skill should be used when reviewing code handling PII, payment data, health records, audit logs, data retention, or IaC under GDPR, HIPAA, PCI DSS, SOC 2, ISO 27001, or SOX.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
allowed-tools: Read, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Compliance Patterns
|
|
9
|
+
|
|
10
|
+
<!-- Composition tokens (5): DEVFLOW_COMPLIANCE_SCOPE, DEVFLOW_COMPLIANCE_ACTIVE,
|
|
11
|
+
DEVFLOW_COMPLIANCE_MAPPING, DEVFLOW_COMPLIANCE_CHECKLIST, DEVFLOW_COMPLIANCE_REFERENCES.
|
|
12
|
+
Dynamic sections compose from frameworks/{id}/fragment.md at install time (C1: token-free shadows pass through). -->
|
|
13
|
+
|
|
14
|
+
Regulatory compliance review for code that touches regulated data ${DEVFLOW_COMPLIANCE_SCOPE}. Use alongside `devflow:security` for complete coverage.
|
|
15
|
+
|
|
16
|
+
## Iron Law
|
|
17
|
+
|
|
18
|
+
> **IF IT TOUCHES REGULATED DATA: CLASSIFY IT, MINIMIZE IT, ENCRYPT IT, AUDIT IT**
|
|
19
|
+
>
|
|
20
|
+
> Regulated data crossing a code path without classification, minimization, encryption,
|
|
21
|
+
> or an audit trail is a compliance gap — regardless of framework. No exceptions.
|
|
22
|
+
|
|
23
|
+
## Active Frameworks
|
|
24
|
+
|
|
25
|
+
${DEVFLOW_COMPLIANCE_ACTIVE}
|
|
26
|
+
|
|
27
|
+
## Scope Boundary
|
|
28
|
+
|
|
29
|
+
Compliance covers regulatory-specific gaps: retention, erasure/data-subject rights, audit-trail completeness (actor/purpose fields), segregation of duties, framework mapping, IaC exposure. Do NOT re-raise security lens findings (injection, secret handling, authN/Z) — reference those via framework mapping only.
|
|
30
|
+
|
|
31
|
+
## Clean-Report Contract
|
|
32
|
+
|
|
33
|
+
If the diff/design has no regulated-data surface (no PII/PHI/payment fields, no sensitive data in logs, no IaC, no auth/audit/retention changes) → emit zero findings with a one-line "no compliance-relevant surface detected" note. Never manufacture findings.
|
|
34
|
+
|
|
35
|
+
## Control Categories
|
|
36
|
+
|
|
37
|
+
### 1. Data Classification & Minimization
|
|
38
|
+
```typescript
|
|
39
|
+
// VULNERABLE: full SSN stored when only last-4 needed
|
|
40
|
+
user.ssn = req.body.ssn;
|
|
41
|
+
// COMPLIANT: store minimum; annotate purpose + retention
|
|
42
|
+
user.ssnLast4 = req.body.ssn.slice(-4); // retention: 90d for verification
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 2. Sensitive Data in Logs & Errors
|
|
46
|
+
```typescript
|
|
47
|
+
// VULNERABLE: PII in structured log
|
|
48
|
+
logger.info('login', { email, password, creditCard });
|
|
49
|
+
// COMPLIANT: omit or mask regulated fields
|
|
50
|
+
logger.info('login', { userId, ip });
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 3. Encryption In Transit & At Rest
|
|
54
|
+
```typescript
|
|
55
|
+
// VULNERABLE: plaintext PHI written to disk
|
|
56
|
+
fs.writeFileSync('/data/patients.json', JSON.stringify(records));
|
|
57
|
+
// COMPLIANT: encrypt before write; TLS enforced at transport
|
|
58
|
+
await vault.encrypt(records, { key: 'phi-key', algo: 'AES-256-GCM' });
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 4. Audit Trails & Change Traceability
|
|
62
|
+
```typescript
|
|
63
|
+
// VULNERABLE: mutation with no audit entry; no segregation of duties
|
|
64
|
+
await db.update('orders', { status: 'refunded' }, { id });
|
|
65
|
+
// COMPLIANT: append-only audit before state change; actor ≠ approver
|
|
66
|
+
await audit.append({ actor, action: 'refund', target: id, purpose, ts: Date.now() });
|
|
67
|
+
await db.update('orders', { status: 'refunded' }, { id });
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 5. Retention & Erasure
|
|
71
|
+
```typescript
|
|
72
|
+
// VULNERABLE: PII stored with no deletion path
|
|
73
|
+
await db.insert('user_pii', { userId, ssn, email });
|
|
74
|
+
// COMPLIANT: TTL field + erasure handler registered at write time
|
|
75
|
+
await db.insert('user_pii', { userId, ssn, email, retainUntil: addDays(90) });
|
|
76
|
+
await erasure.register(userId, ['user_pii']);
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 6. Environments & IaC
|
|
80
|
+
```hcl
|
|
81
|
+
# VULNERABLE: public bucket, no encryption, no access logging
|
|
82
|
+
resource "aws_s3_bucket" "data" { acl = "public-read" }
|
|
83
|
+
# COMPLIANT: private, encrypted, logging enabled
|
|
84
|
+
resource "aws_s3_bucket_acl" "data" { acl = "private" }
|
|
85
|
+
resource "aws_s3_bucket_server_side_encryption_configuration" "data" {
|
|
86
|
+
rule { apply_server_side_encryption_by_default { sse_algorithm = "AES256" } }
|
|
87
|
+
}
|
|
88
|
+
resource "aws_s3_bucket_logging" "data" { target_bucket = var.audit_bucket_id }
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Severity
|
|
94
|
+
|
|
95
|
+
| Level | Criteria |
|
|
96
|
+
|-------|----------|
|
|
97
|
+
| **CRITICAL** | Plaintext regulated data exposed; public IaC exposure of regulated stores |
|
|
98
|
+
| **HIGH** | Missing audit trail on regulated mutations; PII in logs or errors |
|
|
99
|
+
| **MEDIUM** | Missing retention/erasure paths; weak traceability (no actor/purpose) |
|
|
100
|
+
| **LOW** | No active framework reference files installed; documentation/annotation gaps |
|
|
101
|
+
|
|
102
|
+
${DEVFLOW_COMPLIANCE_MAPPING}
|
|
103
|
+
|
|
104
|
+
## Checklist
|
|
105
|
+
|
|
106
|
+
- [ ] Active frameworks identified from installed `references/{id}.md` files; controls applied
|
|
107
|
+
- [ ] No PII/PHI/payment data in logs, errors, or analytics events
|
|
108
|
+
- [ ] Regulated data encrypted in transit (TLS 1.2+) and at rest
|
|
109
|
+
- [ ] Every regulated mutation has an append-only audit entry (actor, purpose, timestamp)
|
|
110
|
+
- [ ] All stored fields have a declared purpose, retention period, and deletion path
|
|
111
|
+
- [ ] Segregation of duties enforced — no self-approval of regulated state changes
|
|
112
|
+
- [ ] IaC scanned: no public buckets/SGs, no unencrypted volumes, no wildcard IAM
|
|
113
|
+
${DEVFLOW_COMPLIANCE_CHECKLIST}
|
|
114
|
+
|
|
115
|
+
## Extended References
|
|
116
|
+
|
|
117
|
+
| Reference | Contents |
|
|
118
|
+
|-----------|---------|
|
|
119
|
+
| `references/detection.md` | Grep patterns: PII field names, logging sinks, crypto misuse; IaC globs |
|
|
120
|
+
| `references/sources.md` | NIST SSDF SP 800-218, OWASP ASVS 5.0, GDPR, HIPAA, PCI DSS v4.0.1, AICPA TSC, ISO/IEC 27001, SOX |
|
|
121
|
+
${DEVFLOW_COMPLIANCE_REFERENCES}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## Mapping
|
|
2
|
+
| Art. 25 | Art. 32 | Art. 32 | Art. 30/32 | Art. 17 | Art. 25 |
|
|
3
|
+
|
|
4
|
+
## Reference
|
|
5
|
+
Data-subject rights endpoints, Art. 25/30/32/33 as code-level checks
|
|
6
|
+
|
|
7
|
+
## Checklist
|
|
8
|
+
- [ ] Data-subject rights handlers present (erasure, portability) when GDPR is in scope
|
|
9
|
+
|
|
10
|
+
## Rule
|
|
11
|
+
- Apply GDPR: classify all personal-data fields, implement erasure and portability endpoints, and audit every access.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# GDPR — Code-Level Checks
|
|
2
|
+
|
|
3
|
+
**Regulation**: EU General Data Protection Regulation 2016/679
|
|
4
|
+
|
|
5
|
+
## Key Articles as Code Checks
|
|
6
|
+
|
|
7
|
+
### Art. 25 — Data Protection by Design and by Default
|
|
8
|
+
- Schema design: collect only fields with a documented purpose (`purpose` column or annotation)
|
|
9
|
+
- Default values must not over-share; opt-in, not opt-out, for non-essential data processing
|
|
10
|
+
|
|
11
|
+
### Art. 30 — Records of Processing Activities
|
|
12
|
+
- Each data store must have a corresponding processing record (purpose, retention, recipients)
|
|
13
|
+
- Code owning a new regulated table should emit a warning if no processing record is referenced
|
|
14
|
+
|
|
15
|
+
### Art. 32 — Security of Processing
|
|
16
|
+
- Encrypted in transit (TLS 1.2+) and at rest (AES-256-GCM or equivalent)
|
|
17
|
+
- Access controls scoped to least privilege; no shared service accounts with write access
|
|
18
|
+
|
|
19
|
+
### Art. 33 — Notification of a Personal Data Breach
|
|
20
|
+
- Breach detection requires audit logs sufficient to determine scope and affected subjects
|
|
21
|
+
- Code review: verify logging captures which records were accessed, by whom, and when
|
|
22
|
+
|
|
23
|
+
## Data-Subject Rights Endpoints
|
|
24
|
+
|
|
25
|
+
| Right | Art. | Code obligation |
|
|
26
|
+
|-------|------|----------------|
|
|
27
|
+
| Access (SAR) | 15 | Export endpoint returning all data held for a subject |
|
|
28
|
+
| Rectification | 16 | Update path that records the correction in the audit log |
|
|
29
|
+
| Erasure ("Right to be Forgotten") | 17 | Hard-delete or anonymization; cascades to all replicas |
|
|
30
|
+
| Portability | 20 | Machine-readable export (JSON/CSV) of subject's own data |
|
|
31
|
+
| Restriction | 18 | Flag to suppress processing without deleting the record |
|
|
32
|
+
|
|
33
|
+
## Retention Pattern
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
// Each PII insert must register an erasure handler and TTL
|
|
37
|
+
await db.insert('user_profiles', {
|
|
38
|
+
userId, email, name,
|
|
39
|
+
createdAt: new Date(),
|
|
40
|
+
retainUntil: addYears(new Date(), 3), // explicit retention period
|
|
41
|
+
});
|
|
42
|
+
await erasureRegistry.register(userId, ['user_profiles', 'audit_events']);
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Common Code-Level Gaps
|
|
46
|
+
|
|
47
|
+
- Missing erasure cascade: deleting the user row but not linked tables
|
|
48
|
+
- Soft deletes that leave PII queryable post-erasure request
|
|
49
|
+
- Analytics events that include email or userId in plaintext event properties
|
|
50
|
+
- Backup/export pipelines that bypass the encryption layer
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## Mapping
|
|
2
|
+
| §164.514 | §164.312(b) | §164.312(a)(2) | §164.312(b) | §164.530(j) | §164.312(a) |
|
|
3
|
+
|
|
4
|
+
## Reference
|
|
5
|
+
PHI/18 identifiers, §164.312 safeguards, minimum-necessary, 6-year retention
|
|
6
|
+
|
|
7
|
+
## Checklist
|
|
8
|
+
- [ ] PHI access scoped to minimum necessary; 6-year retention policy documented
|
|
9
|
+
|
|
10
|
+
## Rule
|
|
11
|
+
- Apply HIPAA: scope PHI access to minimum necessary, encrypt all PHI at rest and in transit, retain records for 6 years.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# HIPAA — Code-Level Checks
|
|
2
|
+
|
|
3
|
+
**Regulation**: Health Insurance Portability and Accountability Act — 45 CFR Part 164
|
|
4
|
+
|
|
5
|
+
## The 18 PHI Identifiers
|
|
6
|
+
|
|
7
|
+
Any field containing one of these transforms ordinary data into PHI requiring full safeguards:
|
|
8
|
+
|
|
9
|
+
Names, geographic data below state level, dates (except year) for individuals, phone numbers, fax numbers, email addresses, SSNs, medical record numbers, health plan beneficiary numbers, account numbers, certificate/license numbers, vehicle identifiers, device identifiers, URLs, IPs, biometric identifiers, full-face photographs, any other unique identifying number.
|
|
10
|
+
|
|
11
|
+
**Pattern**: grep for field names matching `name|dob|birth|ssn|mrn|phone|email|address|zip|ip_addr` in models that live in health-related services.
|
|
12
|
+
|
|
13
|
+
## §164.312 — Technical Safeguards
|
|
14
|
+
|
|
15
|
+
| Safeguard | §164.312 ref | Code obligation |
|
|
16
|
+
|-----------|-------------|----------------|
|
|
17
|
+
| Access control | (a)(1) | Unique user IDs; no shared credentials; role-based access |
|
|
18
|
+
| Audit controls | (b) | Log all PHI access: user, timestamp, record touched, action |
|
|
19
|
+
| Integrity | (c)(1) | Checksums or MACs on PHI at rest; detect tampering |
|
|
20
|
+
| Transmission security | (e)(1) | TLS 1.2+ for all PHI in transit; no plaintext channels |
|
|
21
|
+
|
|
22
|
+
## Minimum Necessary Principle (§164.502(b))
|
|
23
|
+
|
|
24
|
+
Code reviews must check:
|
|
25
|
+
- API responses do not include PHI fields not needed by the caller
|
|
26
|
+
- Query projections are explicit (`SELECT mrn, dob` not `SELECT *`)
|
|
27
|
+
- Logs contain event metadata, never PHI content
|
|
28
|
+
|
|
29
|
+
## Retention
|
|
30
|
+
|
|
31
|
+
HIPAA §164.530(j) requires covered entities to retain required documentation (policies, procedures, and records mandated by the rules) for **6 years** from creation or last effective date. HIPAA sets **no federal PHI retention period** — state law governs how long medical records must be kept. Code must:
|
|
32
|
+
- Store a `retainUntil` timestamp on every PHI record (6 years is a conservative default covering required documentation; verify applicable state law for medical records)
|
|
33
|
+
- Prevent deletion before the retention period unless a HIPAA-compliant destruction process is followed
|
|
34
|
+
|
|
35
|
+
## Business Associate Agreements (BAA)
|
|
36
|
+
|
|
37
|
+
Third-party services receiving PHI must have a BAA on file. Code review flag: any external HTTP call that includes PHI fields in the request body or query string.
|
|
38
|
+
|
|
39
|
+
## Common Code-Level Gaps
|
|
40
|
+
|
|
41
|
+
- PHI included in exception messages caught by logging middleware
|
|
42
|
+
- Audit log records missing the `purpose` or `user_id` field
|
|
43
|
+
- Backup files stored in unencrypted S3 buckets or local dev volumes
|
|
44
|
+
- PHI columns returned in paginated list endpoints consumed by non-clinical roles
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
## Mapping
|
|
2
|
+
| A.5.12 | A.8.15 | A.8.24 | A.8.15 | A.8.10 | A.8.25/A.8.27 |
|
|
3
|
+
|
|
4
|
+
## Reference
|
|
5
|
+
Annex A: A.5.12 classification, A.8.15 logging, A.8.25–A.8.29 secure dev
|
|
6
|
+
|
|
7
|
+
## Checklist
|
|
8
|
+
|
|
9
|
+
## Rule
|
|
10
|
+
- Apply ISO 27001: classify data per A.5.12, log access per A.8.15, harden IaC per A.8.25–A.8.27.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# ISO/IEC 27001 — Code-Level Checks
|
|
2
|
+
|
|
3
|
+
**Standard**: ISO/IEC 27001:2022 Annex A — Information Security Controls
|
|
4
|
+
|
|
5
|
+
## Relevant Annex A Controls as Code Checks
|
|
6
|
+
|
|
7
|
+
### A.5 — Organizational Controls (Information Classification & Handling)
|
|
8
|
+
|
|
9
|
+
| Control | Code obligation |
|
|
10
|
+
|---------|----------------|
|
|
11
|
+
| A.5.12 Classification of information | Annotate data models with classification level (public / internal / confidential / restricted) |
|
|
12
|
+
| A.5.10 Acceptable use of information | Confidential/restricted data must be encrypted at rest and in transit |
|
|
13
|
+
|
|
14
|
+
### A.8 — Technological Controls (Logging, Monitoring, Cryptography, Secure Development)
|
|
15
|
+
|
|
16
|
+
| Control | Code obligation |
|
|
17
|
+
|---------|----------------|
|
|
18
|
+
| A.8.10 Information deletion | Secure deletion procedures for regulated data; overwrite or cryptographic erasure |
|
|
19
|
+
| A.8.15 Logging | Log privileged access, authentication events, and data access to regulated stores; logs must be append-only or write to a tamper-resistant sink; no log deletion by app code |
|
|
20
|
+
| A.8.16 Monitoring activities | Monitor and alert on anomalous access patterns and privilege escalation |
|
|
21
|
+
| A.8.17 Clock synchronization | All log timestamps from NTP-synchronized source; UTC ISO-8601 format |
|
|
22
|
+
| A.8.24 Use of cryptography | Approved algorithms only (AES-256-GCM, RSA-4096+, ECDSA-P256+); no MD5/SHA-1 for security |
|
|
23
|
+
| A.8.25 Secure development life cycle | Security review gates in the CI/CD pipeline |
|
|
24
|
+
| A.8.26 Application security requirements | TLS enforced; no HTTP fallback for services handling regulated data |
|
|
25
|
+
| A.8.27 Secure system architecture and engineering principles | Defense in depth; fail secure; least privilege |
|
|
26
|
+
| A.8.29 Security testing in development and acceptance | Security tests in CI; dependency scanning; SAST for confidential-data code paths |
|
|
27
|
+
|
|
28
|
+
## Classification Annotation Pattern
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
/** @classification confidential — contains employee PII */
|
|
32
|
+
interface EmployeeRecord {
|
|
33
|
+
id: string;
|
|
34
|
+
name: string; // PII
|
|
35
|
+
nationalId: string; // PII — restricted
|
|
36
|
+
department: string; // internal
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Common Code-Level Gaps
|
|
41
|
+
|
|
42
|
+
- No data classification in model definitions (A.5.12)
|
|
43
|
+
- Logs written to the same sink as application output — no tamper protection (A.8.15)
|
|
44
|
+
- Development environment using production data without de-identification (A.8.29)
|
|
45
|
+
- Deprecated cryptographic primitives (MD5, SHA-1) used for data integrity (A.8.24)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## Mapping
|
|
2
|
+
| Req 3 | Req 3.5.1 | Req 3/4 | Req 10.x | Req 3.2.1 | Req 1/6.x |
|
|
3
|
+
|
|
4
|
+
## Reference
|
|
5
|
+
Scope minimization, no CVV/track data, Req 3/6.x/10, tokenization; need-based retention (Req 3.2.1)
|
|
6
|
+
|
|
7
|
+
## Checklist
|
|
8
|
+
- [ ] No CVV, full PAN, or magnetic-stripe track data retained post-authorization
|
|
9
|
+
|
|
10
|
+
## Rule
|
|
11
|
+
- Apply PCI DSS: never retain CVV or full PAN post-auth, scope cardholder data to minimum required surfaces.
|