# Timesheets — Agent Guide ## Project overview A Python CLI tool that parses markdown pipe-delimited timesheet tables and exports them to CSV for import into Odoo (or similar tools). It also supports a human-readable summary view. ### Package layout ``` timesheets/ ├── pyproject.toml # package metadata, entry point, dev dependencies ├── AGENTS.md └── src/timesheets/ ├── cli.py # argument parsing, main() entry point ├── parser.py # markdown table parsing and row aggregation ├── projects.py # project_map.json loading and key resolution ├── output.py # CSV writing and summary printing └── utils.py # shared low-level helpers (duration parsing, formatting, etc.) ``` Tests live in `tests/`, one file per source module: ``` tests/ ├── test_utils.py ├── test_parser.py ├── test_projects.py └── test_output.py ``` --- ## Package manager — uv All dependency management and script execution is done via [`uv`](https://docs.astral.sh/uv/). Do **not** use `pip` or `python` directly. | Task | Command | |---|---| | Install / sync dependencies | `uv sync` | | Add a runtime dependency | `uv add ` | | Add a dev-only dependency | `uv add --dev ` | | Run the CLI | `uv run timesheets ` | | Run any Python script | `uv run python