This file outlines potential improvements and features for the app-hound project.
- Domain models (Artifact, ScanResult, ScanSummary)
- Scanner class with filesystem abstraction
- Configuration module with flexible schema
- Support for multiple configuration files
- Environment variable support in configuration (e.g.,
$HOME,$USER) - JSON output format for artifacts and plans
- Include metadata in reports (file size, last modified date, permissions)
- Plan generation (JSON and shell script)
- Deletion pipeline (ArtifactRemover, DeletionPlan)
- Deep home search mode (--deep-home-search)
- Pattern matching support (--pattern)
- Progress bars for long-running operations
- Color customization for console output
- Quiet mode to suppress console output for scripting
- Interactive mode for reviewing and selecting artifacts for deletion
- Add
--interactiveflag for TUI-based artifact review - Allow users to check/uncheck artifacts for deletion
- Show total space to be freed
- Provide filtering/search within selection UI
- Execute deletions with confirmation
- Support selection by app name, category, and safety level
- Support range selection (e.g., 0-5)
- Dry-run mode before actual deletion
- Rich table display with color-coded safety levels
- Created comprehensive test suite (31 tests)
- Add
--execute-plan <plan.json>command to run saved plans - Integrated dry-run in execution workflow (prompted automatically)
- Add
--backup-before-removeoption
- Add structured logging support (e.g., structlog)
- Add
--log-levelflag (DEBUG, INFO, WARNING, ERROR) - Add
--log-fileoption to write logs to file - Improve error messages with actionable suggestions
- Support exclusion patterns to ignore specific paths (--exclude)
- Enable regex-based matching for application names and paths
- Add bundle ID detection for more accurate app matching
- Support XML output format
- Support Markdown output format
- Add summary report with statistics per app
- Add
--formatflag to choose output format
- Add integration tests for real-world scenarios with pyfakefs
- Test edge cases (missing directories, permission issues, large-scale audits)
- Add snapshot tests for CSV/JSON output
- Measure and optimize performance for large directories
- Add unit tests for interactive mode
- Create ARCHITECTURE.md documenting the refactored design
- Create a comprehensive user guide with examples
- Generate and publish API documentation
- Provide example configuration files for common apps (Slack, Chrome, VSCode, etc.)
- Add migration guide for v1.x to v2.0
- Document removal plan workflow
- Ensure graceful degradation for inaccessible paths (basic implementation)
- Enhance error messages with suggestions and next steps
- Add retry logic for transient filesystem errors
- Extend functionality to support Linux
- Extend functionality to support Windows
- Abstract platform-specific default locations
- Add CONTRIBUTING.md with guidelines
- Create issue templates for bug reports and feature requests
- Add pull request template
- Create CODE_OF_CONDUCT.md
- Use parallel processing for filesystem scans (concurrent.futures)
- Cache scan results with intelligent invalidation
- Optimize path deduplication algorithm
- Add benchmarking suite
- Secure path handling with expanduser/expandvars
- Add input validation for all CLI arguments
- Add safety checks before executing removal commands
- Implement permission verification before deletion
- Evaluate GUI frameworks (e.g., Textual for TUI, PyQt for GUI)
- Design mockups for interactive mode
- Implement basic GUI for artifact review and deletion
- Set up GitHub Actions for automated testing
- Add pre-commit hooks for linting and formatting
- Automate the release process for new versions
- Add automated changelog generation
- Set up code coverage reporting
- Add i18n support framework
- Translate UI messages to common languages
- Create CHANGELOG.md with v2.0 release notes
- Review and update dependencies regularly
- Add --version flag enhancement (show detailed version info)
- Add plugin system for custom artifact detectors
- Support custom removal strategies per app in config
Immediate Next Steps (Sprint 1):
- Fix any remaining errors in codebase ✅
- Update TODO.md to reflect completed work ✅
- Write tests for current functionality ✅
- Implement Interactive Mode for Artifact Selection ✅
Recent Completions (Sprint 2):
- Enhanced --version flag ✅
- Example configuration files (5 apps) ✅
- Input validation and security ✅
- CHANGELOG.md ✅
- --exclude patterns ✅
- --execute-plan command ✅
Short Term (Sprint 3):
- Logging and debugging improvements
- Enhanced error messages
- Integration tests with pyfakefs
- Performance optimizations
Medium Term:
- Additional output formats (XML, Markdown)
- Performance optimizations
- Documentation and examples
- CI/CD setup