Skip to content

jeffsawatzky/ynab-cli

Repository files navigation

YNAB CLI

A command-line interface for interacting with YNAB (You Need A Budget).

Usage

Full user documentation available here

Project Structure

  • src/ynab_cli/: Main source code
  • tests/: Unit and integration tests
  • docs/: Documentation (built with MkDocs)

Getting Started

Prerequisites

  • Python 3.11+
  • uv

Installation

Clone the repository:

$ git clone https://github.com/jeffsawatzky/ynab-cli.git
$ cd ynab-cli

Install dependencies with uv:

$ uv sync

Running the CLI

With uv:

$ uv run ynab-cli --help

Development

  • Source code is in src/ynab_cli/.
  • Use feature branches for new work.
  • Follow PEP8 and use type hints where possible.

Linting & Formatting

$ make lint

Running Tests

$ make test

Or directly with pytest:

uv run pytest

Documentation

  • Docs are in docs/ and built with MkDocs.
  • To serve docs locally:
$ uv run mkdocs serve

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/your-feature)
  3. Commit your changes. Commits should follow conventional commits. The repo is configured with commitizen
  4. Push to your fork and open a pull request

Please include tests for new features and bug fixes.

License

See LICENSE.md

About

A python command line tool to help keep YNAB organized

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 2

  •  
  •