---
description: Understanding the project structure
globs: pyproject.toml,**/*.py
alwaysApply: false
---
# Project structure
This project is an MCP server [mcp.mdc](mdc:.cursor/rules/mcp.mdc) that implements an interface to the YNAB budget and the `ynab` Python Package.
Dependencies and scaffolding are using the `uv` package tool, so all installs, etc., should be run with that in mind (uv add, sync, run, etc.).
All commonly-run tasks need to be defined in [Taskfile.yml](mdc:Taskfile.yml). If there isn't an appropriate task already defined, we should create one.
## Tests
We are using `pytest` exclusively, with any additional libraries being pytest extensions (coverage, async, etc.). [conftest.py](mdc:tests/conftest.py) should be consulted if we need to add any additional common fixtures or configurations.
## Documentation
The `./docs/` folder houses a couple very important contextual documentation around MCP servers. Consult [mcp.mdc](mdc:.cursor/rules/mcp.mdc) for information. Additional, detailed information can be found in [CLAUDE.md](mdc:CLAUDE.md) and [todo.txt](mdc:todo.txt).