1.1 KiB
1.1 KiB
AGENTS.md - Coding Agent Guidelines
Build/Test Commands
- Check ledger:
./commands/check(validates beancount syntax) - Serve web UI:
./commands/serve(starts fava on port 8080) - Python tests:
pytest(single test:pytest path/to/test.py::test_name) - Install dependencies:
uv syncorpip install -r requirements.txt
Project Structure
- Main ledger:
ledger/main.beancount(entry point) - Accounts:
ledger/accounts.beancount - Transactions:
ledger/transactions/YYYY/MM.beancount - Python plugins:
ledger/plugins/ - Commands:
commands/(bash scripts)
Code Style & Conventions
- Python: Follow PEP 8, use type hints, snake_case naming
- Beancount: Use consistent account naming (Assets:Bank:Checking)
- Imports: Standard library first, third-party second, local imports last
- Error handling: Use namedtuples for custom errors in plugins
- Documentation: Clear docstrings for plugin functions
Key Dependencies
- beancount 2.3.6 (double-entry accounting)
- fava 1.26.2 (web interface)
- pytest 7.4.3 (testing)