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
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: knowledge-persistence
|
|
3
|
-
description: >-
|
|
4
|
-
This skill should be used when recording architectural decisions or pitfalls
|
|
5
|
-
to project knowledge files, or when loading prior decisions and known pitfalls
|
|
6
|
-
for context during investigation, specification, or review.
|
|
7
|
-
user-invocable: false
|
|
8
|
-
allowed-tools: Read, Write, Bash
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Knowledge Persistence
|
|
12
|
-
|
|
13
|
-
Record architectural decisions and pitfalls to `.memory/knowledge/` files. This is the single source of truth for the extraction procedure — commands reference this skill instead of inlining the steps.
|
|
14
|
-
|
|
15
|
-
## Iron Law
|
|
16
|
-
|
|
17
|
-
> **SINGLE SOURCE OF TRUTH**
|
|
18
|
-
>
|
|
19
|
-
> All knowledge extraction follows this procedure exactly. Commands never inline
|
|
20
|
-
> their own extraction steps — they read this skill and follow it.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## File Locations
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
.memory/knowledge/
|
|
28
|
-
├── decisions.md # ADR entries (append-only)
|
|
29
|
-
└── pitfalls.md # PF entries (area-specific gotchas)
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## File Formats
|
|
33
|
-
|
|
34
|
-
### decisions.md (ADR entries)
|
|
35
|
-
|
|
36
|
-
**Template header** (create if file missing):
|
|
37
|
-
```
|
|
38
|
-
<!-- TL;DR: 0 decisions. Key: -->
|
|
39
|
-
# Architectural Decisions
|
|
40
|
-
|
|
41
|
-
Append-only. Status changes allowed; deletions prohibited.
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Entry format**:
|
|
45
|
-
```markdown
|
|
46
|
-
## ADR-{NNN}: {Title}
|
|
47
|
-
|
|
48
|
-
- **Date**: {YYYY-MM-DD}
|
|
49
|
-
- **Status**: Accepted
|
|
50
|
-
- **Context**: {Why this decision was needed}
|
|
51
|
-
- **Decision**: {What was decided}
|
|
52
|
-
- **Consequences**: {Tradeoffs and implications}
|
|
53
|
-
- **Source**: {command and identifier, e.g. `/implement TASK-123`}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### pitfalls.md (PF entries)
|
|
57
|
-
|
|
58
|
-
**Template header** (create if file missing):
|
|
59
|
-
```
|
|
60
|
-
<!-- TL;DR: 0 pitfalls. Key: -->
|
|
61
|
-
# Known Pitfalls
|
|
62
|
-
|
|
63
|
-
Area-specific gotchas, fragile areas, and past bugs.
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**Entry format**:
|
|
67
|
-
```markdown
|
|
68
|
-
## PF-{NNN}: {Short description}
|
|
69
|
-
|
|
70
|
-
- **Area**: {file paths or module names}
|
|
71
|
-
- **Issue**: {What goes wrong}
|
|
72
|
-
- **Impact**: {Consequences if hit}
|
|
73
|
-
- **Resolution**: {How to fix or avoid}
|
|
74
|
-
- **Source**: {command and identifier, e.g. `/code-review branch-name`}
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## Extraction Procedure
|
|
80
|
-
|
|
81
|
-
Follow these steps when recording decisions or pitfalls:
|
|
82
|
-
|
|
83
|
-
1. **Read** the target file (`.memory/knowledge/decisions.md` or `.memory/knowledge/pitfalls.md`). If it doesn't exist, create it with the template header above.
|
|
84
|
-
2. **Check capacity** — count `## ADR-` or `## PF-` headings. If >=50, log "Knowledge base at capacity — skipping new entry" and stop.
|
|
85
|
-
3. **Find next ID** — find highest NNN via regex (`/^## ADR-(\d+)/` or `/^## PF-(\d+)/`), default to 0. Increment by 1.
|
|
86
|
-
4. **Deduplicate** (pitfalls only) — skip if an entry with the same Area + Issue already exists.
|
|
87
|
-
5. **Append** the new entry using the format above.
|
|
88
|
-
6. **Update TL;DR** — rewrite the `<!-- TL;DR: ... -->` comment on line 1 to reflect the new count and key topics.
|
|
89
|
-
|
|
90
|
-
## Lock Protocol
|
|
91
|
-
|
|
92
|
-
When writing, use a mkdir-based lock:
|
|
93
|
-
- Lock path: `.memory/.knowledge.lock`
|
|
94
|
-
- Timeout: 30 seconds (fail if lock not acquired)
|
|
95
|
-
- Stale recovery: if lock directory is >60 seconds old, remove it and retry
|
|
96
|
-
- Release lock after write completes (remove lock directory)
|
|
97
|
-
|
|
98
|
-
## Loading Knowledge for Context
|
|
99
|
-
|
|
100
|
-
When a command needs prior knowledge as input (not recording):
|
|
101
|
-
|
|
102
|
-
1. Read `.memory/knowledge/decisions.md` if it exists
|
|
103
|
-
2. Read `.memory/knowledge/pitfalls.md` if it exists
|
|
104
|
-
3. Pass content as context to downstream agents — prior decisions constrain scope, known pitfalls inform investigation
|
|
105
|
-
|
|
106
|
-
If neither file exists, skip silently. No error, no empty-file creation.
|
|
107
|
-
|
|
108
|
-
## Operation Budget
|
|
109
|
-
|
|
110
|
-
Recording: do inline (no agent spawn), 2-3 Read/Write operations total.
|
|
111
|
-
Loading: 1-2 Read operations, pass as context string.
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## Extended References
|
|
116
|
-
|
|
117
|
-
For entry examples and status lifecycle details:
|
|
118
|
-
- `references/examples.md` - Full decision and pitfall entry examples
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
## Success Criteria
|
|
123
|
-
|
|
124
|
-
- [ ] Entry appended with correct sequential ID
|
|
125
|
-
- [ ] No duplicate pitfalls (same Area + Issue)
|
|
126
|
-
- [ ] TL;DR comment updated with current count
|
|
127
|
-
- [ ] Lock acquired before write, released after
|
|
128
|
-
- [ ] Capacity limit (50) respected
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Knowledge Persistence Examples
|
|
2
|
-
|
|
3
|
-
## Decision Entry Example
|
|
4
|
-
|
|
5
|
-
```markdown
|
|
6
|
-
## ADR-001: Use mkdir-based locks for concurrent session serialization
|
|
7
|
-
|
|
8
|
-
- **Date**: 2026-03-03
|
|
9
|
-
- **Status**: Accepted
|
|
10
|
-
- **Context**: Multiple Claude Code sessions can run on the same project simultaneously (different terminals, SSH, etc.). Memory writes must serialize to prevent corruption.
|
|
11
|
-
- **Decision**: Use `mkdir` as an atomic lock primitive. Lock directory at `.memory/.knowledge.lock`. 30-second timeout with 60-second stale recovery.
|
|
12
|
-
- **Consequences**: Simple, cross-platform, no external dependencies. Cannot detect holder PID if lock is stale — relies on age-based recovery. Sufficient for low-contention writes.
|
|
13
|
-
- **Source**: `/implement #99`
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Pitfall Entry Example
|
|
17
|
-
|
|
18
|
-
```markdown
|
|
19
|
-
## PF-001: Orphaned teams variants silently skipped
|
|
20
|
-
|
|
21
|
-
- **Area**: plugins/devflow-*/commands/*-teams.md, src/cli/installer
|
|
22
|
-
- **Issue**: The installer iterates base `.md` files and looks up matching `-teams.md` variants. A `-teams.md` file without a corresponding base `.md` is silently ignored during installation.
|
|
23
|
-
- **Impact**: Teams variant appears committed but never installs. Users on `--teams` mode silently get no command.
|
|
24
|
-
- **Resolution**: Always create the base `.md` file first. CI should validate that every `-teams.md` has a matching base file.
|
|
25
|
-
- **Source**: `/code-review feat/agent-teams`
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Status Lifecycle (Decisions Only)
|
|
29
|
-
|
|
30
|
-
Decisions support status transitions:
|
|
31
|
-
- `Accepted` — current, in effect
|
|
32
|
-
- `Superseded by ADR-NNN` — replaced by a newer decision
|
|
33
|
-
- `Deprecated` — no longer relevant, kept for history
|
|
34
|
-
|
|
35
|
-
Pitfalls have no status field — they remain until manually removed.
|
|
36
|
-
|
|
37
|
-
## Deduplication Logic (Pitfalls Only)
|
|
38
|
-
|
|
39
|
-
Before appending a new pitfall, check existing entries:
|
|
40
|
-
1. Extract `Area` and `Issue` from the new entry
|
|
41
|
-
2. Compare against all existing `PF-*` entries
|
|
42
|
-
3. If both Area AND Issue match an existing entry (case-insensitive substring), skip
|
|
43
|
-
|
|
44
|
-
This prevents recording the same gotcha from multiple review cycles.
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: performance-patterns
|
|
3
|
-
description: This skill should be used when reviewing code for N+1 queries, memory leaks, or I/O bottlenecks.
|
|
4
|
-
user-invocable: false
|
|
5
|
-
allowed-tools: Read, Grep, Glob
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Performance Patterns
|
|
9
|
-
|
|
10
|
-
Domain expertise for performance optimization and bottleneck detection. Use alongside `review-methodology` for complete performance reviews.
|
|
11
|
-
|
|
12
|
-
## Iron Law
|
|
13
|
-
|
|
14
|
-
> **MEASURE BEFORE OPTIMIZING**
|
|
15
|
-
>
|
|
16
|
-
> Premature optimization is the root of all evil. Profile first, then optimize. Every
|
|
17
|
-
> performance claim requires benchmarks. "It feels slow" is not a metric. O(n) with small n
|
|
18
|
-
> beats O(1) with huge constants. Optimize for the real bottleneck, not the imagined one.
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Performance Categories
|
|
23
|
-
|
|
24
|
-
### 1. Algorithmic Issues
|
|
25
|
-
|
|
26
|
-
**N+1 Query Problem** - Database query inside a loop.
|
|
27
|
-
|
|
28
|
-
```typescript
|
|
29
|
-
// VIOLATION: 1 + N queries
|
|
30
|
-
for (const user of users) {
|
|
31
|
-
user.orders = await db.orders.findByUserId(user.id);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// CORRECT: Batch query with Map lookup
|
|
35
|
-
const orders = await db.orders.findAll({ where: { userId: userIds } });
|
|
36
|
-
const ordersByUser = new Map(groupBy(orders, 'userId'));
|
|
37
|
-
users.forEach(u => u.orders = ordersByUser.get(u.id) || []);
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
**O(n^2) Patterns** - Nested loops or linear search in loop.
|
|
41
|
-
|
|
42
|
-
```typescript
|
|
43
|
-
// VIOLATION: includes() is O(n), called n times
|
|
44
|
-
items.filter(item => selected.includes(item.id));
|
|
45
|
-
|
|
46
|
-
// CORRECT: Use Set for O(1) lookup
|
|
47
|
-
const selectedSet = new Set(selected);
|
|
48
|
-
items.filter(item => selectedSet.has(item.id));
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### 2. Memory Issues
|
|
52
|
-
|
|
53
|
-
**Memory Leaks** - Resources not cleaned up.
|
|
54
|
-
|
|
55
|
-
```typescript
|
|
56
|
-
// VIOLATION: Listener never removed
|
|
57
|
-
window.addEventListener('resize', this.handleResize);
|
|
58
|
-
|
|
59
|
-
// CORRECT: Track and cleanup
|
|
60
|
-
this.cleanup = () => window.removeEventListener('resize', this.handleResize);
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
**Unbounded Caches** - Collections that grow forever.
|
|
64
|
-
|
|
65
|
-
```typescript
|
|
66
|
-
// VIOLATION: Cache grows indefinitely
|
|
67
|
-
const cache = new Map<string, Result>();
|
|
68
|
-
|
|
69
|
-
// CORRECT: LRU cache with limit
|
|
70
|
-
const cache = new LRU<string, Result>({ max: 1000 });
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### 3. I/O Issues
|
|
74
|
-
|
|
75
|
-
**Blocking Operations** - Synchronous I/O in request path.
|
|
76
|
-
|
|
77
|
-
```typescript
|
|
78
|
-
// VIOLATION: Blocks event loop
|
|
79
|
-
const config = fs.readFileSync('./config.json');
|
|
80
|
-
|
|
81
|
-
// CORRECT: Async I/O
|
|
82
|
-
const config = await fs.promises.readFile('./config.json');
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
**Sequential When Parallel Possible** - Independent operations run serially.
|
|
86
|
-
|
|
87
|
-
```typescript
|
|
88
|
-
// VIOLATION: Sequential execution
|
|
89
|
-
const user = await getUser(id);
|
|
90
|
-
const orders = await getOrders(id);
|
|
91
|
-
|
|
92
|
-
// CORRECT: Parallel execution
|
|
93
|
-
const [user, orders] = await Promise.all([getUser(id), getOrders(id)]);
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### 4. Database Issues
|
|
97
|
-
|
|
98
|
-
Missing indexes, SELECT *, missing pagination. See `references/violations.md`.
|
|
99
|
-
|
|
100
|
-
### 5. Frontend Issues
|
|
101
|
-
|
|
102
|
-
Unnecessary re-renders, missing virtualization, missing code splitting. See `references/violations.md`.
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Extended References
|
|
107
|
-
|
|
108
|
-
For comprehensive examples and detection techniques:
|
|
109
|
-
|
|
110
|
-
| Reference | Content |
|
|
111
|
-
|-----------|---------|
|
|
112
|
-
| `references/violations.md` | Extended violation examples by category |
|
|
113
|
-
| `references/patterns.md` | Correct implementation patterns |
|
|
114
|
-
| `references/detection.md` | Grep commands, profiling, CI integration |
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## Severity Guidelines
|
|
119
|
-
|
|
120
|
-
| Severity | Criteria | Examples |
|
|
121
|
-
|----------|----------|----------|
|
|
122
|
-
| **CRITICAL** | Severe degradation, production risk | N+1 with unbounded data, memory leaks, blocking I/O in handlers |
|
|
123
|
-
| **HIGH** | Significant impact | Sequential async, SELECT *, unbounded caches, missing pagination |
|
|
124
|
-
| **MEDIUM** | Moderate concern | Suboptimal algorithm (small data), missing memoization |
|
|
125
|
-
| **LOW** | Minor opportunity | Micro-optimizations, premature optimization candidates |
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Performance Metrics Reference
|
|
130
|
-
|
|
131
|
-
| Operation | Good | Warning | Critical |
|
|
132
|
-
|-----------|------|---------|----------|
|
|
133
|
-
| API response | < 100ms | 100-500ms | > 500ms |
|
|
134
|
-
| Database query | < 10ms | 10-100ms | > 100ms |
|
|
135
|
-
| Page load (FCP) | < 1s | 1-2.5s | > 2.5s |
|
|
136
|
-
| Memory per request | < 10MB | 10-50MB | > 50MB |
|
|
137
|
-
| Bundle size | < 200KB | 200-500KB | > 500KB |
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## Quick Detection
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
# N+1 patterns (await in loop)
|
|
145
|
-
grep -rn "for.*await\|\.forEach.*async" --include="*.ts"
|
|
146
|
-
|
|
147
|
-
# Synchronous I/O
|
|
148
|
-
grep -rn "readFileSync\|writeFileSync" --include="*.ts"
|
|
149
|
-
|
|
150
|
-
# SELECT *
|
|
151
|
-
grep -rn "SELECT \*" --include="*.ts" --include="*.sql"
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
See `references/detection.md` for comprehensive detection patterns.
|
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
# Performance Detection Patterns
|
|
2
|
-
|
|
3
|
-
Commands and techniques for detecting performance issues. Reference from main SKILL.md.
|
|
4
|
-
|
|
5
|
-
## Static Analysis Commands
|
|
6
|
-
|
|
7
|
-
### N+1 Query Detection
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
# Await in loop patterns
|
|
11
|
-
grep -rn "for.*{" -A10 --include="*.ts" | grep -E "await|\.then"
|
|
12
|
-
|
|
13
|
-
# forEach with async (fire-and-forget bug)
|
|
14
|
-
grep -rn "\.forEach\s*\(\s*async" --include="*.ts"
|
|
15
|
-
|
|
16
|
-
# Map with await (sequential, not parallel)
|
|
17
|
-
grep -rn "\.map\s*\(\s*async.*await" --include="*.ts"
|
|
18
|
-
|
|
19
|
-
# Sequelize/TypeORM lazy loading
|
|
20
|
-
grep -rn "get[A-Z].*\(\)" --include="*.ts" | grep -v "\.get("
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### Algorithmic Complexity Detection
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
# Nested loops
|
|
27
|
-
grep -rn "for.*{" -A15 --include="*.ts" | grep -c "for.*{"
|
|
28
|
-
|
|
29
|
-
# Array.includes/indexOf in loop
|
|
30
|
-
grep -rn "\.includes\|\.indexOf" --include="*.ts" | grep -E "for|while|each"
|
|
31
|
-
|
|
32
|
-
# Nested array methods
|
|
33
|
-
grep -rn "\.filter.*\.filter\|\.map.*\.map\|\.find.*\.find" --include="*.ts"
|
|
34
|
-
|
|
35
|
-
# String concatenation in loop
|
|
36
|
-
grep -rn "+=.*['\"\`]" --include="*.ts" | grep -E "for|while"
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Database Issue Detection
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
# SELECT * patterns
|
|
43
|
-
grep -rn "SELECT \*" --include="*.ts" --include="*.sql"
|
|
44
|
-
|
|
45
|
-
# Missing LIMIT on queries
|
|
46
|
-
grep -rn "findAll\|findMany" --include="*.ts" | grep -v "limit\|take"
|
|
47
|
-
|
|
48
|
-
# LIKE with leading wildcard
|
|
49
|
-
grep -rn "LIKE.*['\"]%" --include="*.ts" --include="*.sql"
|
|
50
|
-
|
|
51
|
-
# ORDER BY without limit
|
|
52
|
-
grep -rn "ORDER BY" --include="*.ts" | grep -v -i "limit"
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Memory Issue Detection
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
# Unbounded collections
|
|
59
|
-
grep -rn "new Map\|new Set\|= \[\]" --include="*.ts" | grep -v "const.*="
|
|
60
|
-
|
|
61
|
-
# Missing cleanup patterns
|
|
62
|
-
grep -rn "addEventListener" --include="*.ts" | head -20
|
|
63
|
-
grep -rn "removeEventListener" --include="*.ts" | head -20
|
|
64
|
-
# Compare counts
|
|
65
|
-
|
|
66
|
-
# setInterval without clear
|
|
67
|
-
grep -rn "setInterval" --include="*.ts"
|
|
68
|
-
grep -rn "clearInterval" --include="*.ts"
|
|
69
|
-
# Compare counts
|
|
70
|
-
|
|
71
|
-
# Spreading in reduce
|
|
72
|
-
grep -rn "\.reduce.*\.\.\.acc\|\.reduce.*\.\.\.prev" --include="*.ts"
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### I/O Issue Detection
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
# Synchronous file operations
|
|
79
|
-
grep -rn "readFileSync\|writeFileSync\|existsSync\|statSync\|readdirSync" --include="*.ts"
|
|
80
|
-
|
|
81
|
-
# Sequential awaits (could be parallel)
|
|
82
|
-
grep -rn "await.*\n.*await.*\n.*await" --include="*.ts"
|
|
83
|
-
|
|
84
|
-
# Missing error handling on fetch
|
|
85
|
-
grep -rn "await fetch" --include="*.ts" | grep -v "try\|catch\|\.catch"
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Frontend Issue Detection
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
# Inline functions in JSX
|
|
92
|
-
grep -rn "onClick={() =>\|onChange={() =>\|onSubmit={() =>" --include="*.tsx"
|
|
93
|
-
|
|
94
|
-
# Inline objects in JSX
|
|
95
|
-
grep -rn "style={{ " --include="*.tsx"
|
|
96
|
-
|
|
97
|
-
# Missing useMemo/useCallback
|
|
98
|
-
grep -rn "const.*=.*=>" --include="*.tsx" | grep -v "useMemo\|useCallback\|useState\|useEffect"
|
|
99
|
-
|
|
100
|
-
# Index as key
|
|
101
|
-
grep -rn "key={.*index\|key={\`.*index" --include="*.tsx"
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Profiling Techniques
|
|
107
|
-
|
|
108
|
-
### Node.js Profiling
|
|
109
|
-
|
|
110
|
-
**CPU Profiling**
|
|
111
|
-
```bash
|
|
112
|
-
# Start with profiler
|
|
113
|
-
node --prof app.js
|
|
114
|
-
|
|
115
|
-
# Process the log
|
|
116
|
-
node --prof-process isolate-*.log > profile.txt
|
|
117
|
-
|
|
118
|
-
# Or use clinic.js
|
|
119
|
-
npx clinic doctor -- node app.js
|
|
120
|
-
npx clinic flame -- node app.js
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
**Memory Profiling**
|
|
124
|
-
```bash
|
|
125
|
-
# Heap snapshot
|
|
126
|
-
node --inspect app.js
|
|
127
|
-
# Open chrome://inspect and take heap snapshot
|
|
128
|
-
|
|
129
|
-
# Memory usage tracking
|
|
130
|
-
node --expose-gc app.js
|
|
131
|
-
# In code: global.gc() and process.memoryUsage()
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
**Event Loop Monitoring**
|
|
135
|
-
```typescript
|
|
136
|
-
// Detect blocked event loop
|
|
137
|
-
const start = Date.now();
|
|
138
|
-
setImmediate(() => {
|
|
139
|
-
const lag = Date.now() - start;
|
|
140
|
-
if (lag > 100) {
|
|
141
|
-
console.warn(`Event loop lag: ${lag}ms`);
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Database Profiling
|
|
147
|
-
|
|
148
|
-
**Query Analysis**
|
|
149
|
-
```sql
|
|
150
|
-
-- PostgreSQL: Explain analyze
|
|
151
|
-
EXPLAIN ANALYZE SELECT * FROM orders WHERE customer_id = 123;
|
|
152
|
-
|
|
153
|
-
-- MySQL: Show query plan
|
|
154
|
-
EXPLAIN SELECT * FROM orders WHERE customer_id = 123;
|
|
155
|
-
|
|
156
|
-
-- Find slow queries (PostgreSQL)
|
|
157
|
-
SELECT query, calls, total_time, mean_time
|
|
158
|
-
FROM pg_stat_statements
|
|
159
|
-
ORDER BY total_time DESC
|
|
160
|
-
LIMIT 10;
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
**Index Analysis**
|
|
164
|
-
```sql
|
|
165
|
-
-- PostgreSQL: Missing indexes
|
|
166
|
-
SELECT schemaname, tablename, attname, null_frac, n_distinct
|
|
167
|
-
FROM pg_stats
|
|
168
|
-
WHERE schemaname = 'public'
|
|
169
|
-
AND tablename = 'orders';
|
|
170
|
-
|
|
171
|
-
-- Check index usage
|
|
172
|
-
SELECT indexrelname, idx_scan, idx_tup_read
|
|
173
|
-
FROM pg_stat_user_indexes
|
|
174
|
-
WHERE schemaname = 'public';
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### Frontend Profiling
|
|
178
|
-
|
|
179
|
-
**React DevTools Profiler**
|
|
180
|
-
```tsx
|
|
181
|
-
// Wrap component to measure
|
|
182
|
-
import { Profiler } from 'react';
|
|
183
|
-
|
|
184
|
-
function onRender(id, phase, actualDuration) {
|
|
185
|
-
console.log(`${id} ${phase}: ${actualDuration}ms`);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
<Profiler id="MyComponent" onRender={onRender}>
|
|
189
|
-
<MyComponent />
|
|
190
|
-
</Profiler>
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
**Performance API**
|
|
194
|
-
```typescript
|
|
195
|
-
// Measure specific operations
|
|
196
|
-
performance.mark('start');
|
|
197
|
-
doExpensiveOperation();
|
|
198
|
-
performance.mark('end');
|
|
199
|
-
performance.measure('operation', 'start', 'end');
|
|
200
|
-
|
|
201
|
-
const measure = performance.getEntriesByName('operation')[0];
|
|
202
|
-
console.log(`Duration: ${measure.duration}ms`);
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
**Lighthouse CLI**
|
|
206
|
-
```bash
|
|
207
|
-
# Run Lighthouse audit
|
|
208
|
-
npx lighthouse https://example.com --output=json --output-path=./report.json
|
|
209
|
-
|
|
210
|
-
# Focus on performance
|
|
211
|
-
npx lighthouse https://example.com --only-categories=performance
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
## Automated Detection
|
|
217
|
-
|
|
218
|
-
### ESLint Rules
|
|
219
|
-
|
|
220
|
-
```json
|
|
221
|
-
{
|
|
222
|
-
"rules": {
|
|
223
|
-
"no-await-in-loop": "error",
|
|
224
|
-
"no-sync": "error",
|
|
225
|
-
"react-hooks/exhaustive-deps": "warn"
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
### Custom ESLint Rule (N+1 Detection)
|
|
231
|
-
|
|
232
|
-
```javascript
|
|
233
|
-
// eslint-rules/no-await-in-foreach.js
|
|
234
|
-
module.exports = {
|
|
235
|
-
create(context) {
|
|
236
|
-
return {
|
|
237
|
-
CallExpression(node) {
|
|
238
|
-
if (
|
|
239
|
-
node.callee.property?.name === 'forEach' &&
|
|
240
|
-
node.arguments[0]?.async
|
|
241
|
-
) {
|
|
242
|
-
context.report({
|
|
243
|
-
node,
|
|
244
|
-
message: 'Avoid async forEach - use for...of or Promise.all'
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
};
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
### CI Integration
|
|
254
|
-
|
|
255
|
-
```yaml
|
|
256
|
-
# .github/workflows/performance.yml
|
|
257
|
-
name: Performance Check
|
|
258
|
-
on: [pull_request]
|
|
259
|
-
|
|
260
|
-
jobs:
|
|
261
|
-
analyze:
|
|
262
|
-
runs-on: ubuntu-latest
|
|
263
|
-
steps:
|
|
264
|
-
- uses: actions/checkout@v3
|
|
265
|
-
|
|
266
|
-
- name: Check for sync I/O
|
|
267
|
-
run: |
|
|
268
|
-
if grep -rn "Sync(" --include="*.ts" src/; then
|
|
269
|
-
echo "::error::Synchronous I/O detected"
|
|
270
|
-
exit 1
|
|
271
|
-
fi
|
|
272
|
-
|
|
273
|
-
- name: Check for N+1 patterns
|
|
274
|
-
run: |
|
|
275
|
-
if grep -rn "\.forEach.*async" --include="*.ts" src/; then
|
|
276
|
-
echo "::warning::Potential N+1 pattern detected"
|
|
277
|
-
fi
|
|
278
|
-
|
|
279
|
-
- name: Bundle size check
|
|
280
|
-
run: |
|
|
281
|
-
npm run build
|
|
282
|
-
size=$(du -sb dist/ | cut -f1)
|
|
283
|
-
if [ $size -gt 500000 ]; then
|
|
284
|
-
echo "::error::Bundle too large: $size bytes"
|
|
285
|
-
exit 1
|
|
286
|
-
fi
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
---
|
|
290
|
-
|
|
291
|
-
## Performance Monitoring
|
|
292
|
-
|
|
293
|
-
### Application Metrics
|
|
294
|
-
|
|
295
|
-
```typescript
|
|
296
|
-
// Track key metrics
|
|
297
|
-
const metrics = {
|
|
298
|
-
requestDuration: new Histogram({
|
|
299
|
-
name: 'http_request_duration_ms',
|
|
300
|
-
help: 'Request duration in milliseconds',
|
|
301
|
-
buckets: [10, 50, 100, 200, 500, 1000]
|
|
302
|
-
}),
|
|
303
|
-
|
|
304
|
-
dbQueryDuration: new Histogram({
|
|
305
|
-
name: 'db_query_duration_ms',
|
|
306
|
-
help: 'Database query duration',
|
|
307
|
-
buckets: [1, 5, 10, 50, 100, 500]
|
|
308
|
-
}),
|
|
309
|
-
|
|
310
|
-
memoryUsage: new Gauge({
|
|
311
|
-
name: 'memory_usage_bytes',
|
|
312
|
-
help: 'Memory usage in bytes'
|
|
313
|
-
})
|
|
314
|
-
};
|
|
315
|
-
|
|
316
|
-
// Collect periodically
|
|
317
|
-
setInterval(() => {
|
|
318
|
-
const usage = process.memoryUsage();
|
|
319
|
-
metrics.memoryUsage.set(usage.heapUsed);
|
|
320
|
-
}, 10000);
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
### Alerting Thresholds
|
|
324
|
-
|
|
325
|
-
| Metric | Warning | Critical |
|
|
326
|
-
|--------|---------|----------|
|
|
327
|
-
| P95 latency | > 200ms | > 500ms |
|
|
328
|
-
| P99 latency | > 500ms | > 1000ms |
|
|
329
|
-
| Error rate | > 1% | > 5% |
|
|
330
|
-
| Memory growth | > 10% / hour | > 25% / hour |
|
|
331
|
-
| CPU usage | > 70% | > 90% |
|
|
332
|
-
|
|
333
|
-
### Performance Budget
|
|
334
|
-
|
|
335
|
-
```json
|
|
336
|
-
// performance-budget.json
|
|
337
|
-
{
|
|
338
|
-
"timings": [
|
|
339
|
-
{ "metric": "first-contentful-paint", "budget": 1500 },
|
|
340
|
-
{ "metric": "time-to-interactive", "budget": 3000 },
|
|
341
|
-
{ "metric": "largest-contentful-paint", "budget": 2500 }
|
|
342
|
-
],
|
|
343
|
-
"resourceSizes": [
|
|
344
|
-
{ "resourceType": "script", "budget": 200 },
|
|
345
|
-
{ "resourceType": "total", "budget": 500 }
|
|
346
|
-
],
|
|
347
|
-
"resourceCounts": [
|
|
348
|
-
{ "resourceType": "third-party", "budget": 5 }
|
|
349
|
-
]
|
|
350
|
-
}
|
|
351
|
-
```
|