57 lines
2.1 KiB
YAML
57 lines
2.1 KiB
YAML
name: detect-ghost-features
|
|
description: "Reverse gap analysis: Find functionality in codebase that has no corresponding story (vibe-coded or undocumented features). Propose backfill stories."
|
|
author: "BMad"
|
|
version: "1.0.0" # Who you gonna call? GHOST-FEATURE-BUSTERS! 👻
|
|
|
|
# Critical variables from config
|
|
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
|
output_folder: "{config_source}:output_folder"
|
|
sprint_artifacts: "{output_folder}/sprint-artifacts"
|
|
sprint_status: "{output_folder}/sprint-status.yaml"
|
|
|
|
# Input parameters
|
|
epic_number: "{epic_number}" # Optional: Limit to specific epic (e.g., "2")
|
|
scan_scope: "sprint" # "sprint" | "epic" | "codebase"
|
|
create_backfill_stories: true # Propose backfill stories for orphans
|
|
|
|
# Detection settings
|
|
detection:
|
|
scan_for:
|
|
components: true # React/Vue/Angular components
|
|
api_endpoints: true # Routes, controllers, handlers
|
|
database_tables: true # Migrations, schema
|
|
services: true # Services, modules, utilities
|
|
models: true # Data models, entities
|
|
ui_pages: true # Pages, screens, views
|
|
|
|
ignore_patterns:
|
|
- "**/node_modules/**"
|
|
- "**/dist/**"
|
|
- "**/build/**"
|
|
- "**/*.test.*"
|
|
- "**/*.spec.*"
|
|
- "**/migrations/**" # Migrations are referenced collectively, not per-story
|
|
|
|
# What counts as "documented"?
|
|
documented_if:
|
|
mentioned_in_file_list: true # Story File List mentions it
|
|
mentioned_in_tasks: true # Task description mentions it
|
|
mentioned_in_acs: true # AC mentions the feature
|
|
file_committed_in_story_commit: true # Git history shows it in story commit
|
|
|
|
# Backfill story settings
|
|
backfill:
|
|
auto_create: false # Require confirmation before creating each
|
|
add_to_sprint_status: true # Add to sprint as "backlog"
|
|
mark_as_backfill: true # Add note: "Backfill story documenting existing code"
|
|
run_gap_analysis: false # Don't run gap (we know it exists)
|
|
estimate_effort: true # Estimate how complex the feature is
|
|
|
|
# Output settings
|
|
output:
|
|
create_report: true # Generate orphaned-features-report.md
|
|
group_by_category: true # Group by component/api/db/etc
|
|
suggest_epic_assignment: true # Suggest which epic orphans belong to
|
|
|
|
standalone: true
|