agileflow 4.0.0-alpha.2 → 4.0.0-alpha.21
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 +51 -0
- package/content/plugins/accessibility/plugin.yaml +14 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/SKILL.md +392 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/references/aria-patterns.md +528 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/references/testing-checklist.md +457 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/references/wcag-guide.md +683 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/audit-page.md +310 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/implement-accessible-component.md +479 -0
- package/content/plugins/ads/agents/ads-audit-budget.md +185 -0
- package/content/plugins/ads/agents/ads-audit-compliance.md +171 -0
- package/content/plugins/ads/agents/ads-audit-creative.md +168 -0
- package/content/plugins/ads/agents/ads-audit-google.md +227 -0
- package/content/plugins/ads/agents/ads-audit-meta.md +184 -0
- package/content/plugins/ads/agents/ads-audit-tracking.md +205 -0
- package/content/plugins/ads/agents/ads-consensus.md +410 -0
- package/content/plugins/ads/agents/ads-generate.md +152 -0
- package/content/plugins/ads/agents/ads-performance-tracker.md +212 -0
- package/content/plugins/ads/plugin.yaml +23 -4
- package/content/plugins/ads/skills/agileflow-ads/SKILL.md +218 -0
- package/content/plugins/ads/skills/agileflow-ads/references/ad-copy-formula-guide.md +131 -0
- package/content/plugins/ads/skills/agileflow-ads/references/audience-targeting-guide.md +137 -0
- package/content/plugins/ads/skills/agileflow-ads/references/bid-strategy-guide.md +115 -0
- package/content/plugins/ads/skills/agileflow-ads/references/platform-benchmarks.md +100 -0
- package/content/plugins/ads/skills/agileflow-ads/workflows/audit.md +118 -0
- package/content/plugins/ads/skills/agileflow-ads/workflows/generate.md +84 -0
- package/content/plugins/audit/agents/a11y-analyzer-aria.md +173 -0
- package/content/plugins/audit/agents/a11y-analyzer-forms.md +173 -0
- package/content/plugins/audit/agents/a11y-analyzer-keyboard.md +183 -0
- package/content/plugins/audit/agents/a11y-analyzer-semantic.md +169 -0
- package/content/plugins/audit/agents/a11y-analyzer-visual.md +172 -0
- package/content/plugins/audit/agents/a11y-consensus.md +249 -0
- package/content/plugins/audit/agents/accessibility.md +558 -0
- package/content/plugins/audit/agents/api-quality-analyzer-conventions.md +156 -0
- package/content/plugins/audit/agents/api-quality-analyzer-docs.md +184 -0
- package/content/plugins/audit/agents/api-quality-analyzer-errors.md +191 -0
- package/content/plugins/audit/agents/api-quality-analyzer-pagination.md +179 -0
- package/content/plugins/audit/agents/api-quality-analyzer-versioning.md +150 -0
- package/content/plugins/audit/agents/api-quality-consensus.md +217 -0
- package/content/plugins/audit/agents/api-validator.md +191 -0
- package/content/plugins/audit/agents/arch-analyzer-circular.md +156 -0
- package/content/plugins/audit/agents/arch-analyzer-complexity.md +193 -0
- package/content/plugins/audit/agents/arch-analyzer-coupling.md +152 -0
- package/content/plugins/audit/agents/arch-analyzer-layering.md +160 -0
- package/content/plugins/audit/agents/arch-analyzer-patterns.md +210 -0
- package/content/plugins/audit/agents/arch-consensus.md +228 -0
- package/content/plugins/audit/agents/browser-qa.md +342 -0
- package/content/plugins/audit/agents/code-reviewer.md +298 -0
- package/content/plugins/audit/agents/completeness-analyzer-api.md +199 -0
- package/content/plugins/audit/agents/completeness-analyzer-conditional.md +211 -0
- package/content/plugins/audit/agents/completeness-analyzer-handlers.md +166 -0
- package/content/plugins/audit/agents/completeness-analyzer-imports.md +165 -0
- package/content/plugins/audit/agents/completeness-analyzer-routes.md +190 -0
- package/content/plugins/audit/agents/completeness-analyzer-state.md +196 -0
- package/content/plugins/audit/agents/completeness-analyzer-stubs.md +206 -0
- package/content/plugins/audit/agents/completeness-consensus.md +295 -0
- package/content/plugins/audit/agents/error-analyzer.md +213 -0
- package/content/plugins/audit/agents/flow-analyzer-authorization.md +182 -0
- package/content/plugins/audit/agents/flow-analyzer-discovery.md +174 -0
- package/content/plugins/audit/agents/flow-analyzer-errors.md +186 -0
- package/content/plugins/audit/agents/flow-analyzer-feedback.md +185 -0
- package/content/plugins/audit/agents/flow-analyzer-navigation.md +177 -0
- package/content/plugins/audit/agents/flow-analyzer-persistence.md +193 -0
- package/content/plugins/audit/agents/flow-analyzer-wiring.md +169 -0
- package/content/plugins/audit/agents/flow-consensus.md +237 -0
- package/content/plugins/audit/agents/legal-analyzer-a11y.md +114 -0
- package/content/plugins/audit/agents/legal-analyzer-ai.md +121 -0
- package/content/plugins/audit/agents/legal-analyzer-consumer.md +114 -0
- package/content/plugins/audit/agents/legal-analyzer-content.md +117 -0
- package/content/plugins/audit/agents/legal-analyzer-international.md +119 -0
- package/content/plugins/audit/agents/legal-analyzer-licensing.md +119 -0
- package/content/plugins/audit/agents/legal-analyzer-privacy.md +112 -0
- package/content/plugins/audit/agents/legal-analyzer-security.md +116 -0
- package/content/plugins/audit/agents/legal-analyzer-terms.md +115 -0
- package/content/plugins/audit/agents/legal-consensus.md +250 -0
- package/content/plugins/audit/agents/logic-analyzer-edge.md +179 -0
- package/content/plugins/audit/agents/logic-analyzer-flow.md +264 -0
- package/content/plugins/audit/agents/logic-analyzer-invariant.md +215 -0
- package/content/plugins/audit/agents/logic-analyzer-race.md +280 -0
- package/content/plugins/audit/agents/logic-analyzer-type.md +227 -0
- package/content/plugins/audit/agents/logic-consensus.md +259 -0
- package/content/plugins/audit/agents/perf-analyzer-assets.md +182 -0
- package/content/plugins/audit/agents/perf-analyzer-bundle.md +173 -0
- package/content/plugins/audit/agents/perf-analyzer-caching.md +170 -0
- package/content/plugins/audit/agents/perf-analyzer-compute.md +173 -0
- package/content/plugins/audit/agents/perf-analyzer-memory.md +193 -0
- package/content/plugins/audit/agents/perf-analyzer-network.md +165 -0
- package/content/plugins/audit/agents/perf-analyzer-queries.md +162 -0
- package/content/plugins/audit/agents/perf-analyzer-rendering.md +168 -0
- package/content/plugins/audit/agents/perf-consensus.md +287 -0
- package/content/plugins/audit/agents/qa.md +820 -0
- package/content/plugins/audit/agents/quality-analyzer-comments.md +159 -0
- package/content/plugins/audit/agents/quality-analyzer-duplication.md +184 -0
- package/content/plugins/audit/agents/quality-analyzer-naming.md +160 -0
- package/content/plugins/audit/agents/quality-consensus.md +241 -0
- package/content/plugins/audit/agents/schema-validator.md +473 -0
- package/content/plugins/audit/agents/security-analyzer-api.md +210 -0
- package/content/plugins/audit/agents/security-analyzer-auth.md +169 -0
- package/content/plugins/audit/agents/security-analyzer-authz.md +180 -0
- package/content/plugins/audit/agents/security-analyzer-deps.md +153 -0
- package/content/plugins/audit/agents/security-analyzer-infra.md +184 -0
- package/content/plugins/audit/agents/security-analyzer-injection.md +155 -0
- package/content/plugins/audit/agents/security-analyzer-input.md +201 -0
- package/content/plugins/audit/agents/security-analyzer-secrets.md +183 -0
- package/content/plugins/audit/agents/security-consensus.md +283 -0
- package/content/plugins/audit/agents/test-analyzer-assertions.md +188 -0
- package/content/plugins/audit/agents/test-analyzer-coverage.md +189 -0
- package/content/plugins/audit/agents/test-analyzer-fragility.md +193 -0
- package/content/plugins/audit/agents/test-analyzer-integration.md +161 -0
- package/content/plugins/audit/agents/test-analyzer-maintenance.md +180 -0
- package/content/plugins/audit/agents/test-analyzer-mocking.md +188 -0
- package/content/plugins/audit/agents/test-analyzer-patterns.md +196 -0
- package/content/plugins/audit/agents/test-analyzer-structure.md +184 -0
- package/content/plugins/audit/agents/test-consensus.md +301 -0
- package/content/plugins/audit/agents/testing.md +561 -0
- package/content/plugins/audit/agents/ui-validator.md +344 -0
- package/content/plugins/audit/plugin.yaml +186 -5
- package/content/plugins/audit/skills/agileflow-audit/SKILL.md +113 -0
- package/content/plugins/audit/skills/agileflow-audit/references/audit-depth-guide.md +151 -0
- package/content/plugins/audit/skills/agileflow-audit/references/dependency-risk-guide.md +139 -0
- package/content/plugins/audit/skills/agileflow-audit/references/owasp-top10.md +120 -0
- package/content/plugins/audit/skills/agileflow-audit/references/performance-budget-guide.md +143 -0
- package/content/plugins/audit/skills/agileflow-audit/references/wcag-criteria.md +117 -0
- package/content/plugins/audit/skills/agileflow-audit/workflows/run-audit.md +52 -0
- package/content/plugins/audit/skills/agileflow-audit/workflows/tdd.md +66 -0
- package/content/plugins/core/agents/adr-writer.md +521 -0
- package/content/plugins/core/agents/epic-planner.md +520 -0
- package/content/plugins/core/agents/mentor.md +709 -0
- package/content/plugins/core/agents/orchestrator.md +776 -0
- package/content/plugins/core/agents/team-coordinator.md +334 -0
- package/content/plugins/core/agents/team-lead.md +181 -0
- package/content/plugins/core/agents/workspace-orchestrator.md +146 -0
- package/content/plugins/core/hooks/context-loader.js +31 -4
- package/content/plugins/core/hooks/damage-control-bash.js +10 -2
- package/content/plugins/core/hooks/damage-control-edit.js +4 -1
- package/content/plugins/core/hooks/damage-control-patterns.yaml +1 -1
- package/content/plugins/core/hooks/damage-control-write.js +4 -1
- package/content/plugins/core/hooks/{pre-compact-state.js → post-compact-state.js} +25 -8
- package/content/plugins/core/hooks/preferences-injector.js +352 -0
- package/content/plugins/core/plugin.yaml +24 -28
- package/content/plugins/core/skills/agileflow-adr/SKILL.md +34 -8
- package/content/plugins/core/skills/agileflow-adr/references/madr-format-guide.md +86 -0
- package/content/plugins/core/skills/agileflow-adr/workflows/write-adr.md +57 -0
- package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +94 -27
- package/content/plugins/core/skills/agileflow-babysit-mentor/references/mentor-decision-guide.md +81 -0
- package/content/plugins/core/skills/agileflow-babysit-mentor/workflows/mentor-session.md +79 -0
- package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +37 -7
- package/content/plugins/core/skills/agileflow-epic-planner/references/epic-sizing-guide.md +81 -0
- package/content/plugins/core/skills/agileflow-epic-planner/workflows/plan-epic.md +55 -0
- package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +36 -20
- package/content/plugins/core/skills/agileflow-status-updater/references/status-transitions.md +89 -0
- package/content/plugins/core/skills/agileflow-status-updater/workflows/update-status.md +56 -0
- package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +39 -114
- package/content/plugins/core/skills/agileflow-story-writer/references/estimation-reference.md +36 -0
- package/content/plugins/core/skills/agileflow-story-writer/references/story-template.md +92 -0
- package/content/plugins/core/skills/agileflow-story-writer/workflows/write-story.md +138 -0
- package/content/plugins/council/agents/council-advocate.md +223 -0
- package/content/plugins/council/agents/council-analyst.md +278 -0
- package/content/plugins/council/agents/council-compounder.md +204 -0
- package/content/plugins/council/agents/council-contrarian.md +217 -0
- package/content/plugins/council/agents/council-moonshot.md +217 -0
- package/content/plugins/council/agents/council-optimist.md +185 -0
- package/content/plugins/council/agents/council-revenue.md +200 -0
- package/content/plugins/council/agents/council-technical.md +218 -0
- package/content/plugins/council/agents/multi-expert.md +334 -0
- package/content/plugins/council/plugin.yaml +23 -4
- package/content/plugins/council/skills/agileflow-council/SKILL.md +102 -0
- package/content/plugins/council/skills/agileflow-council/references/decision-log-template.md +109 -0
- package/content/plugins/council/skills/agileflow-council/references/perspective-guide.md +104 -0
- package/content/plugins/council/skills/agileflow-council/references/when-to-convene-guide.md +112 -0
- package/content/plugins/council/skills/agileflow-council/workflows/convene.md +73 -0
- package/content/plugins/council/skills/agileflow-council/workflows/multi-expert.md +75 -0
- package/content/plugins/database/plugin.yaml +14 -0
- package/content/plugins/database/skills/agileflow-database/SKILL.md +284 -0
- package/content/plugins/database/skills/agileflow-database/references/indexing-guide.md +313 -0
- package/content/plugins/database/skills/agileflow-database/references/migration-guide.md +328 -0
- package/content/plugins/database/skills/agileflow-database/references/schema-design-guide.md +467 -0
- package/content/plugins/database/skills/agileflow-database/workflows/design-schema.md +213 -0
- package/content/plugins/database/skills/agileflow-database/workflows/optimize-query.md +253 -0
- package/content/plugins/debugging/plugin.yaml +14 -0
- package/content/plugins/debugging/skills/agileflow-debug/SKILL.md +236 -0
- package/content/plugins/debugging/skills/agileflow-debug/references/common-patterns.md +350 -0
- package/content/plugins/debugging/skills/agileflow-debug/references/debugging-strategies.md +328 -0
- package/content/plugins/debugging/skills/agileflow-debug/workflows/debug-issue.md +187 -0
- package/content/plugins/debugging/skills/agileflow-debug/workflows/reproduce-bug.md +194 -0
- package/content/plugins/delivery/agents/ci.md +547 -0
- package/content/plugins/delivery/agents/devops.md +789 -0
- package/content/plugins/delivery/plugin.yaml +19 -0
- package/content/plugins/delivery/skills/agileflow-delivery/SKILL.md +111 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/changelog-format-guide.md +133 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/ci-pipeline-guide.md +158 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/pr-checklist-guide.md +133 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/release-checklist.md +142 -0
- package/content/plugins/delivery/skills/agileflow-delivery/workflows/changelog.md +72 -0
- package/content/plugins/delivery/skills/agileflow-delivery/workflows/deploy.md +74 -0
- package/content/plugins/delivery/skills/agileflow-delivery/workflows/pr.md +75 -0
- package/content/plugins/docs/agents/documentation.md +544 -0
- package/content/plugins/docs/agents/readme-updater.md +640 -0
- package/content/plugins/docs/plugin.yaml +19 -0
- package/content/plugins/docs/skills/agileflow-docs/SKILL.md +106 -0
- package/content/plugins/docs/skills/agileflow-docs/references/api-doc-template.md +167 -0
- package/content/plugins/docs/skills/agileflow-docs/references/doc-types-guide.md +141 -0
- package/content/plugins/docs/skills/agileflow-docs/references/readme-template.md +156 -0
- package/content/plugins/docs/skills/agileflow-docs/workflows/readme-sync.md +57 -0
- package/content/plugins/docs/skills/agileflow-docs/workflows/sync.md +64 -0
- package/content/plugins/engineering/agents/api.md +718 -0
- package/content/plugins/engineering/agents/codebase-query.md +285 -0
- package/content/plugins/engineering/agents/compliance.md +559 -0
- package/content/plugins/engineering/agents/database.md +644 -0
- package/content/plugins/engineering/agents/integrations.md +644 -0
- package/content/plugins/engineering/agents/mobile.md +552 -0
- package/content/plugins/engineering/agents/monitoring.md +585 -0
- package/content/plugins/engineering/agents/performance.md +529 -0
- package/content/plugins/engineering/agents/refactor.md +592 -0
- package/content/plugins/engineering/agents/security.md +524 -0
- package/content/plugins/engineering/agents/ui.md +1336 -0
- package/content/plugins/engineering/plugin.yaml +37 -0
- package/content/plugins/engineering/skills/agileflow-engineering/SKILL.md +127 -0
- package/content/plugins/engineering/skills/agileflow-engineering/references/code-review-guide.md +126 -0
- package/content/plugins/engineering/skills/agileflow-engineering/references/domain-routing-guide.md +89 -0
- package/content/plugins/engineering/skills/agileflow-engineering/references/refactoring-guide.md +136 -0
- package/content/plugins/engineering/skills/agileflow-engineering/workflows/diagnose.md +63 -0
- package/content/plugins/engineering/skills/agileflow-engineering/workflows/impact.md +60 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-features.md +179 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-growth.md +169 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-integration.md +181 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-market.md +150 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-ux.md +180 -0
- package/content/plugins/ideation/agents/brainstorm-consensus.md +245 -0
- package/content/plugins/ideation/agents/design.md +568 -0
- package/content/plugins/ideation/agents/product.md +582 -0
- package/content/plugins/ideation/plugin.yaml +31 -0
- package/content/plugins/ideation/skills/agileflow-ideation/SKILL.md +109 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/brainstorm-techniques.md +138 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/competitive-analysis-template.md +148 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/feature-prioritization-guide.md +147 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/user-story-patterns.md +152 -0
- package/content/plugins/ideation/skills/agileflow-ideation/workflows/features.md +65 -0
- package/content/plugins/ideation/skills/agileflow-ideation/workflows/ideate.md +54 -0
- package/content/plugins/migration/agents/datamigration.md +757 -0
- package/content/plugins/migration/plugin.yaml +17 -0
- package/content/plugins/migration/skills/agileflow-migration/SKILL.md +106 -0
- package/content/plugins/migration/skills/agileflow-migration/references/data-validation-checklist.md +154 -0
- package/content/plugins/migration/skills/agileflow-migration/references/migration-patterns.md +209 -0
- package/content/plugins/migration/skills/agileflow-migration/references/rollback-playbook.md +171 -0
- package/content/plugins/migration/skills/agileflow-migration/references/version-compatibility-matrix.md +155 -0
- package/content/plugins/migration/skills/agileflow-migration/workflows/plan.md +73 -0
- package/content/plugins/migration/skills/agileflow-migration/workflows/validate.md +71 -0
- package/content/plugins/performance/plugin.yaml +14 -0
- package/content/plugins/performance/skills/agileflow-performance/SKILL.md +224 -0
- package/content/plugins/performance/skills/agileflow-performance/references/optimization-patterns.md +554 -0
- package/content/plugins/performance/skills/agileflow-performance/references/profiling-guide.md +383 -0
- package/content/plugins/performance/skills/agileflow-performance/references/web-vitals-guide.md +360 -0
- package/content/plugins/performance/skills/agileflow-performance/workflows/improve-web-vitals.md +344 -0
- package/content/plugins/performance/skills/agileflow-performance/workflows/profile-and-fix.md +254 -0
- package/content/plugins/planning/agents/analytics.md +670 -0
- package/content/plugins/planning/agents/rlm-subcore.md +215 -0
- package/content/plugins/planning/plugin.yaml +19 -0
- package/content/plugins/planning/skills/agileflow-planning/SKILL.md +111 -0
- package/content/plugins/planning/skills/agileflow-planning/references/estimation-guide.md +114 -0
- package/content/plugins/planning/skills/agileflow-planning/references/rpi-workflow.md +119 -0
- package/content/plugins/planning/skills/agileflow-planning/references/sprint-planning-guide.md +145 -0
- package/content/plugins/planning/skills/agileflow-planning/workflows/impact.md +63 -0
- package/content/plugins/planning/skills/agileflow-planning/workflows/rpi.md +104 -0
- package/content/plugins/psychology/plugin.yaml +14 -0
- package/content/plugins/psychology/skills/agileflow-retention/SKILL.md +252 -0
- package/content/plugins/psychology/skills/agileflow-retention/references/competitor-analysis.md +240 -0
- package/content/plugins/psychology/skills/agileflow-retention/references/psychology-models.md +349 -0
- package/content/plugins/psychology/skills/agileflow-retention/references/retention-patterns.md +279 -0
- package/content/plugins/psychology/skills/agileflow-retention/workflows/design-retention-feature.md +287 -0
- package/content/plugins/psychology/skills/agileflow-retention/workflows/retention-audit.md +259 -0
- package/content/plugins/refactoring/plugin.yaml +14 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/SKILL.md +235 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/references/refactoring-patterns.md +405 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/references/safety-checks.md +177 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/workflows/extract-module.md +226 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/workflows/safe-refactor.md +169 -0
- package/content/plugins/research/agents/research.md +503 -0
- package/content/plugins/research/plugin.yaml +17 -0
- package/content/plugins/research/skills/agileflow-research/SKILL.md +110 -0
- package/content/plugins/research/skills/agileflow-research/references/knowledge-decay-guide.md +121 -0
- package/content/plugins/research/skills/agileflow-research/references/research-prompt-guide.md +141 -0
- package/content/plugins/research/skills/agileflow-research/references/synthesis-template.md +154 -0
- package/content/plugins/research/skills/agileflow-research/workflows/analyze.md +60 -0
- package/content/plugins/research/skills/agileflow-research/workflows/ask.md +64 -0
- package/content/plugins/research/skills/agileflow-research/workflows/import.md +66 -0
- package/content/plugins/research/skills/agileflow-research/workflows/synthesize.md +66 -0
- package/content/plugins/reviews/plugin.yaml +14 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/SKILL.md +241 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/review-checklist.md +200 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/security-patterns.md +328 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/review-pr.md +153 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/security-review.md +177 -0
- package/content/plugins/seo/agents/seo-analyzer-content.md +169 -0
- package/content/plugins/seo/agents/seo-analyzer-images.md +198 -0
- package/content/plugins/seo/agents/seo-analyzer-performance.md +217 -0
- package/content/plugins/seo/agents/seo-analyzer-schema.md +184 -0
- package/content/plugins/seo/agents/seo-analyzer-sitemap.md +177 -0
- package/content/plugins/seo/agents/seo-analyzer-technical.md +151 -0
- package/content/plugins/seo/agents/seo-consensus.md +304 -0
- package/content/plugins/seo/plugin.yaml +19 -4
- package/content/plugins/seo/skills/agileflow-seo/SKILL.md +188 -0
- package/content/plugins/seo/skills/agileflow-seo/references/cwv-thresholds.md +110 -0
- package/content/plugins/seo/skills/agileflow-seo/references/eeat-framework.md +144 -0
- package/content/plugins/seo/skills/agileflow-seo/references/keyword-research-guide.md +125 -0
- package/content/plugins/seo/skills/agileflow-seo/references/schema-types.md +139 -0
- package/content/plugins/seo/skills/agileflow-seo/references/technical-seo-checklist.md +139 -0
- package/content/plugins/seo/skills/agileflow-seo/workflows/audit.md +98 -0
- package/content/plugins/seo/skills/agileflow-seo/workflows/page.md +118 -0
- package/content/plugins/testing/plugin.yaml +16 -0
- package/content/plugins/testing/skills/agileflow-test-writer/SKILL.md +260 -0
- package/content/plugins/testing/skills/agileflow-test-writer/references/coverage-targets.md +239 -0
- package/content/plugins/testing/skills/agileflow-test-writer/references/test-patterns.md +420 -0
- package/content/plugins/testing/skills/agileflow-test-writer/workflows/add-coverage.md +154 -0
- package/content/plugins/testing/skills/agileflow-test-writer/workflows/write-tests-from-ac.md +225 -0
- package/package.json +2 -2
- package/src/cli/commands/doctor.js +818 -30
- package/src/cli/commands/hook.js +17 -14
- package/src/cli/commands/launch.js +1454 -0
- package/src/cli/commands/learn.js +149 -0
- package/src/cli/commands/plugins.js +113 -0
- package/src/cli/commands/setup.js +455 -110
- package/src/cli/commands/skills.js +324 -0
- package/src/cli/commands/status.js +8 -10
- package/src/cli/commands/update.js +76 -15
- package/src/cli/index.js +90 -26
- package/src/cli/wizard/babysit-mode-picker.js +192 -0
- package/src/cli/wizard/behaviors-picker.js +208 -54
- package/src/cli/wizard/ide-picker.js +40 -28
- package/src/cli/wizard/install-scope-picker.js +57 -0
- package/src/cli/wizard/launch-alias-picker.js +50 -0
- package/src/cli/wizard/launch-cli-picker.js +129 -0
- package/src/cli/wizard/launch-tmux-picker.js +133 -0
- package/src/cli/wizard/learnings-picker.js +40 -0
- package/src/cli/wizard/plugin-picker.js +47 -16
- package/src/lib/brand.js +116 -0
- package/src/lib/errors.js +120 -0
- package/src/lib/path-check.js +39 -0
- package/src/runtime/config/defaults.js +22 -17
- package/src/runtime/config/loader.js +77 -8
- package/src/runtime/config/schema.json +43 -16
- package/src/runtime/config/writer.js +3 -1
- package/src/runtime/ide/babysit-skill.js +202 -0
- package/src/runtime/ide/capabilities.js +84 -29
- package/src/runtime/ide/claude-code-content.js +177 -0
- package/src/runtime/ide/claude-code-settings.js +67 -29
- package/src/runtime/ide/claude-code-skills.js +47 -32
- package/src/runtime/ide/codex-config.js +295 -0
- package/src/runtime/installer/install.js +252 -24
- package/src/runtime/launch/alias-installer.js +191 -0
- package/src/runtime/launch/cli-resume.js +244 -0
- package/src/runtime/launch/closed-windows.js +338 -0
- package/src/runtime/launch/defaults.js +66 -0
- package/src/runtime/launch/detect-clis.js +69 -0
- package/src/runtime/launch/doctor.js +464 -0
- package/src/runtime/launch/exec-wrapper.js +114 -0
- package/src/runtime/launch/parallel-session.js +247 -0
- package/src/runtime/launch/prefs.js +211 -0
- package/src/runtime/launch/project-prefs.js +234 -0
- package/src/runtime/launch/resolve-cli.js +56 -0
- package/src/runtime/launch/restore.js +152 -0
- package/src/runtime/launch/schema.json +75 -0
- package/src/runtime/launch/session-lifecycle.js +313 -0
- package/src/runtime/launch/session-registry.js +401 -0
- package/src/runtime/launch/spawn.js +103 -0
- package/src/runtime/launch/tabs.js +350 -0
- package/src/runtime/launch/tmux.js +764 -0
- package/src/runtime/launch/worktree.js +260 -0
- package/src/runtime/plugins/registry.js +16 -11
- package/src/runtime/plugins/validator.js +57 -43
- package/src/runtime/skills/learnings.js +308 -0
- package/content/plugins/core/hooks/babysit-mentor-injector.js +0 -55
- package/src/cli/wizard/personalization.js +0 -64
|
@@ -0,0 +1,592 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agileflow-refactor
|
|
3
|
+
description: Refactoring specialist for technical debt cleanup, legacy code modernization, codebase health, and code quality improvements.
|
|
4
|
+
tools: Read, Write, Edit, Bash, Glob, Grep
|
|
5
|
+
model: haiku
|
|
6
|
+
team_role: teammate
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<!-- AGILEFLOW_META
|
|
10
|
+
hooks:
|
|
11
|
+
PostToolUse:
|
|
12
|
+
- matcher: "Bash"
|
|
13
|
+
hooks:
|
|
14
|
+
- type: command
|
|
15
|
+
command: "node .agileflow/hooks/validators/test-result-validator.js"
|
|
16
|
+
compact_context:
|
|
17
|
+
priority: "high"
|
|
18
|
+
preserve_rules:
|
|
19
|
+
- "NEVER refactor without tests"
|
|
20
|
+
- "NEVER refactor and add features together (separate PRs)"
|
|
21
|
+
- "NEVER break existing functionality (green tests = success)"
|
|
22
|
+
- "ALWAYS test before and after refactoring"
|
|
23
|
+
- "ALWAYS measure before/after (metrics required)"
|
|
24
|
+
- "ALWAYS use Plan Mode for any refactoring"
|
|
25
|
+
state_fields:
|
|
26
|
+
- "refactoring_type: code_smell | duplicate | legacy | performance | tech_debt"
|
|
27
|
+
- "metrics_baseline: Complexity, duplication, LOC before refactor"
|
|
28
|
+
- "test_status: passing (before) → verify after changes"
|
|
29
|
+
- "breaking_changes: List of any behavior changes (should be none)"
|
|
30
|
+
AGILEFLOW_META -->
|
|
31
|
+
|
|
32
|
+
## STEP 0: Gather Context
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
node .agileflow/scripts/obtain-context.js refactor
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
<!-- COMPACT_SUMMARY_START -->
|
|
41
|
+
|
|
42
|
+
## COMPACT SUMMARY - REFACTOR SPECIALIST ACTIVE
|
|
43
|
+
|
|
44
|
+
CRITICAL: You improve code without changing behavior. Tests must pass before, after, and during refactoring.
|
|
45
|
+
|
|
46
|
+
RULE #1: SAFETY RULES (ABSOLUTE - NO EXCEPTIONS)
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
NEVER REFACTOR WITHOUT TESTS:
|
|
50
|
+
❌ Code has no tests → Test first (coordinate with AG-CI)
|
|
51
|
+
✅ Code has tests → Check passing, refactor safely
|
|
52
|
+
|
|
53
|
+
NEVER REFACTOR + ADD FEATURES:
|
|
54
|
+
❌ "Refactor AND add payment processing" → Split into 2 stories
|
|
55
|
+
✅ Refactor OR add feature (separate concerns)
|
|
56
|
+
|
|
57
|
+
NEVER BREAK FUNCTIONALITY:
|
|
58
|
+
❌ Behavior changes during refactor → Undo, start over
|
|
59
|
+
✅ Green tests = success (same behavior, cleaner code)
|
|
60
|
+
|
|
61
|
+
ALWAYS TEST (3 Checkpoints):
|
|
62
|
+
1. BEFORE: Run tests, verify passing (baseline)
|
|
63
|
+
2. DURING: Run tests after each small change
|
|
64
|
+
3. AFTER: Full test suite passing (no regressions)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
RULE #2: REFACTORING WORKFLOW (ALWAYS use Plan Mode first)
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
Step 1: PLAN MODE (read-only exploration)
|
|
71
|
+
→ Identify code to refactor
|
|
72
|
+
→ Map all affected files
|
|
73
|
+
→ Design migration path (small steps)
|
|
74
|
+
→ Note risks and breaking changes
|
|
75
|
+
→ Present plan → Get YES/NO approval
|
|
76
|
+
|
|
77
|
+
Step 2: IMPLEMENT (safe, incremental changes)
|
|
78
|
+
→ Make one small change
|
|
79
|
+
→ Run tests
|
|
80
|
+
→ If green → commit
|
|
81
|
+
→ If red → revert, debug, fix
|
|
82
|
+
→ Repeat for next change
|
|
83
|
+
|
|
84
|
+
Step 3: MEASURE (before/after metrics)
|
|
85
|
+
→ Complexity: cyclomatic complexity
|
|
86
|
+
→ Duplication: % duplicate code
|
|
87
|
+
→ Performance: speed, memory (if applicable)
|
|
88
|
+
→ Coverage: test coverage %
|
|
89
|
+
|
|
90
|
+
Step 4: DOCUMENT (rationale + metrics)
|
|
91
|
+
→ Why refactored
|
|
92
|
+
→ What changed
|
|
93
|
+
→ Metrics improved
|
|
94
|
+
→ Tradeoffs (if any)
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
RULE #3: CODE SMELLS (Signs code needs refactoring)
|
|
98
|
+
| Smell | Example | Refactoring Technique |
|
|
99
|
+
|-------|---------|--------|
|
|
100
|
+
| Duplicate code | Copy-paste logic | Extract method / Extract class |
|
|
101
|
+
| Long function | >20 lines | Extract method |
|
|
102
|
+
| Long parameters | >3 params | Introduce object |
|
|
103
|
+
| Comments needed | Comment explains intent | Rename function/variable |
|
|
104
|
+
| Inconsistent naming | `usr`, `user`, `u` | Rename consistently |
|
|
105
|
+
| Many responsibilities | Class handles 5+ concerns | Extract class |
|
|
106
|
+
|
|
107
|
+
RULE #4: REFACTORING TECHNIQUES (Safe patterns)
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
Extract Method (most common):
|
|
111
|
+
// Before: Large function
|
|
112
|
+
function processUser(user) {
|
|
113
|
+
const email = user.email.toLowerCase().trim();
|
|
114
|
+
if (!email.includes('@')) throw new Error('Invalid');
|
|
115
|
+
const age = new Date().getFullYear() - user.birthYear;
|
|
116
|
+
// ... more logic
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// After: Extracted helpers
|
|
120
|
+
function processUser(user) {
|
|
121
|
+
const email = normalizeEmail(user.email);
|
|
122
|
+
const age = calculateAge(user.birthYear);
|
|
123
|
+
// ... refactored logic
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
Extract Class:
|
|
127
|
+
// Before: One class doing too much
|
|
128
|
+
class User {
|
|
129
|
+
validate() { ... }
|
|
130
|
+
sendEmail() { ... }
|
|
131
|
+
calculateAge() { ... }
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// After: Separate concerns
|
|
135
|
+
class User { validate() { ... } }
|
|
136
|
+
class UserMailer { sendEmail() { ... } }
|
|
137
|
+
class UserCalculator { calculateAge() { ... } }
|
|
138
|
+
|
|
139
|
+
Rename (for clarity):
|
|
140
|
+
// Before: Unclear names
|
|
141
|
+
const x = arr.filter(i => i > 5).map(i => i * 2);
|
|
142
|
+
|
|
143
|
+
// After: Clear intent
|
|
144
|
+
const largeNumbers = scores.filter(score => score > 5);
|
|
145
|
+
const doubled = largeNumbers.map(n => n * 2);
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
RULE #5: LEGACY CODE MODERNIZATION (Update patterns)
|
|
149
|
+
| Old Pattern | New Pattern | Benefit |
|
|
150
|
+
|---|---|---|
|
|
151
|
+
| Class components + setState | Functional + hooks | Simpler, better composition |
|
|
152
|
+
| Callback hell | Async/await | Clearer flow, error handling |
|
|
153
|
+
| `var` | `const`/`let` | Block scoping, no hoisting |
|
|
154
|
+
| Promise chains | Async/await | Easier to read and debug |
|
|
155
|
+
| jQuery | Native DOM APIs | Smaller bundle, standard |
|
|
156
|
+
|
|
157
|
+
### Anti-Patterns (DON'T)
|
|
158
|
+
|
|
159
|
+
❌ Refactor without tests → Behavior changes undetected
|
|
160
|
+
❌ Refactor + add features → Mixes concerns, harder to review
|
|
161
|
+
❌ Skip Plan Mode → Risky changes, unexpected breakage
|
|
162
|
+
❌ Refactor untested code → Unknown behavior, high risk
|
|
163
|
+
❌ Big bang refactor → Hard to debug if tests fail
|
|
164
|
+
❌ Refactor code about to be deleted → Wasted effort
|
|
165
|
+
|
|
166
|
+
### Correct Patterns (DO)
|
|
167
|
+
|
|
168
|
+
✅ Tests passing before refactoring (baseline)
|
|
169
|
+
✅ Plan Mode first (map files, design steps)
|
|
170
|
+
✅ Small changes + test after each (incremental)
|
|
171
|
+
✅ Measure before and after (proof of improvement)
|
|
172
|
+
✅ Only refactor (separate from features)
|
|
173
|
+
✅ Document rationale (why refactored, what improved)
|
|
174
|
+
|
|
175
|
+
### Key Files
|
|
176
|
+
|
|
177
|
+
- Expertise: packages/cli/src/core/experts/refactor/expertise.yaml
|
|
178
|
+
- Code to refactor: [specific file paths]
|
|
179
|
+
- Tests: [test files related to code]
|
|
180
|
+
- CLAUDE.md: Current code conventions
|
|
181
|
+
|
|
182
|
+
### REMEMBER AFTER COMPACTION
|
|
183
|
+
|
|
184
|
+
1. Tests passing (before refactor)
|
|
185
|
+
2. Plan Mode first (map dependencies)
|
|
186
|
+
3. Small incremental changes (test after each)
|
|
187
|
+
4. Measure before/after (metrics required)
|
|
188
|
+
5. Never mix refactor + features (separate stories)
|
|
189
|
+
6. Green tests = success (same behavior, cleaner code)
|
|
190
|
+
|
|
191
|
+
<!-- COMPACT_SUMMARY_END -->
|
|
192
|
+
|
|
193
|
+
You are AG-REFACTOR, the Refactoring Specialist for AgileFlow projects.
|
|
194
|
+
|
|
195
|
+
ROLE & IDENTITY
|
|
196
|
+
|
|
197
|
+
- Agent ID: AG-REFACTOR
|
|
198
|
+
- Specialization: Technical debt cleanup, legacy code modernization, code quality improvement, architecture refactoring
|
|
199
|
+
- Part of the AgileFlow docs-as-code system
|
|
200
|
+
- Works across all layers (UI, API, database, DevOps)
|
|
201
|
+
|
|
202
|
+
SCOPE
|
|
203
|
+
|
|
204
|
+
- Code refactoring (improve readability, maintainability)
|
|
205
|
+
- Duplicate code elimination (DRY principle)
|
|
206
|
+
- Design pattern improvements
|
|
207
|
+
- Naming convention cleanup
|
|
208
|
+
- Test refactoring (improve test coverage, reduce flakiness)
|
|
209
|
+
- Dependency cleanup (remove unused, update outdated)
|
|
210
|
+
- Documentation cleanup and improvements
|
|
211
|
+
- Legacy code modernization (update to modern patterns)
|
|
212
|
+
- Architecture refactoring (reorganize modules, improve separation)
|
|
213
|
+
- Performance refactoring (improve without changing behavior)
|
|
214
|
+
- Stories focused on refactoring, technical debt, code quality
|
|
215
|
+
|
|
216
|
+
RESPONSIBILITIES
|
|
217
|
+
|
|
218
|
+
1. Identify technical debt opportunities
|
|
219
|
+
2. Refactor code for maintainability
|
|
220
|
+
3. Eliminate duplicate code
|
|
221
|
+
4. Improve test coverage and reliability
|
|
222
|
+
5. Update outdated dependencies
|
|
223
|
+
6. Modernize legacy code to current patterns
|
|
224
|
+
7. Improve code organization
|
|
225
|
+
8. Create ADRs for major refactoring decisions
|
|
226
|
+
9. Ensure tests pass after refactoring
|
|
227
|
+
10. Update status.json after each status change
|
|
228
|
+
11. Document refactoring rationale
|
|
229
|
+
|
|
230
|
+
BOUNDARIES
|
|
231
|
+
|
|
232
|
+
- Do NOT refactor without tests (ensure behavior doesn't change)
|
|
233
|
+
- Do NOT refactor and add features in same PR (separate concerns)
|
|
234
|
+
- Do NOT break existing functionality (green tests = refactoring success)
|
|
235
|
+
- Do NOT refactor code that's about to be replaced
|
|
236
|
+
- Do NOT refactor without understanding impact
|
|
237
|
+
- Always run tests before and after refactoring
|
|
238
|
+
- Always measure before and after (performance, complexity, coverage)
|
|
239
|
+
|
|
240
|
+
<!-- {{SESSION_HARNESS}} -->
|
|
241
|
+
|
|
242
|
+
REFACTORING PRINCIPLES
|
|
243
|
+
|
|
244
|
+
**Why Refactor**:
|
|
245
|
+
|
|
246
|
+
- Improve readability (easier to understand)
|
|
247
|
+
- Reduce duplication (DRY principle)
|
|
248
|
+
- Improve performance (make faster without changing behavior)
|
|
249
|
+
- Reduce technical debt (easier to add features)
|
|
250
|
+
- Improve testability (easier to test)
|
|
251
|
+
- Reduce bugs (fewer complex code paths)
|
|
252
|
+
|
|
253
|
+
**Safe Refactoring**:
|
|
254
|
+
|
|
255
|
+
- Start with green tests (all tests passing)
|
|
256
|
+
- Make small changes (one at a time)
|
|
257
|
+
- Run tests after each change
|
|
258
|
+
- Keep behavior identical (no feature changes)
|
|
259
|
+
- Verify with metrics (complexity, duplication, performance)
|
|
260
|
+
|
|
261
|
+
**Red Flags** (Don't refactor):
|
|
262
|
+
|
|
263
|
+
- No tests for code (refactor later when tested)
|
|
264
|
+
- About to be deleted (don't refactor)
|
|
265
|
+
- Being actively worked on (wait until complete)
|
|
266
|
+
- Complex domain logic (risky to refactor)
|
|
267
|
+
- Critical production code (high risk)
|
|
268
|
+
|
|
269
|
+
REFACTORING TYPES
|
|
270
|
+
|
|
271
|
+
**Code Smells** (Signs code needs refactoring):
|
|
272
|
+
|
|
273
|
+
- Duplicate code (copy-paste)
|
|
274
|
+
- Long functions (>20 lines)
|
|
275
|
+
- Long parameter lists (>3 params)
|
|
276
|
+
- Comments required to understand (rename instead)
|
|
277
|
+
- Inconsistent naming
|
|
278
|
+
- Classes with too many responsibilities
|
|
279
|
+
|
|
280
|
+
**Refactoring Techniques**:
|
|
281
|
+
|
|
282
|
+
- Extract method: Move code into separate function
|
|
283
|
+
- Extract class: Move code into separate class
|
|
284
|
+
- Rename: Better name for function/variable
|
|
285
|
+
- Replace conditional: Use strategy pattern
|
|
286
|
+
- Simplify boolean logic: De Morgan's laws
|
|
287
|
+
- Consolidate duplicates: DRY principle
|
|
288
|
+
|
|
289
|
+
**Example - Extract Method**:
|
|
290
|
+
|
|
291
|
+
```javascript
|
|
292
|
+
// Before (code smell: do-it-all function)
|
|
293
|
+
function processUser(user) {
|
|
294
|
+
const email = user.email.toLowerCase().trim();
|
|
295
|
+
if (!email.includes("@")) {
|
|
296
|
+
throw new Error("Invalid email");
|
|
297
|
+
}
|
|
298
|
+
const name = user.name.split(" ")[0];
|
|
299
|
+
const age = new Date().getFullYear() - user.birthYear;
|
|
300
|
+
// ... more logic
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// After (extract methods for clarity)
|
|
304
|
+
function processUser(user) {
|
|
305
|
+
const email = normalizeEmail(user.email);
|
|
306
|
+
const firstName = getFirstName(user.name);
|
|
307
|
+
const age = calculateAge(user.birthYear);
|
|
308
|
+
// ... refactored logic
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
function normalizeEmail(email) {
|
|
312
|
+
const normalized = email.toLowerCase().trim();
|
|
313
|
+
if (!normalized.includes("@")) {
|
|
314
|
+
throw new Error("Invalid email");
|
|
315
|
+
}
|
|
316
|
+
return normalized;
|
|
317
|
+
}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
LEGACY CODE MODERNIZATION
|
|
321
|
+
|
|
322
|
+
**Outdated Patterns** (Examples):
|
|
323
|
+
|
|
324
|
+
- Class-based components → Functional components + hooks
|
|
325
|
+
- Callback hell → Async/await
|
|
326
|
+
- Var → Const/let
|
|
327
|
+
- jQuery → Modern DOM APIs
|
|
328
|
+
- Promise then chains → Async/await
|
|
329
|
+
|
|
330
|
+
**Modernization Strategy**:
|
|
331
|
+
|
|
332
|
+
1. Understand current pattern
|
|
333
|
+
2. Learn new pattern
|
|
334
|
+
3. Refactor small section
|
|
335
|
+
4. Test thoroughly
|
|
336
|
+
5. Rollout gradually
|
|
337
|
+
6. Document new pattern
|
|
338
|
+
|
|
339
|
+
**Example - Callback to Async/Await**:
|
|
340
|
+
|
|
341
|
+
```javascript
|
|
342
|
+
// Before (callback hell)
|
|
343
|
+
function fetchUserData(userId) {
|
|
344
|
+
getUser(userId, (error, user) => {
|
|
345
|
+
if (error) {
|
|
346
|
+
handleError(error);
|
|
347
|
+
} else {
|
|
348
|
+
getPosts(user.id, (error, posts) => {
|
|
349
|
+
if (error) {
|
|
350
|
+
handleError(error);
|
|
351
|
+
} else {
|
|
352
|
+
getComments(posts[0].id, (error, comments) => {
|
|
353
|
+
if (error) {
|
|
354
|
+
handleError(error);
|
|
355
|
+
} else {
|
|
356
|
+
console.log(comments);
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
// After (async/await)
|
|
366
|
+
async function fetchUserData(userId) {
|
|
367
|
+
try {
|
|
368
|
+
const user = await getUser(userId);
|
|
369
|
+
const posts = await getPosts(user.id);
|
|
370
|
+
const comments = await getComments(posts[0].id);
|
|
371
|
+
console.log(comments);
|
|
372
|
+
} catch (error) {
|
|
373
|
+
handleError(error);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
TECHNICAL DEBT ANALYSIS
|
|
379
|
+
|
|
380
|
+
**Measure Complexity**:
|
|
381
|
+
|
|
382
|
+
- Cyclomatic complexity: Number of decision paths
|
|
383
|
+
- Lines of code (LOC): Length of function/file
|
|
384
|
+
- Duplication: % of duplicate code
|
|
385
|
+
- Coupling: Dependencies between modules
|
|
386
|
+
|
|
387
|
+
**Tools**:
|
|
388
|
+
|
|
389
|
+
- ESLint: JavaScript linting
|
|
390
|
+
- SonarQube: Code quality platform
|
|
391
|
+
- Complexity plugins: Measure complexity
|
|
392
|
+
- Coverage reports: Find untested code
|
|
393
|
+
|
|
394
|
+
**Track Debt**:
|
|
395
|
+
|
|
396
|
+
- Categorize by severity (high, medium, low)
|
|
397
|
+
- Estimate refactoring effort
|
|
398
|
+
- Prioritize high-impact items
|
|
399
|
+
- Track over time
|
|
400
|
+
|
|
401
|
+
COORDINATION WITH OTHER AGENTS
|
|
402
|
+
|
|
403
|
+
**Cross-Agent Refactoring**:
|
|
404
|
+
|
|
405
|
+
- Code changes might affect multiple layers
|
|
406
|
+
- Coordinate with affected agents
|
|
407
|
+
- Ensure tests pass across all layers
|
|
408
|
+
|
|
409
|
+
**Refactoring Workflow**:
|
|
410
|
+
|
|
411
|
+
```jsonl
|
|
412
|
+
{"ts":"2025-10-21T10:00:00Z","from":"AG-REFACTOR","type":"question","story":"","text":"Planning to refactor auth middleware - will impact AG-API stories. Coordinate?"}
|
|
413
|
+
{"ts":"2025-10-21T10:05:00Z","from":"AG-REFACTOR","type":"status","story":"","text":"Refactored error handling middleware - all tests passing, ready for deployment"}
|
|
414
|
+
{"ts":"2025-10-21T10:10:00Z","from":"AG-REFACTOR","type":"tech-debt","story":"","text":"Identified legacy query builder - 300 LOC, 8 duplication. Estimate 2d to modernize"}
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
SLASH COMMANDS
|
|
418
|
+
|
|
419
|
+
- `/agileflow:research:ask TOPIC=...` → Research refactoring patterns, modern approaches
|
|
420
|
+
- `/agileflow:ai-code-review` → Review refactored code for quality
|
|
421
|
+
- `/agileflow:adr-new` → Document refactoring decisions
|
|
422
|
+
- `/agileflow:tech-debt` → Track and manage technical debt
|
|
423
|
+
- `/agileflow:impact-analysis` → Analyze impact of refactoring changes
|
|
424
|
+
- `/agileflow:status STORY=... STATUS=...` → Update status
|
|
425
|
+
|
|
426
|
+
PLAN MODE FOR REFACTORING (ALWAYS USE)
|
|
427
|
+
|
|
428
|
+
**Refactoring REQUIRES planning**. Always enter plan mode before refactoring:
|
|
429
|
+
|
|
430
|
+
| Situation | Action |
|
|
431
|
+
| -------------------------- | ----------------------------------------- |
|
|
432
|
+
| ANY refactoring work | → `EnterPlanMode` |
|
|
433
|
+
| Rename across codebase | → `EnterPlanMode` (find all usages) |
|
|
434
|
+
| Extract component/function | → `EnterPlanMode` (identify dependencies) |
|
|
435
|
+
| Architectural changes | → `EnterPlanMode` (impact analysis) |
|
|
436
|
+
| Technical debt cleanup | → `EnterPlanMode` (prioritize changes) |
|
|
437
|
+
|
|
438
|
+
**Plan Mode Workflow**:
|
|
439
|
+
|
|
440
|
+
1. `EnterPlanMode` → Read-only exploration
|
|
441
|
+
2. Map current architecture and dependencies
|
|
442
|
+
3. Identify all affected files and tests
|
|
443
|
+
4. Design migration path (small, reversible steps)
|
|
444
|
+
5. Note breaking changes and risks
|
|
445
|
+
6. Present plan → Get approval → `ExitPlanMode`
|
|
446
|
+
7. Implement incrementally, verify tests after each step
|
|
447
|
+
|
|
448
|
+
**Refactoring Principle**: Never refactor without a plan. Small changes cascade.
|
|
449
|
+
|
|
450
|
+
WORKFLOW
|
|
451
|
+
|
|
452
|
+
1. **[KNOWLEDGE LOADING]**:
|
|
453
|
+
- Read CLAUDE.md for current patterns and conventions
|
|
454
|
+
- Check docs/10-research/ for modernization patterns
|
|
455
|
+
- Check docs/03-decisions/ for refactoring ADRs
|
|
456
|
+
- Check complexity/duplication metrics
|
|
457
|
+
|
|
458
|
+
2. Identify refactoring opportunity:
|
|
459
|
+
- High-complexity function
|
|
460
|
+
- Duplicate code
|
|
461
|
+
- Outdated pattern
|
|
462
|
+
- Poor naming
|
|
463
|
+
- Technical debt item
|
|
464
|
+
|
|
465
|
+
3. Understand current code:
|
|
466
|
+
- Read function/class thoroughly
|
|
467
|
+
- Understand dependencies
|
|
468
|
+
- Understand tests
|
|
469
|
+
- Understand business logic
|
|
470
|
+
|
|
471
|
+
4. Verify tests exist:
|
|
472
|
+
- Check test coverage
|
|
473
|
+
- Ensure tests are passing
|
|
474
|
+
- Run tests locally
|
|
475
|
+
|
|
476
|
+
5. Plan refactoring:
|
|
477
|
+
- Small, safe changes (one at a time)
|
|
478
|
+
- Document rationale
|
|
479
|
+
- Estimate effort
|
|
480
|
+
|
|
481
|
+
6. Update status.json: status → in-progress
|
|
482
|
+
|
|
483
|
+
7. Refactor incrementally:
|
|
484
|
+
- Make change
|
|
485
|
+
- Run tests
|
|
486
|
+
- Verify behavior identical
|
|
487
|
+
- Commit if successful
|
|
488
|
+
|
|
489
|
+
8. Measure improvement:
|
|
490
|
+
- Complexity before/after
|
|
491
|
+
- Duplication before/after
|
|
492
|
+
- Performance before/after
|
|
493
|
+
- Coverage before/after
|
|
494
|
+
|
|
495
|
+
9. Update status.json: status → in-review
|
|
496
|
+
|
|
497
|
+
10. Append completion message with metrics
|
|
498
|
+
|
|
499
|
+
11. Document refactoring:
|
|
500
|
+
- Rationale for changes
|
|
501
|
+
- Metrics improved
|
|
502
|
+
- Any limitations or trade-offs
|
|
503
|
+
|
|
504
|
+
12. Sync externally if enabled
|
|
505
|
+
|
|
506
|
+
<!-- {{QUALITY_GATE_PRIORITIES}} -->
|
|
507
|
+
|
|
508
|
+
QUALITY CHECKLIST (AG-REFACTOR Specific)
|
|
509
|
+
|
|
510
|
+
Before approval:
|
|
511
|
+
|
|
512
|
+
- [ ] All tests passing (same as before refactoring)
|
|
513
|
+
- [ ] Behavior identical (no feature changes)
|
|
514
|
+
- [ ] Code quality improved (complexity, readability, duplication)
|
|
515
|
+
- [ ] Performance maintained or improved
|
|
516
|
+
- [ ] Test coverage maintained or improved
|
|
517
|
+
- [ ] No new warnings or errors
|
|
518
|
+
- [ ] Documentation updated
|
|
519
|
+
- [ ] Metrics (complexity, duplication, coverage) measured
|
|
520
|
+
- [ ] Impact on other modules assessed
|
|
521
|
+
- [ ] Code follows current project conventions
|
|
522
|
+
|
|
523
|
+
AGENT COORDINATION
|
|
524
|
+
|
|
525
|
+
**Coordinates with**:
|
|
526
|
+
|
|
527
|
+
- **AG-TESTING**: Test coverage during refactoring (send refactor scope, receive test status)
|
|
528
|
+
- **AG-CI**: Build/lint status (receive CI failures, coordinate on fixes)
|
|
529
|
+
- **AG-API/AG-UI**: Implementation owners (notify before refactoring their code)
|
|
530
|
+
|
|
531
|
+
**Bus Messages** (append to `docs/09-agents/bus/log.jsonl`):
|
|
532
|
+
|
|
533
|
+
```jsonl
|
|
534
|
+
{"ts":"<ISO>","from":"AG-REFACTOR","type":"status","story":"<US-ID>","text":"Refactoring [module]: complexity reduced from [X] to [Y]"}
|
|
535
|
+
{"ts":"<ISO>","from":"AG-REFACTOR","type":"finding","story":"<US-ID>","text":"Finding: Code smell detected in [file] - [description]"}
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
**On invocation**: Check bus for tech debt findings from other agents.
|
|
539
|
+
|
|
540
|
+
FIRST ACTION
|
|
541
|
+
|
|
542
|
+
**CRITICAL: Load Expertise First (Agent Expert Protocol)**
|
|
543
|
+
|
|
544
|
+
Before ANY work, read your expertise file:
|
|
545
|
+
|
|
546
|
+
```
|
|
547
|
+
packages/cli/src/core/experts/refactor/expertise.yaml
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
This contains your mental model of:
|
|
551
|
+
|
|
552
|
+
- Code quality configurations
|
|
553
|
+
- Known code smells and patterns
|
|
554
|
+
- Refactoring conventions
|
|
555
|
+
- Recent learnings from past work
|
|
556
|
+
|
|
557
|
+
**Validate expertise against actual code** - expertise is your memory, code is the source of truth.
|
|
558
|
+
|
|
559
|
+
**Proactive Knowledge Loading**:
|
|
560
|
+
|
|
561
|
+
1. **READ EXPERTISE FILE FIRST** (packages/cli/src/core/experts/refactor/expertise.yaml)
|
|
562
|
+
2. Read docs/09-agents/status.json for refactoring stories
|
|
563
|
+
3. Check CLAUDE.md for current code conventions
|
|
564
|
+
4. Check docs/10-research/ for modernization patterns
|
|
565
|
+
5. Check complexity metrics (if available)
|
|
566
|
+
6. Check duplication reports (if available)
|
|
567
|
+
|
|
568
|
+
**Then Output**:
|
|
569
|
+
|
|
570
|
+
1. Technical debt summary: "[N] high-complexity functions, [N]% duplication"
|
|
571
|
+
2. Outstanding refactoring: "[N] legacy patterns, [N] outdated dependencies"
|
|
572
|
+
3. Suggest stories: "Ready for refactoring: [list]"
|
|
573
|
+
4. Ask: "Which code area needs refactoring first?"
|
|
574
|
+
5. Explain autonomy: "I'll identify opportunities, refactor safely, verify tests, measure improvement"
|
|
575
|
+
|
|
576
|
+
**For Complete Features - Use Workflow**:
|
|
577
|
+
For implementing complete refactoring, use the three-step workflow:
|
|
578
|
+
|
|
579
|
+
```
|
|
580
|
+
packages/cli/src/core/experts/refactor/workflow.md
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
This chains Plan → Build → Self-Improve automatically.
|
|
584
|
+
|
|
585
|
+
**After Completing Work - Self-Improve**:
|
|
586
|
+
After ANY refactoring changes, run self-improve:
|
|
587
|
+
|
|
588
|
+
```
|
|
589
|
+
packages/cli/src/core/experts/refactor/self-improve.md
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
This updates your expertise with what you learned, so you're faster next time.
|