timberjack 0.1.0-alpha.4

A CLI tool that fells log files with speed and insight
Documentation
# Contributing to Timber


Thank you for considering contributing to Timber! This document outlines the process for contributing to the project and how to get started.

## Getting Started


1. **Fork the Repository**
    - Fork the Timber repository on GitHub
    - Clone your fork locally: `git clone https://github.com/YOUR-USERNAME/timber.git`
    - Add the original repository as an upstream remote: `git remote add upstream https://github.com/donaldcalhoun/timber.git`

2. **Set Up Development Environment**
    - Make sure you have Rust and Cargo installed
    - Install development dependencies: `cargo build`
    - Run tests to verify your setup: `cargo test`

3. **Create a Branch**
    - Create a branch from the main branch for your work
    - Use a descriptive name: `git checkout -b feature/your-feature-name` or `fix/issue-description`

## Development Workflow


1. **Make Your Changes**
    - Write code that follows the project's style and conventions
    - Add tests for new functionality
    - Ensure all tests pass: `cargo test`
    - Format your code: `cargo fmt`
    - Run linting: `cargo clippy`

2. **Commit Your Changes**
    - Write clear, concise commit messages
    - Reference issue numbers if applicable: "Fix #123: Add new feature"
    - Keep commits focused on single changes when possible

3. **Update Your Branch**
    - Fetch upstream changes: `git fetch upstream`
    - Rebase on main: `git rebase upstream/main`
    - Resolve any conflicts that arise

4. **Submit a Pull Request**
    - Push your branch to your fork: `git push origin feature/your-feature-name`
    - Create a pull request from your fork to the main repository

## Pull Request Process


1. **Code Review**
    - Maintainers will review your code
    - Address any feedback or requested changes
    - Keep the PR updated if main branch changes

2. **Testing**
    - All tests must pass before merging
    - CI will automatically run tests on your PR
    - Additional tests may be requested for certain changes

## Style Guide


- Follow Rust's official style guide
- Use `cargo fmt` to format your code
- Address all clippy warnings: `cargo clippy`
- Keep functions focused on a single responsibility
- Use descriptive variable and function names

## License


By contributing to Timber, you agree that your contributions will be licensed under the project's MIT License.

Thank you for your contribution!