- Group modules by top-level directory with collapsible sections and module counts
- Filter out 'Internal' category from integrations (cross-module imports are not real integrations)
- Sort integration categories and packages alphabetically for consistent output
- Add [models], [config], [tests] tags to differentiate module types in the index
- Fix toml version requirement metadata warning
- Replace clone() with std::slice::from_ref()
- Collapse nested if statements
- Add #[allow(dead_code)] to test utility functions
- Fix unused imports and variables in tests
- Use unwrap_or_else instead of expect with format!
- New package_classifier.rs with 200+ known packages in 8 categories
- Python stdlib filter (~170 modules)
- PyPI API lookup with caching (--offline to skip)
- Project modules auto-filtered from Internal
- Zero config needed — works out of the box
- 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
For non-init files, use the file's own docstring first before
falling back to the parent __init__.py docstring.
Also skip dataclass-like classes (≤2 methods) from critical marking
to avoid false positives on simple data containers like ToolResult.
On init, detect project name by:
1. Parsing pyproject.toml [project] name field
2. Falling back to directory basename
Replace <PROJECT_NAME> placeholder in ARCHITECTURE.md template.
1. Module Cycles: properly format cycle paths as A → B → C → A
2. Repository layout: group by top-level directory with file counts
3. Integration detection: match patterns against import names (substring),
add Storage and AI/ML categories to all templates and summary
4. Usage examples: extract __init__ required params for class constructors
Also fix golden test to use ends_with for module-prefixed symbol IDs.
- Extract file-level docstrings from Python files (module-level string expressions)
- Use __init__.py docstrings as module doc_summary
- Use file docstrings as file purpose in layout tables (instead of 'Source file')
- Populate module outbound_modules/inbound_modules from import edges (internal only)
- Make filename sanitization consistent (sanitize_for_link matches sanitize_filename)
- Clean up stale .md files from previous runs before generating
- Fill ARCHITECTURE.md template with real layout, modules index, and critical points
- Add file_docstring field to ParsedModule and file_purpose to FileDoc
- renderer: render_architecture_md accepts Config, uses project name and current date
- renderer: generate real Python usage examples from analyzed symbols
- writer: skip writing files when content unchanged (optimization)
- cli: add --dry-run flag to generate command (lists files without writing)
- cli: add verbose logging for file/module/symbol generation progress
- Test config loading and validation on test-project
- Test scanning Python files from test-project
- Test cycle detection with known cyclic and acyclic graphs
- Test renderer output generation
- Test duration and file size parsing
- 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
- Добавлена поддержка формата *.xyz, что расширило возможности анализа проектов.
- Реализована функция `parse_xyz` в файле [`archdoc-core/src/parser.rs`](archdoc-core/src/parser.rs:42) для чтения и валидации содержимого.
- Обновлены тесты в [`archdoc-core/tests/parser_tests.rs`](archdoc-core/tests/parser_tests.rs:15) для покрытия нового формата.
- Обновлена документация в `README.md` с примерами использования нового парсера.
- Added module_md template to renderer for generating detailed module documentation
- Updated CLI to use renderer for module docs with fallback to simple template
- Generated module documentation for test project files with symbols, dependencies, and integrations
- Added proper error handling when module rendering fails
This implements the core functionality for generating detailed architectural documentation at the module level, including symbols, dependencies, and integration points.
- Introduced `archdoc.toml` configuration file for project settings, including scanning and analysis options.
- Created initial `ARCHITECTURE.md` file with project summary and structure.
- Generated documentation files for source files and modules, including placeholders for future content.
- Updated the documentation generation logic to handle new project structure and file paths.
- Simplified the creation of output directory structure in `init_project` and `generate_docs` functions.
- Added a `sanitize_filename` function to ensure valid filenames for generated documentation files.
- Implemented individual documentation file creation for modules and files in the `generate_docs` function.
- Updated links in the renderer to use the new `sanitize_for_link` function for safe URL generation.
- Adjusted the `extract_docstring` method in `PythonAnalyzer` to accept the body parameter without using it, preparing for future enhancements.
- Created `.gitignore` files for various directories to exclude unnecessary files.
- Added `PLAN.md` to outline the project goals and architecture documentation generation.
- Implemented the `archdoc-cli` with a command-line interface for initializing and generating documentation.
- Developed the `archdoc-core` library for analyzing Python projects and generating architecture documentation.
- Included caching mechanisms to optimize repeated analysis.
- Established a comprehensive test suite to ensure functionality and error handling.
- Updated `README.md` to provide an overview and installation instructions for ArchDoc.