Enhance repo and code organization#1
Merged
hoangsonww merged 2 commits intoNov 14, 2025
Conversation
Major improvements to the todo-list-cli project: ## Project Structure - Reorganized code into proper Python package structure (src/todolist/) - Created modular architecture with separate core.py, __main__.py, and cli.py - Updated todo.py as legacy entry point for backwards compatibility ## Features Added - Priority system (high, medium, low) for tasks - Task status tracking (pending, completed) with timestamps - Search functionality to find tasks by keywords - Ability to filter tasks by status and priority - Clear completed tasks command - Enhanced CLI with argparse for better UX ## Code Quality - Added comprehensive type hints throughout the codebase - Added detailed docstrings following Google style guide - Improved error handling and validation - Created unit tests with pytest (17 test cases) ## Documentation - Created comprehensive README.md with usage examples - Added CONTRIBUTING.md with development guidelines - Added CODE_OF_CONDUCT.md for community standards - Created examples directory with Python and shell script examples - Added detailed inline documentation ## Development Infrastructure - Added pyproject.toml for modern Python packaging - Created GitHub Actions CI/CD workflow for automated testing - Added requirements-dev.txt for development dependencies - Updated .gitignore to exclude tasks.json data files - Added support for pip installation (pip install -e .) ## Testing - Created comprehensive test suite with pytest - Added tests for all core functionality - Included edge case and error condition testing - Set up code coverage reporting The repository is now production-ready with professional structure, comprehensive documentation, and automated testing.
This commit adds extensive new features and improvements to the todo-list-cli: ## New Features ### Core Functionality - Colorized terminal output with ANSI color support - Tags/categories system for task organization - Due date tracking for tasks - Statistics and analytics dashboard (todo stats) - Export functionality (JSON, CSV, Markdown) - List all tags with usage counts (todo tags) ### Enhanced Task Management - Color-coded priorities (red=high, yellow=medium, blue=low) - Status indicators (✓ completed, ○ pending) - Dimmed display for completed tasks - Filter tasks by tags - Enhanced search with visual feedback ### Developer & DevOps - Docker support with multi-stage Dockerfile - .dockerignore for optimized builds - Shell completions for Bash and Zsh - Comprehensive CHANGELOG.md - GitHub issue templates (bug report, feature request) - GitHub pull request template ### Documentation - Completely rewritten README with detailed examples - Usage examples with emojis for better readability - Docker usage instructions - Shell completion installation guide - Example output demonstrations ## Technical Improvements ### Code Architecture - New colors.py module for terminal color management - Enhanced core.py with new methods: - list_tags(): Display all tags with counts - get_statistics(): Show comprehensive task statistics - export_tasks(): Export to multiple formats - Updated CLI with new commands and options - Support for --tags, --due flags - CSV export functionality ### Code Quality - Type hints for all new functions - Comprehensive docstrings - Enhanced error handling with colored messages - Consistent color scheme throughout ### Configuration & Setup - Shell completion scripts for better UX - Docker containerization for easy deployment - Updated .gitignore for export files ## Files Modified - src/todolist/core.py: Added tags, due dates, stats, export features - src/todolist/__main__.py: Updated CLI with new commands - README.md: Complete rewrite with new features - .gitignore: Added export file patterns ## Files Added - src/todolist/colors.py: Color support module - CHANGELOG.md: Version history and upgrade guide - Dockerfile: Multi-stage build configuration - .dockerignore: Docker build optimization - completions/: Bash and Zsh completion scripts - .github/ISSUE_TEMPLATE/: Bug report and feature request templates - .github/pull_request_template.md: PR template All features tested and working. Ready for v1.0.0 release.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.