Minimal AI-powered task management with MCP integration and hexagonal architecture
Project description
PyTaskAI v0.3.0
Minimal AI-powered task management with MCP integration and hexagonal architecture
๐ฏ Project Status: โ COMPLETE - PRODUCTION READY
๐ Hexagonal architecture implementation completed successfully!
- Achievement: Clean 2900-line codebase with 6 essential MCP tools
- Quality: 168 tests passing, 80% coverage, SOLID principles
- Architecture: Complete hexagonal (ports & adapters) implementation
๐๏ธ New Architecture: Hexagonal (Ports & Adapters)
pytaskai/
โโโ domain/ # ๐ต CORE - Pure business logic
โ โโโ entities/ # Task, SubTask business entities
โ โโโ repositories/ # Abstract interfaces (ports)
โ โโโ services/ # Domain services
โโโ application/ # ๐ก USE CASES - Orchestration
โ โโโ use_cases/ # Application use cases
โ โโโ dto/ # Data Transfer Objects
โ โโโ interfaces/ # Ports for external services
โโโ infrastructure/ # ๐ข IMPLEMENTATION - Details
โ โโโ persistence/ # SQLite implementation
โ โโโ external/ # OpenAI service
โโโ adapters/ # ๐ EXTERNAL - User interfaces
โโโ mcp/ # MCP server adapter
โโโ cli/ # CLI adapter
๐ Achievement Metrics (vs Previous)
| Aspect | Previous | โ Achieved |
|---|---|---|
| Total Lines | 5000+ | 2900 lines |
| Dependencies | 26+ | 6 core |
| MCP Tools | 27 | 6 essential |
| AI Providers | 9 | 1 (OpenAI) |
| Test Coverage | None | 80% (168 tests) |
| Architecture | Monolithic | Hexagonal |
๐ Quick Start
# Install
pip install -e .
# Setup environment
export OPENAI_API_KEY="your-key-here"
# CLI usage
pytaskai init # Initialize database
pytaskai task add "My new task" # Add task
pytaskai task list # List tasks
pytaskai task generate 1 # AI subtask generation
# Run tests
python -m pytest pytaskai/tests/ # All 168 tests
# MCP integration (Claude Code)
# Configure in ~/.claude.json or MCP client
๐ง Essential Features (6 MCP Tools)
- list_tasks - List tasks with filters
- get_task - Get task details
- add_task - Create new task
- update_task - Modify task
- delete_task - Remove task
- generate_subtasks - AI-powered task breakdown
๐ Dependencies (Minimal)
dependencies = [
"fastmcp>=0.3.0", # MCP server
"pydantic>=2.0.0", # Data models
"sqlalchemy>=2.0.0", # Database
"openai>=1.0.0", # AI (OpenAI only)
"click>=8.0.0", # CLI
"python-dotenv>=1.0.0" # Config
]
๐ Implementation Status
โ All Milestones Completed:
- MILESTONE 1: Domain Layer - Entities, value objects, repository interfaces
- MILESTONE 2: Application Layer - Use cases, DTOs, dependency injection
- MILESTONE 3: Infrastructure Persistence - SQLite repository implementation
- MILESTONE 4: MCP Adapter - FastMCP server with 6 essential tools
- MILESTONE 5: Infrastructure AI - OpenAI service integration
- MILESTONE 6: CLI Adapter - Click-based command line interface
- MILESTONE 7: Integration & Testing - E2E tests, architecture validation
๐ฏ Quality Metrics Achieved:
- 168 tests passing with 80% code coverage
- Zero business logic duplication between CLI and MCP adapters
- Complete hexagonal architecture with proper dependency inversion
- SOLID principles compliance validated through architecture tests
๐ฏ Design Principles
- SOLID Principles: Rigorously applied
- DRY Implementation: Zero code duplication
- Hexagonal Architecture: Clean separation of concerns
- Domain-Driven Design: Business logic in domain layer
- Test-Driven: Every layer fully testable
- Incremental: Each milestone is complete and functional
๐ค Contributing
This project now has a stable hexagonal architecture foundation! Contributions are welcome:
- Fork and clone the repository
- Install development dependencies:
pip install -e ".[dev]" - Run tests:
python -m pytest pytaskai/tests/ - Follow architecture: Maintain hexagonal architecture principles
- Submit PR with tests and documentation
See CLAUDE.md for detailed development guidelines.
๐ License
MIT License - see LICENSE.md for details.
PyTaskAI v0.3.0 - Production-ready hexagonal architecture implementation complete! ๐
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pytaskai-0.3.0.tar.gz.
File metadata
- Download URL: pytaskai-0.3.0.tar.gz
- Upload date:
- Size: 99.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
054544d66aed2f6a4876cc875ab0a8818667dbd1faf0ce3bde9ca5528b6d20b4
|
|
| MD5 |
c6bd9dfe69584b37c5d22678592b2597
|
|
| BLAKE2b-256 |
6f636a71c92615a10c61a305a719ebf677aab1e1e78b79428578f7ca468e2bc3
|
File details
Details for the file pytaskai-0.3.0-py3-none-any.whl.
File metadata
- Download URL: pytaskai-0.3.0-py3-none-any.whl
- Upload date:
- Size: 123.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f43c22004ce473986aee07bbd3782cb8c78ddb1439bd11ffd036185a4757e14
|
|
| MD5 |
d5a0a088137ff30aceff4e63c0aed9b0
|
|
| BLAKE2b-256 |
78d92bf7aa833e693200c2c078c90dc55a018a2e50581ca11652554bc3f156b5
|