A developer tool that logs agent reasoning traces (why code changed) and integrates with podcast learning retention via spaced-repetition notes.
Quick Start • Features • Examples • Contributing
AgentTrace is a developer tool that logs the reasoning behind code changes and integrates with a spaced repetition system for podcast notes. It helps software engineers understand why code changes were made and aids in retaining valuable insights from podcasts.
$ python cli.py log-change --file main.py --line 10 --description "Fixed typo"
{"file": "main.py", "line": 10, "description": "Fixed typo"}
Developers struggle to understand why colleagues made certain code changes, and listeners forget podcast insights within hours, losing valuable knowledge.
| Feature | Description |
|---|---|
| Log Code Changes | Log the reasoning behind each code change with file name, line number, and a brief description. |
| Spaced Repetition for Podcast Notes | Add new notes with a timestamp and a brief description, and schedule reminders for reviewing the notes at intervals (1 day, 3 days, 1 week). |
| Retrieve and Display Logs and Notes | Retrieve and display all logged code changes and active podcast notes with their next review times. |
| Command Line Interface | Use a simple and intuitive command line interface for all operations. |
| JSON Storage | Store logs and notes in JSON files for easy access and manipulation. |
| Filtering by Date Range | Filter logs and notes by a specified date range. |
-
Clone the repository:
git clone https://github.com/m2ai-portfolio/AgentTrace.git cd AgentTrace -
Install dependencies:
pip install -r requirements.txt
-
Run your first command:
python cli.py log-change --file main.py --line 10 --description "Fixed typo"
Command:
python cli.py log-change --file main.py --line 10 --description "Fixed typo"Output:
{"file": "main.py", "line": 10, "description": "Fixed typo"}Command:
python cli.py add-note --timestamp "2023-10-01 12:00:00" --description "Key concept: Dijkstra's Algorithm"Output:
{"timestamp": "2023-10-01 12:00:00", "description": "Key concept: Dijkstra's Algorithm", "next_review": "2023-10-02 12:00:00"}Command:
python cli.py review-notesOutput:
{"timestamp": "2023-10-01 12:00:00", "description": "Key concept: Dijkstra's Algorithm"}AgentTrace/
├── src/ # Core source code
│ ├── agenttrace.py
│ ├── cli.py
│ ├── data.py
│ ├── spaced_repetition.py
│ └── utils.py
├── tests/ # Test suite
│ ├── __init__.py
│ ├── test_agenttrace.py
│ ├── test_cli.py
│ └── test_spaced_repetition.py
├── .gitignore
├── .heartbeat-callback
├── conftest.py
├── pytest.ini
├── requirements.txt
├── README.md
├── spec.md
└── .self-healing-pipeline/ # Continuous integration and deployment configurations
├── builder-log-1.md
├── judge-brief-1.md
├── plan.md
├── retry-report.md
├── review-report.md
└── test-contract.md
| Technology | Purpose |
|---|---|
| Python 3.11+ | Core programming language |
| click | Command line interface library |
| pytest | Testing framework |
- Fork the repository.
- Create a new branch:
git checkout -b feature/new-feature. - Make your changes and run tests.
- Submit a pull request.
MIT
Matthew Snow -- M2AI | @m2ai-portfolio
