Commit Graph

5 Commits

Author SHA1 Message Date
b3eb591809 feat: smart integration detection with package classifier
- Add PackageClassifier with built-in dictionary (~200 popular packages)
- Hardcode Python 3.10+ stdlib list to filter out standard library imports
- Add PyPI API lookup for unknown packages (online mode, 3s timeout)
- Cache PyPI results in .wtismycode/cache/pypi.json
- Add --offline flag to skip PyPI lookups
- Classify packages into: HTTP, Database, Queue, Storage, AI/ML, Auth, Testing, Logging, Internal, Third-party
- User config integration_patterns override auto-detection
- Update renderer to show integrations grouped by category
- Update ARCHITECTURE.md template with new integration format
2026-02-15 12:45:56 +03:00
f4f8b8fa34 rename: archdoc → wtismycode (WTIsMyCode) 2026-02-15 12:12:33 +03:00
40f87f4d61 feat: add config validation and dependency cycle detection
- Config::validate() checks project.root, language, scan.include,
  python.src_roots, caching.max_cache_age, and scan.max_file_size
- Add parse_duration() and parse_file_size() helper functions
- Implement DFS-based cycle detection in cycle_detector.rs
- Wire cycle detection into renderer critical points section
- Add comprehensive unit tests for all new functionality
2026-02-15 03:26:43 +03:00
9f823d2a2a refactor: decompose CLI into commands, fix clippy, improve error handling
- Decompose main.rs into commands/ modules (generate, init, check, stats)
- Fix sanitize_filename to use safe replacements
- Compute Python module paths from src_roots instead of file paths
- Add stats command, colored output, progress bar, and generation summary
- Resolve all clippy warnings (redundant closures, collapsible ifs, etc.)
- Replace last unwrap() with proper error handling
- Add target/ to .gitignore, remove target/ artifacts from git tracking
2026-02-15 03:23:01 +03:00
736909ac3d Add stats command, colored output, progress bar, and generation summary
- New 'archdoc stats' command showing project statistics without generating docs
  - Symbol breakdown by kind (class/function/method/async)
  - Top-10 by fan-in and fan-out
  - Detected integrations (HTTP/DB/Queue)
  - Basic cycle detection on module imports
- Colored terminal output using 'colored' crate
- Progress bar for file parsing using 'indicatif' crate
- Generation summary showing files/modules/symbols/edges/integrations
2026-02-15 02:57:35 +03:00