Merge feature/fix-csharp-and-config-type-bugs: C3.10 Signal Flow + Complete Godot Support

Features:
- C3.10: Signal Flow Analysis for Godot projects (208 signals, 634 connections)
- Complete Godot game engine support (.gd, .tscn, .tres, .gdshader)
- GDScript dependency extraction with preload/load/extends patterns
- GDScript test extraction (GUT, gdUnit4, WAT frameworks)
- Signal-based how-to guides generation

Fixes:
- GDScript dependency extraction (265+ syntax errors eliminated)
- Framework detection false positive (Unity → Godot)
- Circular dependency detection (self-loops filtered)
- GDScript test discovery (32 test files found)
- Config extractor array handling (JSON/YAML root arrays)
- Progress indicators for small batches

Tests:
- Added comprehensive GDScript test extraction test case
- 396 test cases extracted from 20 GUT test files
This commit is contained in:
yusyus
2026-02-02 23:10:51 +03:00
16 changed files with 1574 additions and 149 deletions

View File

@@ -300,16 +300,14 @@ For more information: https://github.com/yusufkaraaslan/Skill_Seekers
)
analyze_parser.add_argument("--file-patterns", help="Comma-separated file patterns")
analyze_parser.add_argument(
"--enhance",
action="store_true",
help="Enable AI enhancement (default level 1 = SKILL.md only)",
"--enhance", action="store_true", help="Enable AI enhancement (default level 1 = SKILL.md only)"
)
analyze_parser.add_argument(
"--enhance-level",
type=int,
choices=[0, 1, 2, 3],
default=None,
help="AI enhancement level: 0=off, 1=SKILL.md only (default), 2=+Architecture+Config, 3=full",
help="AI enhancement level: 0=off, 1=SKILL.md only (default), 2=+Architecture+Config, 3=full"
)
analyze_parser.add_argument("--skip-api-reference", action="store_true", help="Skip API docs")
analyze_parser.add_argument(
@@ -323,9 +321,7 @@ For more information: https://github.com/yusufkaraaslan/Skill_Seekers
)
analyze_parser.add_argument("--skip-how-to-guides", action="store_true", help="Skip guides")
analyze_parser.add_argument("--skip-config-patterns", action="store_true", help="Skip config")
analyze_parser.add_argument(
"--skip-docs", action="store_true", help="Skip project docs (README, docs/)"
)
analyze_parser.add_argument("--skip-docs", action="store_true", help="Skip project docs (README, docs/)")
analyze_parser.add_argument("--no-comments", action="store_true", help="Skip comments")
analyze_parser.add_argument("--verbose", action="store_true", help="Verbose logging")
@@ -569,16 +565,13 @@ def main(argv: list[str] | None = None) -> int:
# Handle preset flags (depth and features)
if args.quick:
# Quick = surface depth + skip advanced features + no AI
sys.argv.extend(
[
"--depth",
"surface",
"--skip-patterns",
"--skip-test-examples",
"--skip-how-to-guides",
"--skip-config-patterns",
]
)
sys.argv.extend([
"--depth", "surface",
"--skip-patterns",
"--skip-test-examples",
"--skip-how-to-guides",
"--skip-config-patterns",
])
elif args.comprehensive:
# Comprehensive = full depth + all features (AI level is separate)
sys.argv.extend(["--depth", "full"])
@@ -595,7 +588,6 @@ def main(argv: list[str] | None = None) -> int:
# Use default from config (default: 1)
try:
from skill_seekers.cli.config_manager import get_config_manager
config = get_config_manager()
enhance_level = config.get_default_enhance_level()
except Exception: