A Python-based multi-agent project tracker designed to manage project states, logs, and summaries using advanced LLM strategies.
This project was built using a prompt-driven, meta-management process. The development followed a unique workflow where the human developer acted as a high-level manager, providing strategic prompts, while the Antigravity IDE agent handled all implementation details, including file creation, modification, saving, and Git synchronization.
-
Phase 1: Core Abstractions & Interfaces
- Defined the foundational data models (
Project,Task,LogEntry) and abstract base classes (StorageStrategy,LLMStrategy,IOStrategy) to enforce the Strategy Pattern.
- Defined the foundational data models (
-
Phase 2: Concrete Infrastructure Strategies
- Implemented concrete strategies for MongoDB storage, CLI-based IO using
rich, and a Mock LLM for initial testing.
- Implemented concrete strategies for MongoDB storage, CLI-based IO using
-
Phase 3: Core Manager Logic
-
Developed the
ProjectManagerclass to coordinate strategies, implementing business logic for "Rolling Summaries" and stale project detection. -
Integrated Google's Gemini API to replace the mock LLM, enabling real intelligence for summarizing project threads and extracting actionable tasks.
-
-
Phase 5: Application Entry Point (main.py)
- Implemented
main.pyto wire everything together into a runnable application.
- Implemented
The application is run via the main.py entry point. Ensure your virtual environment is active (source venv/bin/activate) and your .env file is configured.
Runs the daily dashboard, checking for stale projects and displaying active ones.
python main.py daily-briefingAdds a log entry to a project. If the project doesn't exist, it will be created. The LLM will automatically generate/update the project summary.
python main.py add-log <project_name_or_id> "Your log message here"Example:
python main.py add-log "Website Redesign" "Completed the homepage layout using CSS Grid."Manually triggers the stale project check (updates status to WARNING > 3 days, STALE > 7 days).
python main.py check-staleView the detailed status, summary, and log history of a specific project.
python main.py view-project <project_name_or_id>Example:
python main.py view-project "Website Redesign"