@startuml directory-structure !theme plain title CascadingDev Project Directory Structure folder "CascadingDev Repository" { folder "automation/" as repo_auto #LightBlue { file "runner.py" as runner #SkyBlue file "config.py" as config #SkyBlue file "patcher.py" as patcher #SkyBlue file "workflow.py" as workflow #SkyBlue file "agents.py" as agents #SkyBlue file "summary.py" as summary #SkyBlue file "README.md" as auto_readme } folder "assets/" #LightGreen { folder "hooks/" { file "pre-commit" #LightCoral } folder "templates/" { file "feature_request.md" file "feature.discussion.md" file "feature.discussion.sum.md" folder "rules/" { file "root.ai-rules.yml" file "features.ai-rules.yml" } } } folder "tests/" #LightYellow { file "test_workflow.py" file "test_config.py" file "test_patcher.py" file "test_runner.py" } folder "tools/" { file "build_installer.py" file "mock_ai.sh" } folder "docs/" #Lavender { file "DESIGN.md" file "AUTOMATION.md" file "architecture-overview.puml" #Pink file "commit-workflow.puml" #Pink file "cascading-rules.puml" #Pink file "patcher-pipeline.puml" #Pink file "voting-system.puml" #Pink file "file-lifecycle.puml" #Pink } file ".ai-rules.yml" #Orange file "pyproject.toml" } folder "Install Bundle\n(Built by build_installer.py)" #LightGray { folder "automation/" as install_auto #LightBlue folder "assets/" as install_assets #LightGreen folder "process/templates/" #Wheat file "setup_cascadingdev.py" #Coral } folder "User Project\n(After setup)" #Wheat { folder "Docs/features/" { file ".ai-rules.yml" #Orange folder "FR_2025-10-31_feature-name/" { file "request.md" #LightGreen folder "discussions/" { file "feature.discussion.md" #SkyBlue file "feature.discussion.sum.md" #LightBlue file "implementation.discussion.md" #SkyBlue file "implementation.discussion.sum.md" #LightBlue } } } folder "automation/" as user_auto #LightBlue { note as auto_note Copied from install bundle Runs during git commits end note } folder ".git/hooks/" { file "pre-commit" #LightCoral } folder ".git/ai-rules-debug/" #Pink { file "*.raw.out" file "*.clean.diff" file "*.sanitized.diff" file "*.final.diff" note as debug_note Debug artifacts saved here when automation runs end note } } note top of runner **Entrypoint for AI automation** Called by pre-commit hook Processes staged files according to .ai-rules.yml end note note top of patcher **AI patch generation** Calls Claude API Applies patches with git end note note top of workflow **Vote tracking & summaries** Parses VOTE: lines Updates .sum.md files Always runs (no AI needed) end note @enduml