Files
markitect-main/markitect
tegwick fd66d67849 feat: Make ast-stats command work without file argument - show AST subsystem statistics
Enhanced ast-stats command to follow the established *-stats convention where subsystem
commands show system-level statistics when called without specific targets.

## Changes Made:

### 1. Made file_path Argument Optional
- Changed from required to optional: `@click.argument('file_path', required=False)`
- Updated help text to show `[FILE_PATH]` indicating optional parameter
- Enhanced docstring with clear examples for both usage patterns

### 2. Implemented AST Subsystem Statistics
- New function `_show_ast_subsystem_stats()` for system-level statistics
- Comprehensive statistics collection including:
  * **AST Cache**: Directory path, cached files count, cache size
  * **Processing Metrics**: Total files processed, recent activity (7 days)
  * **System Information**: Service availability, working directory, Python version

### 3. Dual Functionality Support
```bash
markitect ast-stats              # Shows AST subsystem statistics
markitect ast-stats document.md  # Shows file-specific analysis (preserved)
```

### 4. Consistent Output Formats
- Supports all formats: table, json, yaml, simple
- Table format: Organized with emoji icons and status indicators
- JSON/YAML: Structured data for programmatic use
- Simple: Key-value pairs for scripting

### 5. Robust Error Handling
- Graceful degradation when cache/database unavailable
- Clear status indicators ( Available,  Unavailable, ⚠️ Warning)
- Detailed error messages in verbose mode

## Implementation Details:

The command now detects when no file is provided and automatically switches to
subsystem mode, maintaining full backward compatibility with existing file
analysis functionality.

Benefits:
- **Consistent CLI Experience**: Matches cache-stats, db-stats, config-stats patterns
- **System Monitoring**: Easy way to check AST subsystem health
- **Backward Compatible**: Existing scripts continue to work unchanged
- **Professional Interface**: Clear separation between system and file-level stats

All functionality tested and working correctly with comprehensive error handling.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 22:25:30 +02:00
..
2025-09-16 03:04:18 +02:00