agileflow 3.4.3 → 4.0.0-alpha.2
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 +238 -473
- package/README.md +22 -114
- package/bin/agileflow.js +15 -0
- package/bin/hooks/pre-bash.js +35 -0
- package/bin/hooks/pre-compact.js +34 -0
- package/bin/hooks/pre-edit.js +32 -0
- package/bin/hooks/pre-write.js +32 -0
- package/bin/hooks/session-start.js +42 -0
- package/bin/hooks/stop.js +34 -0
- package/content/plugins/ads/plugin.yaml +14 -0
- package/content/plugins/audit/plugin.yaml +14 -0
- package/content/plugins/core/hooks/babysit-mentor-injector.js +55 -0
- package/content/plugins/core/hooks/context-loader.js +169 -0
- package/content/plugins/core/hooks/damage-control-bash.js +78 -0
- package/content/plugins/core/hooks/damage-control-edit.js +76 -0
- package/content/plugins/core/hooks/damage-control-patterns.yaml +100 -0
- package/content/plugins/core/hooks/damage-control-write.js +72 -0
- package/content/plugins/core/hooks/pre-compact-state.js +90 -0
- package/content/plugins/core/hooks/session-welcome.js +19 -0
- package/content/plugins/core/plugin.yaml +82 -0
- package/content/plugins/core/skills/agileflow-adr/SKILL.md +179 -0
- package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +144 -0
- package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +179 -0
- package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +132 -0
- package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +200 -0
- package/content/plugins/council/plugin.yaml +14 -0
- package/content/plugins/seo/plugin.yaml +14 -0
- package/package.json +29 -49
- package/src/cli/commands/doctor.js +159 -0
- package/src/cli/commands/hook.js +80 -0
- package/src/cli/commands/setup.js +292 -0
- package/src/cli/commands/status.js +47 -0
- package/src/cli/commands/update.js +83 -0
- package/src/cli/index.js +73 -0
- package/src/cli/wizard/behaviors-picker.js +108 -0
- package/src/cli/wizard/ide-picker.js +57 -0
- package/src/cli/wizard/personalization.js +64 -0
- package/src/cli/wizard/plugin-picker.js +106 -0
- package/src/lib/hash.js +41 -0
- package/src/runtime/config/defaults.js +61 -0
- package/src/runtime/config/loader.js +117 -0
- package/src/runtime/config/schema.json +99 -0
- package/src/runtime/config/writer.js +55 -0
- package/src/runtime/hooks/aggregator.js +157 -0
- package/src/runtime/hooks/chain.js +93 -0
- package/src/runtime/hooks/logger.js +68 -0
- package/src/runtime/hooks/manifest-loader.js +228 -0
- package/src/runtime/hooks/orchestrator.js +322 -0
- package/src/runtime/ide/capabilities.js +111 -0
- package/src/runtime/ide/claude-code-settings.js +234 -0
- package/src/runtime/ide/claude-code-skills.js +202 -0
- package/src/runtime/installer/file-index.js +112 -0
- package/src/runtime/installer/install.js +329 -0
- package/src/runtime/installer/stash.js +61 -0
- package/src/runtime/installer/sync-engine.js +205 -0
- package/src/runtime/plugins/registry.js +132 -0
- package/src/runtime/plugins/resolver.js +138 -0
- package/src/runtime/plugins/validator.js +196 -0
- package/src/runtime/skills/validator.js +335 -0
- package/lib/README.md +0 -178
- package/lib/api-routes.js +0 -625
- package/lib/api-server.js +0 -278
- package/lib/cache-provider.js +0 -155
- package/lib/codebase-indexer.js +0 -819
- package/lib/colors.generated.js +0 -117
- package/lib/colors.js +0 -341
- package/lib/consent.js +0 -232
- package/lib/content-sanitizer.js +0 -464
- package/lib/correlation.js +0 -277
- package/lib/drivers/claude-driver.ts +0 -312
- package/lib/drivers/codex-driver.ts +0 -464
- package/lib/drivers/driver-manager.ts +0 -159
- package/lib/drivers/gemini-driver.ts +0 -498
- package/lib/drivers/index.ts +0 -17
- package/lib/error-codes.js +0 -590
- package/lib/errors.js +0 -670
- package/lib/feature-flags.js +0 -171
- package/lib/feedback.js +0 -595
- package/lib/file-cache.js +0 -541
- package/lib/flag-detection.js +0 -344
- package/lib/format-error.js +0 -156
- package/lib/gate-runner.js +0 -282
- package/lib/generator-factory.js +0 -333
- package/lib/git-operations.js +0 -266
- package/lib/lazy-require.js +0 -59
- package/lib/lock-file.js +0 -144
- package/lib/logger.js +0 -106
- package/lib/merge-operations.js +0 -1006
- package/lib/path-resolver.js +0 -544
- package/lib/path-utils.js +0 -49
- package/lib/paths.js +0 -291
- package/lib/placeholder-registry.js +0 -822
- package/lib/process-executor.js +0 -214
- package/lib/progress.js +0 -334
- package/lib/protocol/driver.ts +0 -354
- package/lib/protocol/index.ts +0 -12
- package/lib/protocol/ir.ts +0 -271
- package/lib/registry-cache.js +0 -80
- package/lib/registry-di.js +0 -358
- package/lib/result-schema.js +0 -363
- package/lib/result.js +0 -210
- package/lib/session-display.js +0 -331
- package/lib/session-operations.js +0 -611
- package/lib/session-registry.js +0 -484
- package/lib/session-state-machine.js +0 -465
- package/lib/session-switching.js +0 -191
- package/lib/skill-loader.js +0 -213
- package/lib/smart-json-file.js +0 -682
- package/lib/state-machine.js +0 -286
- package/lib/table-formatter.js +0 -519
- package/lib/template-loader.js +0 -143
- package/lib/transient-status.js +0 -374
- package/lib/ui-manager.js +0 -612
- package/lib/validate-args.js +0 -213
- package/lib/validate-commands.js +0 -308
- package/lib/validate-names.js +0 -143
- package/lib/validate-paths.js +0 -434
- package/lib/validate.js +0 -134
- package/lib/worktree-operations.js +0 -201
- package/lib/yaml-utils.js +0 -164
- package/scripts/README.md +0 -267
- package/scripts/af +0 -34
- package/scripts/agent-loop.js +0 -879
- package/scripts/agileflow-configure.js +0 -368
- package/scripts/agileflow-statusline.sh +0 -857
- package/scripts/agileflow-welcome.js +0 -2246
- package/scripts/api-server-runner.js +0 -177
- package/scripts/archive-completed-stories.sh +0 -308
- package/scripts/auto-self-improve.js +0 -326
- package/scripts/automation-run-due.js +0 -128
- package/scripts/babysit-clear-restore.js +0 -154
- package/scripts/babysit-context-restore.js +0 -89
- package/scripts/backfill-ideation-status.js +0 -128
- package/scripts/batch-pmap-loop.js +0 -551
- package/scripts/check-sessions.js +0 -116
- package/scripts/check-update.js +0 -282
- package/scripts/ci-summary.js +0 -294
- package/scripts/claude-smart.sh +0 -85
- package/scripts/claude-tmux.sh +0 -737
- package/scripts/claude-watchdog.sh +0 -225
- package/scripts/clear-active-command.js +0 -48
- package/scripts/compress-status.sh +0 -116
- package/scripts/context-loader.js +0 -310
- package/scripts/damage-control/bash-tool-damage-control.js +0 -22
- package/scripts/damage-control/edit-tool-damage-control.js +0 -19
- package/scripts/damage-control/patterns.yaml +0 -227
- package/scripts/damage-control/write-tool-damage-control.js +0 -19
- package/scripts/damage-control-bash.js +0 -51
- package/scripts/damage-control-edit.js +0 -48
- package/scripts/damage-control-multi-agent.js +0 -231
- package/scripts/damage-control-write.js +0 -48
- package/scripts/dependency-check.js +0 -311
- package/scripts/document-repl.js +0 -793
- package/scripts/expertise-metrics.sh +0 -264
- package/scripts/generate-all.sh +0 -77
- package/scripts/generate-colors.js +0 -314
- package/scripts/generators/agent-registry.js +0 -183
- package/scripts/generators/command-registry.js +0 -166
- package/scripts/generators/index.js +0 -85
- package/scripts/generators/inject-babysit.js +0 -191
- package/scripts/generators/inject-help.js +0 -125
- package/scripts/generators/inject-readme.js +0 -166
- package/scripts/generators/skill-registry.js +0 -188
- package/scripts/get-env.js +0 -225
- package/scripts/init.sh +0 -76
- package/scripts/lib/README-portable-tasks.md +0 -424
- package/scripts/lib/ac-test-matcher.js +0 -452
- package/scripts/lib/audit-cleanup.js +0 -250
- package/scripts/lib/audit-registry.js +0 -340
- package/scripts/lib/automation-registry.js +0 -544
- package/scripts/lib/automation-runner.js +0 -476
- package/scripts/lib/browser-qa-evidence.js +0 -409
- package/scripts/lib/browser-qa-status.js +0 -192
- package/scripts/lib/bus-utils.js +0 -473
- package/scripts/lib/colors.generated.sh +0 -82
- package/scripts/lib/colors.sh +0 -46
- package/scripts/lib/command-prereqs.js +0 -280
- package/scripts/lib/concurrency-limiter.js +0 -511
- package/scripts/lib/configure-detect.js +0 -596
- package/scripts/lib/configure-features.js +0 -1927
- package/scripts/lib/configure-repair.js +0 -327
- package/scripts/lib/configure-utils.js +0 -114
- package/scripts/lib/context-formatter.js +0 -1158
- package/scripts/lib/context-loader.js +0 -840
- package/scripts/lib/counter.js +0 -103
- package/scripts/lib/damage-control-utils.js +0 -619
- package/scripts/lib/feature-catalog.js +0 -332
- package/scripts/lib/file-lock.js +0 -392
- package/scripts/lib/file-tracking.js +0 -735
- package/scripts/lib/frontmatter-parser.js +0 -133
- package/scripts/lib/gate-enforcer.js +0 -295
- package/scripts/lib/hook-metrics.js +0 -324
- package/scripts/lib/ideation-index.js +0 -1205
- package/scripts/lib/json-utils.sh +0 -162
- package/scripts/lib/lifecycle-detector.js +0 -125
- package/scripts/lib/model-profiles.js +0 -118
- package/scripts/lib/portable-tasks-cli.js +0 -274
- package/scripts/lib/portable-tasks.js +0 -479
- package/scripts/lib/process-cleanup.js +0 -527
- package/scripts/lib/quality-gates.js +0 -788
- package/scripts/lib/scale-detector.js +0 -396
- package/scripts/lib/sessionRegistry.js +0 -678
- package/scripts/lib/signal-detectors.js +0 -867
- package/scripts/lib/skill-catalog.js +0 -557
- package/scripts/lib/skill-recommender.js +0 -311
- package/scripts/lib/state-migrator.js +0 -353
- package/scripts/lib/status-task-bridge.js +0 -522
- package/scripts/lib/status-writer.js +0 -255
- package/scripts/lib/story-claiming.js +0 -704
- package/scripts/lib/story-state-machine.js +0 -437
- package/scripts/lib/sync-ideation-status.js +0 -291
- package/scripts/lib/task-registry-cache.js +0 -490
- package/scripts/lib/task-registry.js +0 -1191
- package/scripts/lib/task-sync.js +0 -230
- package/scripts/lib/tdd-phase-manager.js +0 -455
- package/scripts/lib/team-events.js +0 -510
- package/scripts/lib/tmux-audit-monitor.js +0 -612
- package/scripts/lib/tmux-group-colors.js +0 -113
- package/scripts/lib/tool-registry.yaml +0 -241
- package/scripts/lib/tool-shed.js +0 -441
- package/scripts/lib/validation-registry.js +0 -177
- package/scripts/messaging-bridge.js +0 -561
- package/scripts/migrate-ideation-index.js +0 -553
- package/scripts/native-team-observer.js +0 -219
- package/scripts/obtain-context.js +0 -272
- package/scripts/pre-push-check.sh +0 -46
- package/scripts/precompact-context.sh +0 -306
- package/scripts/query-codebase.js +0 -543
- package/scripts/ralph-loop.js +0 -1278
- package/scripts/resume-session.sh +0 -121
- package/scripts/screenshot-verifier.js +0 -215
- package/scripts/session-boundary.js +0 -138
- package/scripts/session-coordinator.sh +0 -232
- package/scripts/session-manager.js +0 -546
- package/scripts/smart-detect.js +0 -449
- package/scripts/spawn-audit-sessions.js +0 -877
- package/scripts/spawn-parallel.js +0 -751
- package/scripts/strip-ai-attribution.js +0 -63
- package/scripts/task-completed-gate.js +0 -237
- package/scripts/team-manager.js +0 -596
- package/scripts/team-status-display.js +0 -200
- package/scripts/teammate-idle-gate.js +0 -237
- package/scripts/test-session-boundary.js +0 -80
- package/scripts/tmux-close-windows.sh +0 -180
- package/scripts/tmux-restore-window.sh +0 -67
- package/scripts/tmux-save-closed-window.sh +0 -35
- package/scripts/tui/App.js +0 -151
- package/scripts/tui/Dashboard.js +0 -277
- package/scripts/tui/blessed/data/watcher.js +0 -180
- package/scripts/tui/blessed/index.js +0 -244
- package/scripts/tui/blessed/panels/output.js +0 -101
- package/scripts/tui/blessed/panels/sessions.js +0 -150
- package/scripts/tui/blessed/panels/trace.js +0 -97
- package/scripts/tui/blessed/ui/help.js +0 -77
- package/scripts/tui/blessed/ui/screen.js +0 -52
- package/scripts/tui/blessed/ui/statusbar.js +0 -47
- package/scripts/tui/blessed/ui/tabbar.js +0 -99
- package/scripts/tui/index.js +0 -70
- package/scripts/tui/lib/crashRecovery.js +0 -304
- package/scripts/tui/lib/eventStream.js +0 -309
- package/scripts/tui/lib/keyboard.js +0 -261
- package/scripts/tui/lib/loopControl.js +0 -371
- package/scripts/tui/panels/OutputPanel.js +0 -240
- package/scripts/tui/panels/SessionPanel.js +0 -170
- package/scripts/tui/panels/TracePanel.js +0 -298
- package/scripts/tui/simple-tui.js +0 -510
- package/scripts/validate-expertise.sh +0 -263
- package/scripts/validate-tokens.sh +0 -73
- package/scripts/validators/README.md +0 -143
- package/scripts/validators/component-validator.js +0 -239
- package/scripts/validators/json-schema-validator.js +0 -186
- package/scripts/validators/markdown-validator.js +0 -152
- package/scripts/validators/migration-validator.js +0 -129
- package/scripts/validators/security-validator.js +0 -380
- package/scripts/validators/story-format-validator.js +0 -197
- package/scripts/validators/test-result-validator.js +0 -114
- package/scripts/validators/workflow-validator.js +0 -247
- package/scripts/welcome-deferred.js +0 -437
- package/scripts/worktree-create.sh +0 -111
- package/src/core/agents/a11y-analyzer-aria.md +0 -155
- package/src/core/agents/a11y-analyzer-forms.md +0 -162
- package/src/core/agents/a11y-analyzer-keyboard.md +0 -175
- package/src/core/agents/a11y-analyzer-semantic.md +0 -153
- package/src/core/agents/a11y-analyzer-visual.md +0 -158
- package/src/core/agents/a11y-consensus.md +0 -248
- package/src/core/agents/accessibility.md +0 -515
- package/src/core/agents/adr-writer.md +0 -463
- package/src/core/agents/ads-audit-budget.md +0 -181
- package/src/core/agents/ads-audit-compliance.md +0 -169
- package/src/core/agents/ads-audit-creative.md +0 -164
- package/src/core/agents/ads-audit-google.md +0 -226
- package/src/core/agents/ads-audit-meta.md +0 -183
- package/src/core/agents/ads-audit-tracking.md +0 -197
- package/src/core/agents/ads-consensus.md +0 -396
- package/src/core/agents/ads-generate.md +0 -145
- package/src/core/agents/ads-performance-tracker.md +0 -197
- package/src/core/agents/analytics.md +0 -617
- package/src/core/agents/api-quality-analyzer-conventions.md +0 -148
- package/src/core/agents/api-quality-analyzer-docs.md +0 -176
- package/src/core/agents/api-quality-analyzer-errors.md +0 -183
- package/src/core/agents/api-quality-analyzer-pagination.md +0 -171
- package/src/core/agents/api-quality-analyzer-versioning.md +0 -143
- package/src/core/agents/api-quality-consensus.md +0 -214
- package/src/core/agents/api-validator.md +0 -183
- package/src/core/agents/api.md +0 -665
- package/src/core/agents/arch-analyzer-circular.md +0 -148
- package/src/core/agents/arch-analyzer-complexity.md +0 -171
- package/src/core/agents/arch-analyzer-coupling.md +0 -146
- package/src/core/agents/arch-analyzer-layering.md +0 -151
- package/src/core/agents/arch-analyzer-patterns.md +0 -162
- package/src/core/agents/arch-consensus.md +0 -227
- package/src/core/agents/brainstorm-analyzer-features.md +0 -169
- package/src/core/agents/brainstorm-analyzer-growth.md +0 -161
- package/src/core/agents/brainstorm-analyzer-integration.md +0 -172
- package/src/core/agents/brainstorm-analyzer-market.md +0 -147
- package/src/core/agents/brainstorm-analyzer-ux.md +0 -167
- package/src/core/agents/brainstorm-consensus.md +0 -237
- package/src/core/agents/browser-qa.md +0 -328
- package/src/core/agents/ci.md +0 -511
- package/src/core/agents/code-reviewer.md +0 -288
- package/src/core/agents/codebase-query.md +0 -266
- package/src/core/agents/completeness-analyzer-api.md +0 -190
- package/src/core/agents/completeness-analyzer-conditional.md +0 -201
- package/src/core/agents/completeness-analyzer-handlers.md +0 -159
- package/src/core/agents/completeness-analyzer-imports.md +0 -159
- package/src/core/agents/completeness-analyzer-routes.md +0 -182
- package/src/core/agents/completeness-analyzer-state.md +0 -188
- package/src/core/agents/completeness-analyzer-stubs.md +0 -198
- package/src/core/agents/completeness-consensus.md +0 -286
- package/src/core/agents/compliance.md +0 -509
- package/src/core/agents/council-advocate.md +0 -206
- package/src/core/agents/council-analyst.md +0 -252
- package/src/core/agents/council-optimist.md +0 -170
- package/src/core/agents/database.md +0 -601
- package/src/core/agents/datamigration.md +0 -699
- package/src/core/agents/design.md +0 -525
- package/src/core/agents/devops.md +0 -720
- package/src/core/agents/documentation.md +0 -504
- package/src/core/agents/epic-planner.md +0 -480
- package/src/core/agents/error-analyzer.md +0 -201
- package/src/core/agents/integrations.md +0 -603
- package/src/core/agents/legal-analyzer-a11y.md +0 -110
- package/src/core/agents/legal-analyzer-ai.md +0 -117
- package/src/core/agents/legal-analyzer-consumer.md +0 -108
- package/src/core/agents/legal-analyzer-content.md +0 -113
- package/src/core/agents/legal-analyzer-international.md +0 -115
- package/src/core/agents/legal-analyzer-licensing.md +0 -115
- package/src/core/agents/legal-analyzer-privacy.md +0 -108
- package/src/core/agents/legal-analyzer-security.md +0 -112
- package/src/core/agents/legal-analyzer-terms.md +0 -111
- package/src/core/agents/legal-consensus.md +0 -242
- package/src/core/agents/logic-analyzer-edge.md +0 -170
- package/src/core/agents/logic-analyzer-flow.md +0 -253
- package/src/core/agents/logic-analyzer-invariant.md +0 -206
- package/src/core/agents/logic-analyzer-race.md +0 -266
- package/src/core/agents/logic-analyzer-type.md +0 -217
- package/src/core/agents/logic-consensus.md +0 -253
- package/src/core/agents/mentor.md +0 -654
- package/src/core/agents/mobile.md +0 -501
- package/src/core/agents/monitoring.md +0 -537
- package/src/core/agents/multi-expert.md +0 -311
- package/src/core/agents/orchestrator.md +0 -749
- package/src/core/agents/perf-analyzer-assets.md +0 -174
- package/src/core/agents/perf-analyzer-bundle.md +0 -165
- package/src/core/agents/perf-analyzer-caching.md +0 -160
- package/src/core/agents/perf-analyzer-compute.md +0 -165
- package/src/core/agents/perf-analyzer-memory.md +0 -182
- package/src/core/agents/perf-analyzer-network.md +0 -157
- package/src/core/agents/perf-analyzer-queries.md +0 -155
- package/src/core/agents/perf-analyzer-rendering.md +0 -156
- package/src/core/agents/perf-consensus.md +0 -280
- package/src/core/agents/performance.md +0 -492
- package/src/core/agents/product.md +0 -535
- package/src/core/agents/qa.md +0 -765
- package/src/core/agents/readme-updater.md +0 -579
- package/src/core/agents/refactor.md +0 -558
- package/src/core/agents/research.md +0 -453
- package/src/core/agents/rlm-subcore.md +0 -207
- package/src/core/agents/schema-validator.md +0 -454
- package/src/core/agents/security-analyzer-api.md +0 -199
- package/src/core/agents/security-analyzer-auth.md +0 -160
- package/src/core/agents/security-analyzer-authz.md +0 -168
- package/src/core/agents/security-analyzer-deps.md +0 -147
- package/src/core/agents/security-analyzer-infra.md +0 -176
- package/src/core/agents/security-analyzer-injection.md +0 -148
- package/src/core/agents/security-analyzer-input.md +0 -191
- package/src/core/agents/security-analyzer-secrets.md +0 -175
- package/src/core/agents/security-consensus.md +0 -276
- package/src/core/agents/security.md +0 -486
- package/src/core/agents/seo-analyzer-content.md +0 -167
- package/src/core/agents/seo-analyzer-images.md +0 -187
- package/src/core/agents/seo-analyzer-performance.md +0 -206
- package/src/core/agents/seo-analyzer-schema.md +0 -176
- package/src/core/agents/seo-analyzer-sitemap.md +0 -172
- package/src/core/agents/seo-analyzer-technical.md +0 -144
- package/src/core/agents/seo-consensus.md +0 -289
- package/src/core/agents/team-coordinator.md +0 -333
- package/src/core/agents/team-lead.md +0 -171
- package/src/core/agents/test-analyzer-assertions.md +0 -181
- package/src/core/agents/test-analyzer-coverage.md +0 -183
- package/src/core/agents/test-analyzer-fragility.md +0 -185
- package/src/core/agents/test-analyzer-integration.md +0 -155
- package/src/core/agents/test-analyzer-maintenance.md +0 -173
- package/src/core/agents/test-analyzer-mocking.md +0 -178
- package/src/core/agents/test-analyzer-patterns.md +0 -189
- package/src/core/agents/test-analyzer-structure.md +0 -177
- package/src/core/agents/test-consensus.md +0 -294
- package/src/core/agents/testing.md +0 -527
- package/src/core/agents/ui-validator.md +0 -331
- package/src/core/agents/ui.md +0 -1227
- package/src/core/commands/adr/list.md +0 -191
- package/src/core/commands/adr/update.md +0 -258
- package/src/core/commands/adr/view.md +0 -274
- package/src/core/commands/adr.md +0 -394
- package/src/core/commands/ads/audit.md +0 -453
- package/src/core/commands/ads/budget.md +0 -97
- package/src/core/commands/ads/competitor.md +0 -112
- package/src/core/commands/ads/creative.md +0 -85
- package/src/core/commands/ads/generate.md +0 -238
- package/src/core/commands/ads/google.md +0 -112
- package/src/core/commands/ads/health.md +0 -327
- package/src/core/commands/ads/landing.md +0 -119
- package/src/core/commands/ads/linkedin.md +0 -112
- package/src/core/commands/ads/meta.md +0 -91
- package/src/core/commands/ads/microsoft.md +0 -115
- package/src/core/commands/ads/plan.md +0 -321
- package/src/core/commands/ads/test-plan.md +0 -317
- package/src/core/commands/ads/tiktok.md +0 -129
- package/src/core/commands/ads/track.md +0 -288
- package/src/core/commands/ads/youtube.md +0 -124
- package/src/core/commands/ads.md +0 -140
- package/src/core/commands/agent.md +0 -256
- package/src/core/commands/api.md +0 -267
- package/src/core/commands/assign.md +0 -369
- package/src/core/commands/audit.md +0 -531
- package/src/core/commands/auto.md +0 -556
- package/src/core/commands/automate.md +0 -415
- package/src/core/commands/babysit.md +0 -643
- package/src/core/commands/baseline.md +0 -743
- package/src/core/commands/batch.md +0 -551
- package/src/core/commands/blockers.md +0 -602
- package/src/core/commands/board.md +0 -509
- package/src/core/commands/browser-qa.md +0 -240
- package/src/core/commands/changelog.md +0 -582
- package/src/core/commands/choose.md +0 -430
- package/src/core/commands/ci.md +0 -330
- package/src/core/commands/code/accessibility.md +0 -363
- package/src/core/commands/code/api.md +0 -313
- package/src/core/commands/code/architecture.md +0 -313
- package/src/core/commands/code/completeness.md +0 -519
- package/src/core/commands/code/legal.md +0 -509
- package/src/core/commands/code/logic.md +0 -432
- package/src/core/commands/code/performance.md +0 -506
- package/src/core/commands/code/security.md +0 -509
- package/src/core/commands/code/test.md +0 -505
- package/src/core/commands/compress.md +0 -408
- package/src/core/commands/configure.md +0 -1159
- package/src/core/commands/context/export.md +0 -296
- package/src/core/commands/context/full.md +0 -353
- package/src/core/commands/context/note.md +0 -380
- package/src/core/commands/council.md +0 -592
- package/src/core/commands/debt.md +0 -491
- package/src/core/commands/deploy.md +0 -864
- package/src/core/commands/deps.md +0 -728
- package/src/core/commands/diagnose.md +0 -404
- package/src/core/commands/docs.md +0 -469
- package/src/core/commands/epic/edit.md +0 -213
- package/src/core/commands/epic/list.md +0 -190
- package/src/core/commands/epic/view.md +0 -267
- package/src/core/commands/epic.md +0 -477
- package/src/core/commands/export.md +0 -238
- package/src/core/commands/feedback.md +0 -603
- package/src/core/commands/handoff.md +0 -386
- package/src/core/commands/help.md +0 -194
- package/src/core/commands/ideate/brief.md +0 -363
- package/src/core/commands/ideate/discover.md +0 -399
- package/src/core/commands/ideate/features.md +0 -497
- package/src/core/commands/ideate/history.md +0 -403
- package/src/core/commands/ideate/new.md +0 -900
- package/src/core/commands/impact.md +0 -407
- package/src/core/commands/install.md +0 -529
- package/src/core/commands/learn/explain.md +0 -118
- package/src/core/commands/learn/glossary.md +0 -135
- package/src/core/commands/learn/patterns.md +0 -138
- package/src/core/commands/learn/tour.md +0 -126
- package/src/core/commands/maintain.md +0 -558
- package/src/core/commands/metrics.md +0 -844
- package/src/core/commands/migrate/codemods.md +0 -151
- package/src/core/commands/migrate/plan.md +0 -131
- package/src/core/commands/migrate/scan.md +0 -114
- package/src/core/commands/migrate/validate.md +0 -119
- package/src/core/commands/multi-expert.md +0 -447
- package/src/core/commands/packages.md +0 -535
- package/src/core/commands/pr.md +0 -337
- package/src/core/commands/readme-sync.md +0 -329
- package/src/core/commands/research/analyze.md +0 -798
- package/src/core/commands/research/ask.md +0 -864
- package/src/core/commands/research/import.md +0 -1025
- package/src/core/commands/research/list.md +0 -273
- package/src/core/commands/research/synthesize.md +0 -928
- package/src/core/commands/research/view.md +0 -323
- package/src/core/commands/retro.md +0 -795
- package/src/core/commands/review.md +0 -694
- package/src/core/commands/rlm.md +0 -446
- package/src/core/commands/roadmap/analyze.md +0 -400
- package/src/core/commands/rpi.md +0 -633
- package/src/core/commands/seo/audit.md +0 -444
- package/src/core/commands/seo/competitor.md +0 -174
- package/src/core/commands/seo/content.md +0 -107
- package/src/core/commands/seo/geo.md +0 -229
- package/src/core/commands/seo/hreflang.md +0 -140
- package/src/core/commands/seo/images.md +0 -96
- package/src/core/commands/seo/page.md +0 -198
- package/src/core/commands/seo/plan.md +0 -163
- package/src/core/commands/seo/programmatic.md +0 -131
- package/src/core/commands/seo/references/cwv-thresholds.md +0 -64
- package/src/core/commands/seo/references/eeat-framework.md +0 -110
- package/src/core/commands/seo/references/quality-gates.md +0 -91
- package/src/core/commands/seo/references/schema-types.md +0 -102
- package/src/core/commands/seo/schema.md +0 -183
- package/src/core/commands/seo/sitemap.md +0 -97
- package/src/core/commands/seo/technical.md +0 -100
- package/src/core/commands/seo.md +0 -107
- package/src/core/commands/session/cleanup.md +0 -452
- package/src/core/commands/session/end.md +0 -865
- package/src/core/commands/session/history.md +0 -293
- package/src/core/commands/session/init.md +0 -210
- package/src/core/commands/session/new.md +0 -827
- package/src/core/commands/session/resume.md +0 -291
- package/src/core/commands/session/spawn.md +0 -205
- package/src/core/commands/session/status.md +0 -274
- package/src/core/commands/skill/list.md +0 -139
- package/src/core/commands/skill/recommend.md +0 -216
- package/src/core/commands/sprint.md +0 -714
- package/src/core/commands/status/undo.md +0 -191
- package/src/core/commands/status.md +0 -423
- package/src/core/commands/story/edit.md +0 -204
- package/src/core/commands/story/list.md +0 -199
- package/src/core/commands/story/view.md +0 -312
- package/src/core/commands/story-validate.md +0 -491
- package/src/core/commands/story.md +0 -465
- package/src/core/commands/tdd-next.md +0 -238
- package/src/core/commands/tdd.md +0 -211
- package/src/core/commands/team/guide.md +0 -688
- package/src/core/commands/team/list.md +0 -59
- package/src/core/commands/team/start.md +0 -130
- package/src/core/commands/team/status.md +0 -66
- package/src/core/commands/team/stop.md +0 -78
- package/src/core/commands/template.md +0 -644
- package/src/core/commands/tests.md +0 -731
- package/src/core/commands/update.md +0 -591
- package/src/core/commands/validate-expertise.md +0 -305
- package/src/core/commands/velocity.md +0 -630
- package/src/core/commands/verify.md +0 -534
- package/src/core/commands/whats-new.md +0 -201
- package/src/core/commands/workflow.md +0 -449
- package/src/core/council/sessions/.gitkeep +0 -0
- package/src/core/council/shared_reasoning.template.md +0 -106
- package/src/core/experts/README.md +0 -236
- package/src/core/experts/_core-expertise.yaml +0 -105
- package/src/core/experts/accessibility/expertise.yaml +0 -115
- package/src/core/experts/accessibility/question.md +0 -41
- package/src/core/experts/accessibility/self-improve.md +0 -45
- package/src/core/experts/accessibility/workflow.md +0 -59
- package/src/core/experts/adr-writer/expertise.yaml +0 -138
- package/src/core/experts/adr-writer/question.md +0 -56
- package/src/core/experts/adr-writer/self-improve.md +0 -106
- package/src/core/experts/adr-writer/workflow.md +0 -184
- package/src/core/experts/analytics/expertise.yaml +0 -119
- package/src/core/experts/analytics/question.md +0 -74
- package/src/core/experts/analytics/self-improve.md +0 -163
- package/src/core/experts/analytics/workflow.md +0 -272
- package/src/core/experts/api/expertise.yaml +0 -124
- package/src/core/experts/api/question.md +0 -74
- package/src/core/experts/api/self-improve.md +0 -122
- package/src/core/experts/api/workflow.md +0 -248
- package/src/core/experts/ci/expertise.yaml +0 -106
- package/src/core/experts/ci/question.md +0 -69
- package/src/core/experts/ci/self-improve.md +0 -100
- package/src/core/experts/ci/workflow.md +0 -145
- package/src/core/experts/codebase-query/expertise.yaml +0 -121
- package/src/core/experts/codebase-query/question.md +0 -73
- package/src/core/experts/codebase-query/self-improve.md +0 -105
- package/src/core/experts/compliance/expertise.yaml +0 -101
- package/src/core/experts/compliance/question.md +0 -56
- package/src/core/experts/compliance/self-improve.md +0 -106
- package/src/core/experts/compliance/workflow.md +0 -184
- package/src/core/experts/database/expertise.yaml +0 -109
- package/src/core/experts/database/question.md +0 -74
- package/src/core/experts/database/self-improve.md +0 -121
- package/src/core/experts/database/workflow.md +0 -234
- package/src/core/experts/datamigration/expertise.yaml +0 -141
- package/src/core/experts/datamigration/question.md +0 -56
- package/src/core/experts/datamigration/self-improve.md +0 -106
- package/src/core/experts/datamigration/workflow.md +0 -184
- package/src/core/experts/design/expertise.yaml +0 -116
- package/src/core/experts/design/question.md +0 -56
- package/src/core/experts/design/self-improve.md +0 -106
- package/src/core/experts/design/workflow.md +0 -184
- package/src/core/experts/devops/expertise.yaml +0 -116
- package/src/core/experts/devops/question.md +0 -68
- package/src/core/experts/devops/self-improve.md +0 -102
- package/src/core/experts/devops/workflow.md +0 -142
- package/src/core/experts/documentation/expertise.yaml +0 -126
- package/src/core/experts/documentation/question.md +0 -41
- package/src/core/experts/documentation/self-improve.md +0 -45
- package/src/core/experts/documentation/workflow.md +0 -55
- package/src/core/experts/epic-planner/expertise.yaml +0 -144
- package/src/core/experts/epic-planner/question.md +0 -56
- package/src/core/experts/epic-planner/self-improve.md +0 -106
- package/src/core/experts/epic-planner/workflow.md +0 -184
- package/src/core/experts/integrations/expertise.yaml +0 -113
- package/src/core/experts/integrations/question.md +0 -74
- package/src/core/experts/integrations/self-improve.md +0 -151
- package/src/core/experts/integrations/workflow.md +0 -246
- package/src/core/experts/mentor/expertise.yaml +0 -125
- package/src/core/experts/mentor/question.md +0 -56
- package/src/core/experts/mentor/self-improve.md +0 -106
- package/src/core/experts/mentor/workflow.md +0 -184
- package/src/core/experts/mobile/expertise.yaml +0 -136
- package/src/core/experts/mobile/question.md +0 -72
- package/src/core/experts/mobile/self-improve.md +0 -140
- package/src/core/experts/mobile/workflow.md +0 -240
- package/src/core/experts/monitoring/expertise.yaml +0 -132
- package/src/core/experts/monitoring/question.md +0 -76
- package/src/core/experts/monitoring/self-improve.md +0 -150
- package/src/core/experts/monitoring/workflow.md +0 -264
- package/src/core/experts/performance/expertise.yaml +0 -68
- package/src/core/experts/performance/question.md +0 -41
- package/src/core/experts/performance/self-improve.md +0 -45
- package/src/core/experts/performance/workflow.md +0 -61
- package/src/core/experts/product/expertise.yaml +0 -143
- package/src/core/experts/product/question.md +0 -56
- package/src/core/experts/product/self-improve.md +0 -106
- package/src/core/experts/product/workflow.md +0 -184
- package/src/core/experts/qa/expertise.yaml +0 -110
- package/src/core/experts/qa/question.md +0 -56
- package/src/core/experts/qa/self-improve.md +0 -106
- package/src/core/experts/qa/workflow.md +0 -184
- package/src/core/experts/readme-updater/expertise.yaml +0 -141
- package/src/core/experts/readme-updater/question.md +0 -56
- package/src/core/experts/readme-updater/self-improve.md +0 -106
- package/src/core/experts/readme-updater/workflow.md +0 -184
- package/src/core/experts/refactor/expertise.yaml +0 -135
- package/src/core/experts/refactor/question.md +0 -41
- package/src/core/experts/refactor/self-improve.md +0 -45
- package/src/core/experts/refactor/workflow.md +0 -57
- package/src/core/experts/research/expertise.yaml +0 -143
- package/src/core/experts/research/question.md +0 -56
- package/src/core/experts/research/self-improve.md +0 -106
- package/src/core/experts/research/workflow.md +0 -184
- package/src/core/experts/security/expertise.yaml +0 -117
- package/src/core/experts/security/question.md +0 -77
- package/src/core/experts/security/self-improve.md +0 -102
- package/src/core/experts/security/workflow.md +0 -152
- package/src/core/experts/templates/expertise-template.yaml +0 -67
- package/src/core/experts/templates/question-template.md +0 -56
- package/src/core/experts/templates/self-improve-template.md +0 -106
- package/src/core/experts/templates/workflow-template.md +0 -184
- package/src/core/experts/testing/expertise.yaml +0 -112
- package/src/core/experts/testing/question.md +0 -68
- package/src/core/experts/testing/self-improve.md +0 -102
- package/src/core/experts/testing/workflow.md +0 -143
- package/src/core/experts/ui/expertise.yaml +0 -133
- package/src/core/experts/ui/question.md +0 -74
- package/src/core/experts/ui/self-improve.md +0 -122
- package/src/core/experts/ui/workflow.md +0 -262
- package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +0 -424
- package/src/core/knowledge/ads/ad-optimization-logic.md +0 -590
- package/src/core/knowledge/ads/ad-technical-specifications.md +0 -385
- package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +0 -506
- package/src/core/knowledge/ads/paid-advertising-research-2026.md +0 -445
- package/src/core/profiles/COMPARISON.md +0 -170
- package/src/core/profiles/README.md +0 -178
- package/src/core/profiles/claude-code.yaml +0 -111
- package/src/core/profiles/codex.yaml +0 -103
- package/src/core/profiles/cursor.yaml +0 -134
- package/src/core/profiles/examples.js +0 -250
- package/src/core/profiles/loader.js +0 -235
- package/src/core/profiles/windsurf.yaml +0 -159
- package/src/core/skills/_learnings/README.md +0 -91
- package/src/core/skills/_learnings/_template.yaml +0 -106
- package/src/core/skills/_learnings/code-review.yaml +0 -118
- package/src/core/skills/_learnings/commit.yaml +0 -69
- package/src/core/skills/_learnings/story-writer.yaml +0 -71
- package/src/core/teams/backend.json +0 -41
- package/src/core/teams/builder-validator.json +0 -51
- package/src/core/teams/code-review.json +0 -41
- package/src/core/teams/frontend.json +0 -41
- package/src/core/teams/fullstack.json +0 -41
- package/src/core/teams/logic-audit.json +0 -53
- package/src/core/teams/perf-audit.json +0 -71
- package/src/core/teams/qa.json +0 -41
- package/src/core/teams/security-audit.json +0 -71
- package/src/core/teams/solo.json +0 -35
- package/src/core/teams/test-audit.json +0 -71
- package/src/core/templates/CONTEXT.md.example +0 -49
- package/src/core/templates/README-template.md +0 -16
- package/src/core/templates/adr-template.md +0 -28
- package/src/core/templates/agent-coordination-pattern.md +0 -38
- package/src/core/templates/agent-profile-template.md +0 -51
- package/src/core/templates/agileflow-metadata.json +0 -150
- package/src/core/templates/browser-qa-spec.yaml +0 -94
- package/src/core/templates/ci-workflow.yml +0 -74
- package/src/core/templates/claude-settings.advanced.example.json +0 -75
- package/src/core/templates/claude-settings.example.json +0 -26
- package/src/core/templates/command-documentation.md +0 -187
- package/src/core/templates/command-prerequisites.yaml +0 -169
- package/src/core/templates/comms-note-template.md +0 -24
- package/src/core/templates/damage-control-patterns.yaml +0 -243
- package/src/core/templates/environment.json +0 -18
- package/src/core/templates/epic-template.md +0 -27
- package/src/core/templates/plan-template.md +0 -125
- package/src/core/templates/preserve-rules-common.md +0 -107
- package/src/core/templates/preserve-rules.json +0 -42
- package/src/core/templates/proactive-action-spec.md +0 -29
- package/src/core/templates/product-brief.md +0 -136
- package/src/core/templates/quality-gate-priorities.md +0 -34
- package/src/core/templates/research-template.md +0 -44
- package/src/core/templates/session-harness-protocol.md +0 -128
- package/src/core/templates/session-state.json +0 -56
- package/src/core/templates/story-lifecycle.md +0 -213
- package/src/core/templates/story-template.md +0 -92
- package/src/core/templates/tdd-test-template.js +0 -241
- package/src/core/templates/worktrees-guide.md +0 -231
- package/tools/agileflow-npx.js +0 -52
- package/tools/cli/agileflow-cli.js +0 -72
- package/tools/cli/commands/config.js +0 -285
- package/tools/cli/commands/doctor.js +0 -496
- package/tools/cli/commands/list.js +0 -385
- package/tools/cli/commands/session.js +0 -1176
- package/tools/cli/commands/setup.js +0 -255
- package/tools/cli/commands/status.js +0 -101
- package/tools/cli/commands/tui.js +0 -56
- package/tools/cli/commands/uninstall.js +0 -155
- package/tools/cli/commands/update.js +0 -299
- package/tools/cli/installers/core/installer.js +0 -892
- package/tools/cli/installers/ide/_base-ide.js +0 -518
- package/tools/cli/installers/ide/_interface.js +0 -238
- package/tools/cli/installers/ide/claude-code.js +0 -432
- package/tools/cli/installers/ide/codex.js +0 -426
- package/tools/cli/installers/ide/cursor.js +0 -217
- package/tools/cli/installers/ide/manager.js +0 -222
- package/tools/cli/installers/ide/windsurf.js +0 -282
- package/tools/cli/lib/command-context.js +0 -382
- package/tools/cli/lib/config-manager.js +0 -446
- package/tools/cli/lib/content-injector.js +0 -969
- package/tools/cli/lib/content-transformer.js +0 -496
- package/tools/cli/lib/docs-setup.js +0 -464
- package/tools/cli/lib/error-handler.js +0 -165
- package/tools/cli/lib/ide-error-factory.js +0 -421
- package/tools/cli/lib/ide-errors.js +0 -367
- package/tools/cli/lib/ide-generator.js +0 -357
- package/tools/cli/lib/ide-health-monitor.js +0 -364
- package/tools/cli/lib/ide-registry.js +0 -297
- package/tools/cli/lib/npm-utils.js +0 -103
- package/tools/cli/lib/self-update.js +0 -148
- package/tools/cli/lib/ui.js +0 -211
- package/tools/cli/lib/utils.js +0 -87
- package/tools/cli/lib/validation-middleware.js +0 -491
- package/tools/cli/lib/version-checker.js +0 -95
- package/tools/postinstall.js +0 -190
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Plan, build, and improve accessibility with expertise-driven workflow
|
|
3
|
-
argument-hint: <accessibility task description>
|
|
4
|
-
variables:
|
|
5
|
-
EXPERTISE_FILE: packages/cli/src/core/experts/accessibility/expertise.yaml
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Accessibility Expert: Plan → Build → Self-Improve
|
|
9
|
-
|
|
10
|
-
## Step 1: PLAN
|
|
11
|
-
|
|
12
|
-
### 1.1 Load Expertise
|
|
13
|
-
Read `{{EXPERTISE_FILE}}` - know WCAG requirements, ARIA patterns.
|
|
14
|
-
|
|
15
|
-
### 1.2 Audit First
|
|
16
|
-
```bash
|
|
17
|
-
# Run accessibility audit
|
|
18
|
-
npx axe --dir src/
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
### 1.3 Create Plan
|
|
22
|
-
```markdown
|
|
23
|
-
## Accessibility Plan
|
|
24
|
-
- Issue identified: [WCAG criterion]
|
|
25
|
-
- Component affected: [name]
|
|
26
|
-
- Fix approach: [pattern]
|
|
27
|
-
- Testing: [screen reader, keyboard]
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Step 2: BUILD
|
|
31
|
-
|
|
32
|
-
### 2.1 Execute Plan
|
|
33
|
-
- Add ARIA attributes
|
|
34
|
-
- Implement keyboard navigation
|
|
35
|
-
- Ensure color contrast
|
|
36
|
-
|
|
37
|
-
### 2.2 Capture Changes
|
|
38
|
-
```bash
|
|
39
|
-
git diff --name-only | grep -E "(component|tsx)"
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### 2.3 Validate
|
|
43
|
-
- Axe audit passes
|
|
44
|
-
- Keyboard navigation works
|
|
45
|
-
- Screen reader announces correctly
|
|
46
|
-
|
|
47
|
-
## Step 3: SELF-IMPROVE
|
|
48
|
-
|
|
49
|
-
### 3.1 Update Expertise
|
|
50
|
-
- Update component requirements
|
|
51
|
-
- Note new ARIA patterns
|
|
52
|
-
- Add learnings
|
|
53
|
-
|
|
54
|
-
### 3.2 Save
|
|
55
|
-
Update `{{EXPERTISE_FILE}}` with learnings.
|
|
56
|
-
|
|
57
|
-
## Accessibility Request
|
|
58
|
-
|
|
59
|
-
{{argument}}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
# ADR Writer Expert - Domain Knowledge
|
|
2
|
-
# This file is the agent's "mental model" of the ADR domain
|
|
3
|
-
# AUTO-UPDATED by self-improve.md after completing work
|
|
4
|
-
|
|
5
|
-
domain: adr-writer
|
|
6
|
-
last_updated: 2025-12-21
|
|
7
|
-
version: 1.1
|
|
8
|
-
|
|
9
|
-
# AgileFlow-specific ADR patterns (learned from actual codebase)
|
|
10
|
-
files:
|
|
11
|
-
decisions:
|
|
12
|
-
- path: docs/03-decisions/
|
|
13
|
-
purpose: "Architecture Decision Records"
|
|
14
|
-
conventions: "adr-NNNN-slug.md naming (e.g., adr-0001-agent-expert-system.md)"
|
|
15
|
-
example: "adr-0001-agent-expert-system.md"
|
|
16
|
-
- path: docs/03-decisions/README.md
|
|
17
|
-
purpose: "ADR index listing all decisions"
|
|
18
|
-
|
|
19
|
-
research:
|
|
20
|
-
- path: docs/10-research/
|
|
21
|
-
purpose: "Research supporting ADR alternatives"
|
|
22
|
-
naming: "YYYYMMDD-slug.md format"
|
|
23
|
-
- path: docs/10-research/README.md
|
|
24
|
-
purpose: "Research index"
|
|
25
|
-
|
|
26
|
-
context:
|
|
27
|
-
- path: CLAUDE.md
|
|
28
|
-
purpose: "Project context informing decisions (internal)"
|
|
29
|
-
- path: docs/04-architecture/
|
|
30
|
-
purpose: "Architecture documentation"
|
|
31
|
-
- path: docs/05-epics/
|
|
32
|
-
purpose: "Epics link to ADRs for context"
|
|
33
|
-
|
|
34
|
-
relationships:
|
|
35
|
-
- parent: research
|
|
36
|
-
child: adrs
|
|
37
|
-
type: informs
|
|
38
|
-
notes: "Research provides alternatives for ADRs (see ADR-0001 referencing research)"
|
|
39
|
-
- parent: adrs
|
|
40
|
-
child: epics
|
|
41
|
-
type: linked_from
|
|
42
|
-
notes: "Epics reference ADRs (EP-0001 → ADR-0001)"
|
|
43
|
-
- parent: adrs
|
|
44
|
-
child: implementation
|
|
45
|
-
type: constrains
|
|
46
|
-
notes: "ADRs constrain implementation choices"
|
|
47
|
-
- parent: adrs
|
|
48
|
-
child: superseding_adrs
|
|
49
|
-
type: superseded_by
|
|
50
|
-
notes: "Old ADRs can be superseded by new ones"
|
|
51
|
-
|
|
52
|
-
patterns:
|
|
53
|
-
- name: ADR Structure (AgileFlow)
|
|
54
|
-
description: "Status, Date, Decision Makers, Epic link, then sections"
|
|
55
|
-
location: docs/03-decisions/adr-0001-agent-expert-system.md
|
|
56
|
-
sections:
|
|
57
|
-
- "Context (problem statement with research foundation)"
|
|
58
|
-
- "Decision (what we're doing)"
|
|
59
|
-
- "Options Considered (3-4 alternatives with rationale)"
|
|
60
|
-
- "Consequences (Benefits and Trade-offs)"
|
|
61
|
-
- "Implementation Plan (phased approach)"
|
|
62
|
-
- "Risks and Mitigations (table format)"
|
|
63
|
-
- "Success Criteria (qualitative and quantitative)"
|
|
64
|
-
- "Related Documents (links to epic, research)"
|
|
65
|
-
|
|
66
|
-
- name: ADR Header Format
|
|
67
|
-
description: "Markdown frontmatter style at top"
|
|
68
|
-
location: docs/03-decisions/
|
|
69
|
-
example: |
|
|
70
|
-
# ADR-0001: Agent Expert System
|
|
71
|
-
**Status**: Accepted
|
|
72
|
-
**Date**: 2025-12-16
|
|
73
|
-
**Decision Makers**: Development Team
|
|
74
|
-
**Epic**: [EP-0001](../05-epics/EP-0001-agent-expert-pilot.md)
|
|
75
|
-
|
|
76
|
-
- name: Options Considered Format
|
|
77
|
-
description: "Each option with brief rationale"
|
|
78
|
-
location: docs/03-decisions/
|
|
79
|
-
example: |
|
|
80
|
-
### Option 1: Single Global Expert (Rejected)
|
|
81
|
-
- Description
|
|
82
|
-
- **Rejected**: Reason why not selected
|
|
83
|
-
|
|
84
|
-
- name: Risks Table Format
|
|
85
|
-
description: "Risk and Mitigation columns"
|
|
86
|
-
location: docs/03-decisions/
|
|
87
|
-
example: "| Stale expertise | Mandatory validation step |"
|
|
88
|
-
|
|
89
|
-
- name: Research-First ADR
|
|
90
|
-
description: "Always reference research that informed decision"
|
|
91
|
-
location: docs/10-research/
|
|
92
|
-
example: "See: docs/10-research/20251216-agent-experts-self-improving-agents.md"
|
|
93
|
-
|
|
94
|
-
conventions:
|
|
95
|
-
- "Research alternatives before writing ADR"
|
|
96
|
-
- "Link ADR to epic that drove the decision"
|
|
97
|
-
- "Document 3-4 alternatives with rationale for rejection/deferral"
|
|
98
|
-
- "Include Implementation Plan with phases"
|
|
99
|
-
- "Add Risks and Mitigations table"
|
|
100
|
-
- "Define Success Criteria (qualitative + quantitative)"
|
|
101
|
-
- "Link to Related Documents (epic, research, other ADRs)"
|
|
102
|
-
- "Use lowercase-hyphenated naming: adr-0001-slug.md"
|
|
103
|
-
|
|
104
|
-
adr_statuses:
|
|
105
|
-
proposed: "Under review, not yet approved"
|
|
106
|
-
accepted: "Approved, should be followed"
|
|
107
|
-
deprecated: "No longer recommended"
|
|
108
|
-
superseded: "Replaced by newer ADR"
|
|
109
|
-
|
|
110
|
-
decision_categories:
|
|
111
|
-
- "Technology choices (framework, database, language)"
|
|
112
|
-
- "Architecture patterns (Agent Expert system)"
|
|
113
|
-
- "Data modeling (schema design, caching)"
|
|
114
|
-
- "Security approaches (auth, encryption)"
|
|
115
|
-
- "Infrastructure (hosting, CI/CD)"
|
|
116
|
-
- "Development practices (testing, branching)"
|
|
117
|
-
|
|
118
|
-
# Learned from AgileFlow codebase exploration
|
|
119
|
-
learnings:
|
|
120
|
-
- date: 2025-12-21
|
|
121
|
-
context: "Analyzed ADR-0001 structure"
|
|
122
|
-
insight: "ADRs have rich structure: Status/Date/Epic header, Context with research, Decision, Options Considered, Consequences, Implementation Plan, Risks table, Success Criteria, Related Docs"
|
|
123
|
-
source: "docs/03-decisions/adr-0001-agent-expert-system.md"
|
|
124
|
-
|
|
125
|
-
- date: 2025-12-21
|
|
126
|
-
context: "Analyzed ADR-Epic relationship"
|
|
127
|
-
insight: "ADRs link to epics that drove the decision; epics link back to ADRs for context"
|
|
128
|
-
source: "docs/03-decisions/adr-0001-agent-expert-system.md, docs/05-epics/ep-0001-agent-expert-pilot.md"
|
|
129
|
-
|
|
130
|
-
- date: 2025-12-21
|
|
131
|
-
context: "Analyzed Options Considered format"
|
|
132
|
-
insight: "Options include: Selected, Rejected (with reason), Deferred (for future consideration)"
|
|
133
|
-
source: "docs/03-decisions/adr-0001-agent-expert-system.md"
|
|
134
|
-
|
|
135
|
-
- date: 2025-12-21
|
|
136
|
-
context: "Analyzed Implementation Plan"
|
|
137
|
-
insight: "ADRs include phased implementation: Phase 1 (Pilot), Phase 2 (Full Rollout), Phase 3 (Refinement) with checkboxes"
|
|
138
|
-
source: "docs/03-decisions/adr-0001-agent-expert-system.md"
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Ask questions about {{DOMAIN}} - uses expertise for fast, accurate answers
|
|
3
|
-
argument-hint: <your question>
|
|
4
|
-
variables:
|
|
5
|
-
EXPERTISE_FILE: packages/cli/src/core/experts/{{DOMAIN}}/expertise.yaml
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# {{DOMAIN_TITLE}} Expert - Question
|
|
9
|
-
|
|
10
|
-
You are an expert on the {{DOMAIN}} domain for this codebase. You maintain a mental model (expertise file) that helps you answer questions quickly and accurately.
|
|
11
|
-
|
|
12
|
-
## CRITICAL: Expertise-First Workflow
|
|
13
|
-
|
|
14
|
-
**You MUST follow this workflow. Do not skip steps.**
|
|
15
|
-
|
|
16
|
-
### Step 1: Load Your Expertise
|
|
17
|
-
Read your expertise file at `{{EXPERTISE_FILE}}` FIRST, before doing anything else.
|
|
18
|
-
|
|
19
|
-
This file contains:
|
|
20
|
-
- Key file locations you already know
|
|
21
|
-
- Relationships between entities
|
|
22
|
-
- Patterns and conventions to follow
|
|
23
|
-
- Recent learnings from past work
|
|
24
|
-
|
|
25
|
-
### Step 2: Validate Against Actual Code
|
|
26
|
-
Your expertise is a mental model, NOT the source of truth. The code is always the source of truth.
|
|
27
|
-
|
|
28
|
-
For each relevant piece of expertise:
|
|
29
|
-
1. Check if the file/pattern still exists
|
|
30
|
-
2. Verify your understanding matches current code
|
|
31
|
-
3. Note any discrepancies (for self-improve later)
|
|
32
|
-
|
|
33
|
-
### Step 3: Answer the Question
|
|
34
|
-
With your validated mental model:
|
|
35
|
-
1. Answer based on your expertise + validation
|
|
36
|
-
2. Be specific - reference exact file paths
|
|
37
|
-
3. If expertise was wrong, note it in your answer
|
|
38
|
-
4. If you don't know, say so (don't guess)
|
|
39
|
-
|
|
40
|
-
## Key Principles
|
|
41
|
-
|
|
42
|
-
- **Speed**: Use expertise to skip unnecessary searching
|
|
43
|
-
- **Accuracy**: Always validate against actual code
|
|
44
|
-
- **Honesty**: Acknowledge when expertise is stale
|
|
45
|
-
- **Learning**: Note discrepancies for self-improve
|
|
46
|
-
|
|
47
|
-
## Anti-Patterns to Avoid
|
|
48
|
-
|
|
49
|
-
- Reading expertise but ignoring it
|
|
50
|
-
- Searching the codebase before checking expertise
|
|
51
|
-
- Trusting expertise blindly without validation
|
|
52
|
-
- Giving vague answers when expertise has specifics
|
|
53
|
-
|
|
54
|
-
## Question
|
|
55
|
-
|
|
56
|
-
{{argument}}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Update {{DOMAIN}} expertise after making changes
|
|
3
|
-
argument-hint: [optional context about what changed]
|
|
4
|
-
variables:
|
|
5
|
-
EXPERTISE_FILE: packages/cli/src/core/experts/{{DOMAIN}}/expertise.yaml
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# {{DOMAIN_TITLE}} Expert - Self-Improve
|
|
9
|
-
|
|
10
|
-
You are updating your mental model (expertise file) to reflect changes in the codebase. This keeps your expertise accurate and useful for future tasks.
|
|
11
|
-
|
|
12
|
-
## CRITICAL: Self-Improve Workflow
|
|
13
|
-
|
|
14
|
-
### Step 1: Read Current Expertise
|
|
15
|
-
Load your expertise file at `{{EXPERTISE_FILE}}`.
|
|
16
|
-
|
|
17
|
-
Understand what you currently know about:
|
|
18
|
-
- File locations
|
|
19
|
-
- Relationships
|
|
20
|
-
- Patterns
|
|
21
|
-
- Conventions
|
|
22
|
-
|
|
23
|
-
### Step 2: Analyze What Changed
|
|
24
|
-
Identify changes using one of these methods:
|
|
25
|
-
|
|
26
|
-
**If git diff available:**
|
|
27
|
-
```bash
|
|
28
|
-
git diff HEAD~1 --name-only | grep -E "{{DOMAIN_PATTERN}}"
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
**If context provided:**
|
|
32
|
-
Use the argument/context to understand what changed.
|
|
33
|
-
|
|
34
|
-
**If neither:**
|
|
35
|
-
Compare expertise file against actual codebase state.
|
|
36
|
-
|
|
37
|
-
### Step 3: Update Expertise
|
|
38
|
-
|
|
39
|
-
**Update `files` section if:**
|
|
40
|
-
- New files were added to the domain
|
|
41
|
-
- Files were moved or renamed
|
|
42
|
-
- Key exports changed
|
|
43
|
-
- Purpose or conventions changed
|
|
44
|
-
|
|
45
|
-
**Update `relationships` section if:**
|
|
46
|
-
- New relationships were created
|
|
47
|
-
- Existing relationships changed
|
|
48
|
-
- Relationships were removed
|
|
49
|
-
|
|
50
|
-
**Update `patterns` section if:**
|
|
51
|
-
- New patterns were introduced
|
|
52
|
-
- Existing patterns were modified
|
|
53
|
-
- Better patterns discovered
|
|
54
|
-
|
|
55
|
-
**Update `conventions` section if:**
|
|
56
|
-
- New conventions established
|
|
57
|
-
- Existing conventions changed
|
|
58
|
-
- Conventions deprecated
|
|
59
|
-
|
|
60
|
-
**ALWAYS add to `learnings` section:**
|
|
61
|
-
```yaml
|
|
62
|
-
learnings:
|
|
63
|
-
- date: {{TODAY}}
|
|
64
|
-
insight: "Brief description of what was learned"
|
|
65
|
-
files_affected: [list, of, files]
|
|
66
|
-
context: "What triggered this learning (story ID, task, etc.)"
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Step 4: Validate Updated Model
|
|
70
|
-
After updating, verify:
|
|
71
|
-
1. All file paths in expertise still exist
|
|
72
|
-
2. Relationships match actual code structure
|
|
73
|
-
3. Patterns are still used as described
|
|
74
|
-
4. No contradictions in the expertise file
|
|
75
|
-
|
|
76
|
-
### Step 5: Write Updated Expertise
|
|
77
|
-
Save the updated expertise.yaml file.
|
|
78
|
-
|
|
79
|
-
## Rules for Self-Improve
|
|
80
|
-
|
|
81
|
-
### DO:
|
|
82
|
-
- Add only verified information
|
|
83
|
-
- Remove stale/incorrect entries
|
|
84
|
-
- Keep entries focused on {{DOMAIN}} domain only
|
|
85
|
-
- Use specific file paths, not vague descriptions
|
|
86
|
-
- Date all learnings entries
|
|
87
|
-
|
|
88
|
-
### DON'T:
|
|
89
|
-
- Add speculative information
|
|
90
|
-
- Keep outdated entries "just in case"
|
|
91
|
-
- Add knowledge from other domains
|
|
92
|
-
- Make expertise file too large (keep it focused)
|
|
93
|
-
- Forget to update last_updated timestamp
|
|
94
|
-
|
|
95
|
-
## Quality Checklist
|
|
96
|
-
|
|
97
|
-
Before saving:
|
|
98
|
-
- [ ] `last_updated` timestamp is current
|
|
99
|
-
- [ ] All file paths verified to exist
|
|
100
|
-
- [ ] New learnings entry added with today's date
|
|
101
|
-
- [ ] No duplicate entries
|
|
102
|
-
- [ ] Expertise stays under 200 lines (focused)
|
|
103
|
-
|
|
104
|
-
## Context
|
|
105
|
-
|
|
106
|
-
{{argument}}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Plan, build, and improve {{DOMAIN}} feature with expertise-driven workflow
|
|
3
|
-
argument-hint: <feature description>
|
|
4
|
-
variables:
|
|
5
|
-
EXPERTISE_FILE: packages/cli/src/core/experts/{{DOMAIN}}/expertise.yaml
|
|
6
|
-
DOMAIN_PATTERN: "{{DOMAIN_GLOB_PATTERN}}"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# {{DOMAIN_TITLE}} Expert: Plan → Build → Self-Improve
|
|
10
|
-
|
|
11
|
-
You are executing a complete feature implementation with automatic knowledge capture. This workflow ensures you leverage existing expertise, execute efficiently, and capture learnings for future tasks.
|
|
12
|
-
|
|
13
|
-
## CRITICAL: Three-Step Workflow
|
|
14
|
-
|
|
15
|
-
**You MUST follow this exact sequence. Do not skip steps.**
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Step 1: PLAN (Expertise-Informed)
|
|
20
|
-
|
|
21
|
-
### 1.1 Load Your Expertise
|
|
22
|
-
Read your expertise file at `{{EXPERTISE_FILE}}` FIRST.
|
|
23
|
-
|
|
24
|
-
Extract from it:
|
|
25
|
-
- Relevant file locations for this feature
|
|
26
|
-
- Existing patterns you should follow
|
|
27
|
-
- Relationships to consider
|
|
28
|
-
- Recent learnings that might apply
|
|
29
|
-
|
|
30
|
-
### 1.2 Validate Against Codebase
|
|
31
|
-
Before planning, verify your expertise is accurate:
|
|
32
|
-
- Check that referenced files still exist
|
|
33
|
-
- Confirm patterns match current code
|
|
34
|
-
- Note any discrepancies
|
|
35
|
-
|
|
36
|
-
### 1.3 Create Implementation Plan
|
|
37
|
-
Based on validated expertise, create a specific plan:
|
|
38
|
-
|
|
39
|
-
```markdown
|
|
40
|
-
## Implementation Plan
|
|
41
|
-
|
|
42
|
-
### Files to Create/Modify
|
|
43
|
-
1. [exact file path] - [what changes]
|
|
44
|
-
2. [exact file path] - [what changes]
|
|
45
|
-
|
|
46
|
-
### Pattern to Follow
|
|
47
|
-
[Reference specific pattern from expertise]
|
|
48
|
-
|
|
49
|
-
### Dependencies
|
|
50
|
-
[What must exist before this work]
|
|
51
|
-
|
|
52
|
-
### Validation
|
|
53
|
-
[How to verify the implementation works]
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
**Output**: A detailed plan with exact file paths and specific changes.
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Step 2: BUILD (Execute Plan)
|
|
61
|
-
|
|
62
|
-
### 2.1 Pre-Build Verification
|
|
63
|
-
Before making changes:
|
|
64
|
-
- Ensure all dependencies from plan exist
|
|
65
|
-
- Verify you have the required permissions/access
|
|
66
|
-
- Check for any blocking issues
|
|
67
|
-
|
|
68
|
-
### 2.2 Execute the Plan
|
|
69
|
-
Follow your implementation plan exactly:
|
|
70
|
-
- Create/modify files in the specified order
|
|
71
|
-
- Apply patterns consistently
|
|
72
|
-
- Add appropriate tests if applicable
|
|
73
|
-
|
|
74
|
-
### 2.3 Capture Changes
|
|
75
|
-
After building, document what changed:
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
# Capture the diff for self-improve
|
|
79
|
-
git diff --name-only
|
|
80
|
-
git diff HEAD
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### 2.4 Validate Build
|
|
84
|
-
Verify the implementation:
|
|
85
|
-
- Run relevant tests
|
|
86
|
-
- Check for type/lint errors
|
|
87
|
-
- Verify the feature works as intended
|
|
88
|
-
|
|
89
|
-
**Output**: Working code changes with captured diff.
|
|
90
|
-
|
|
91
|
-
**On Failure**: Stop and report the error. Do NOT proceed to self-improve.
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## Step 3: SELF-IMPROVE (Update Expertise)
|
|
96
|
-
|
|
97
|
-
**ONLY run this step if Step 2 succeeded.**
|
|
98
|
-
|
|
99
|
-
### 3.1 Analyze What Changed
|
|
100
|
-
Review the git diff and identify:
|
|
101
|
-
- New files added to your domain
|
|
102
|
-
- New patterns introduced
|
|
103
|
-
- Relationships created or changed
|
|
104
|
-
- Conventions established
|
|
105
|
-
|
|
106
|
-
### 3.2 Update Expertise File
|
|
107
|
-
Read and update `{{EXPERTISE_FILE}}`:
|
|
108
|
-
|
|
109
|
-
**Update `files` section if:**
|
|
110
|
-
- New files were added
|
|
111
|
-
- Files were moved or renamed
|
|
112
|
-
|
|
113
|
-
**Update `relationships` section if:**
|
|
114
|
-
- New entities or relationships created
|
|
115
|
-
- Cardinality changed
|
|
116
|
-
|
|
117
|
-
**Update `patterns` section if:**
|
|
118
|
-
- New implementation patterns used
|
|
119
|
-
- Better approaches discovered
|
|
120
|
-
|
|
121
|
-
**Update `conventions` section if:**
|
|
122
|
-
- New naming conventions applied
|
|
123
|
-
- New structural conventions established
|
|
124
|
-
|
|
125
|
-
### 3.3 Add Learnings Entry
|
|
126
|
-
**ALWAYS** add a new learnings entry:
|
|
127
|
-
|
|
128
|
-
```yaml
|
|
129
|
-
learnings:
|
|
130
|
-
- date: {{TODAY}}
|
|
131
|
-
insight: "Brief description of what was learned"
|
|
132
|
-
files_affected:
|
|
133
|
-
- path/to/file1
|
|
134
|
-
- path/to/file2
|
|
135
|
-
context: "Feature: {{argument}}"
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### 3.4 Validate Updated Expertise
|
|
139
|
-
Before saving:
|
|
140
|
-
- [ ] All file paths exist
|
|
141
|
-
- [ ] Relationships match code
|
|
142
|
-
- [ ] `last_updated` is current
|
|
143
|
-
- [ ] No duplicates added
|
|
144
|
-
- [ ] File stays focused (<200 lines)
|
|
145
|
-
|
|
146
|
-
### 3.5 Save Expertise
|
|
147
|
-
Write the updated expertise.yaml file.
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## Error Handling
|
|
152
|
-
|
|
153
|
-
### If Plan Step Fails
|
|
154
|
-
- Report what information is missing
|
|
155
|
-
- Suggest how to resolve (update expertise, provide context)
|
|
156
|
-
- Do NOT proceed to build
|
|
157
|
-
|
|
158
|
-
### If Build Step Fails
|
|
159
|
-
- Report the specific error
|
|
160
|
-
- Capture partial progress if any
|
|
161
|
-
- Do NOT proceed to self-improve
|
|
162
|
-
- Consider if expertise needs correction
|
|
163
|
-
|
|
164
|
-
### If Self-Improve Step Fails
|
|
165
|
-
- Report what couldn't be updated
|
|
166
|
-
- Save what you can
|
|
167
|
-
- Build step is still valid
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## Context Protection Notes
|
|
172
|
-
|
|
173
|
-
This workflow is designed for context efficiency:
|
|
174
|
-
- **Orchestrator**: Passes minimal data between steps
|
|
175
|
-
- **Sub-agents**: Each step can run in isolated context if needed
|
|
176
|
-
- **Token efficiency**: Expertise file provides compressed knowledge
|
|
177
|
-
|
|
178
|
-
For large features, consider running each step as a separate sub-agent invocation.
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## Feature Request
|
|
183
|
-
|
|
184
|
-
{{argument}}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
# Analytics Expert - Domain Knowledge
|
|
2
|
-
# This file is the agent's "mental model" of the analytics domain
|
|
3
|
-
# AUTO-UPDATED by self-improve.md after completing work
|
|
4
|
-
|
|
5
|
-
domain: analytics
|
|
6
|
-
last_updated: 2025-12-21
|
|
7
|
-
version: 1.1
|
|
8
|
-
|
|
9
|
-
files:
|
|
10
|
-
tracking:
|
|
11
|
-
- path: src/analytics/
|
|
12
|
-
purpose: "Analytics tracking implementation"
|
|
13
|
-
key_exports: [track, identify, page]
|
|
14
|
-
conventions: "Single analytics facade for all tracking"
|
|
15
|
-
- path: src/analytics/events/
|
|
16
|
-
purpose: "Event definitions and schemas"
|
|
17
|
-
conventions: "One file per event category"
|
|
18
|
-
- path: src/analytics/providers/
|
|
19
|
-
purpose: "Analytics provider integrations (Segment, Amplitude)"
|
|
20
|
-
conventions: "Named *Provider.ts"
|
|
21
|
-
|
|
22
|
-
schemas:
|
|
23
|
-
- path: src/analytics/schemas/
|
|
24
|
-
purpose: "Event schema definitions for validation"
|
|
25
|
-
conventions: "JSON Schema or Zod schemas"
|
|
26
|
-
- path: src/analytics/events/catalog.ts
|
|
27
|
-
purpose: "Master event catalog with all tracked events"
|
|
28
|
-
conventions: "Exported EVENT_CATALOG constant"
|
|
29
|
-
|
|
30
|
-
dashboards:
|
|
31
|
-
- path: docs/analytics/
|
|
32
|
-
purpose: "Dashboard specifications and metric definitions"
|
|
33
|
-
conventions: "Markdown documentation"
|
|
34
|
-
- path: docs/analytics/events.md
|
|
35
|
-
purpose: "Event tracking documentation"
|
|
36
|
-
- path: docs/analytics/metrics.md
|
|
37
|
-
purpose: "Key business metrics definitions"
|
|
38
|
-
|
|
39
|
-
privacy:
|
|
40
|
-
- path: src/analytics/consent.ts
|
|
41
|
-
purpose: "GDPR consent management"
|
|
42
|
-
conventions: "Check consent before tracking"
|
|
43
|
-
- path: src/analytics/privacy.ts
|
|
44
|
-
purpose: "PII filtering and anonymization"
|
|
45
|
-
conventions: "Strip PII before sending events"
|
|
46
|
-
|
|
47
|
-
relationships:
|
|
48
|
-
- parent: tracking_facade
|
|
49
|
-
child: providers
|
|
50
|
-
type: routes_to
|
|
51
|
-
notes: "Facade routes events to configured providers"
|
|
52
|
-
- parent: events
|
|
53
|
-
child: schemas
|
|
54
|
-
type: validated_by
|
|
55
|
-
notes: "Events validated against schemas before sending"
|
|
56
|
-
- parent: ui_components
|
|
57
|
-
child: tracking
|
|
58
|
-
type: calls
|
|
59
|
-
notes: "UI components call tracking facade"
|
|
60
|
-
- parent: api_endpoints
|
|
61
|
-
child: tracking
|
|
62
|
-
type: calls
|
|
63
|
-
notes: "Backend also tracks server-side events"
|
|
64
|
-
|
|
65
|
-
patterns:
|
|
66
|
-
- name: Event Tracking Facade
|
|
67
|
-
description: "Single interface for all analytics tracking"
|
|
68
|
-
location: src/analytics/
|
|
69
|
-
example: |
|
|
70
|
-
analytics.track('button_clicked', { button_name: 'signup' });
|
|
71
|
-
analytics.identify(userId, { plan: 'pro' });
|
|
72
|
-
analytics.page('landing');
|
|
73
|
-
|
|
74
|
-
- name: Event Schema Validation
|
|
75
|
-
description: "Validate events against schema before sending"
|
|
76
|
-
location: src/analytics/schemas/
|
|
77
|
-
example: |
|
|
78
|
-
const schema = z.object({
|
|
79
|
-
event_name: z.string(),
|
|
80
|
-
properties: z.object({ ... })
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
- name: Consent-First Tracking
|
|
84
|
-
description: "Check GDPR consent before any tracking"
|
|
85
|
-
location: src/analytics/consent.ts
|
|
86
|
-
example: |
|
|
87
|
-
if (hasConsent('analytics')) {
|
|
88
|
-
analytics.track(event);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
- name: Event Naming Convention
|
|
92
|
-
description: "object_action format in snake_case"
|
|
93
|
-
location: src/analytics/events/
|
|
94
|
-
example: "button_clicked, form_submitted, page_viewed"
|
|
95
|
-
|
|
96
|
-
- name: Anonymous User Tracking
|
|
97
|
-
description: "Track anonymous users with session ID, not PII"
|
|
98
|
-
location: src/analytics/
|
|
99
|
-
example: "Use anonymous_id until user identifies"
|
|
100
|
-
|
|
101
|
-
conventions:
|
|
102
|
-
- "NEVER track PII (email, name, phone) in event properties"
|
|
103
|
-
- "ALWAYS check consent before tracking (GDPR/CCPA)"
|
|
104
|
-
- "Use object_action naming: button_clicked, form_submitted"
|
|
105
|
-
- "Use snake_case for event names and properties"
|
|
106
|
-
- "Validate events against schema before sending"
|
|
107
|
-
- "Include timestamp, session_id, anonymous_id with every event"
|
|
108
|
-
- "Document all events in event catalog"
|
|
109
|
-
- "Test tracking in development before production"
|
|
110
|
-
|
|
111
|
-
# Learnings (trimmed - keep 2 most actionable)
|
|
112
|
-
learnings:
|
|
113
|
-
- date: 2025-12-21
|
|
114
|
-
context: "Expertise metrics"
|
|
115
|
-
insight: "scripts/expertise-metrics.sh analyzes expertise.yaml files for health: total experts, learnings count, staleness distribution"
|
|
116
|
-
|
|
117
|
-
- date: 2025-12-21
|
|
118
|
-
context: "Story metrics from status.json"
|
|
119
|
-
insight: "Parse status.json for: completion %, stories by status/epic, WIP count, average story age"
|