Fresh

Development

Contributing to Fresh development

Want to contribute to Fresh? Here's how to set up your development environment.

Prerequisites

  • Python 3.12 or higher
  • uv (recommended) or pip
  • Git

Setup

Clone Repository

git clone https://github.com/nesalia-inc/fresh.git
cd fresh

Install Dependencies

# Using uv (recommended)
uv sync

# Or using pip
pip install -e ".[dev]"

Install Pre-commit Hooks

pre-commit install

Development Commands

Running Tests

# Run all tests
pytest

# Run with coverage
pytest --cov

# Run specific test file
pytest tests/test_commands_list.py

Code Quality

# Lint
ruff check .

# Format
ruff format .

# Type check
mypy src/

Project Structure

fresh/
├── src/fresh/           # Main source
│   ├── commands/        # CLI commands
│   ├── scraper/        # Web scraping
│   └── core/           # Core modules
├── tests/              # Test suite
├── docs/               # Documentation
└── pyproject.toml      # Project config

Coding Standards

  • Follow PEP 8
  • Add type hints
  • Write tests for new features
  • Use conventional commits

Submitting Changes

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting
  5. Submit a PR

Getting Help

  • Open an issue on GitHub
  • Check existing issues and discussions

On this page