spool 0.4.0

Git-native, event-sourced task management
Documentation
# Contributing to Spool

Thank you for your interest in contributing to Spool!

## Development Setup

1. **Install Rust** (1.70.0 or later)
   ```bash
   curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
   ```

2. **Clone and build**
   ```bash
   git clone https://github.com/your-username/spool.git
   cd spool
   cargo build
   ```

3. **Run tests**
   ```bash
   cargo test
   ```

## Code Style

- Run `cargo fmt` before committing
- Run `cargo clippy` and fix all warnings
- Add tests for new functionality

## Testing

We aim for high test coverage. When adding features:

1. **Unit tests** - Add tests in the same file or `tests/` directory
2. **Integration tests** - Add CLI tests in `tests/cli_integration_tests.rs`
3. **Run the full suite** before submitting:
   ```bash
   cargo test
   cargo clippy -- -D warnings
   cargo fmt --check
   ```

## Pull Request Process

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/my-feature`)
3. Make your changes with tests
4. Run the test suite
5. Submit a PR with a clear description

## Event Schema

When modifying the event schema (`src/event.rs`):

- Event schema v1 is **frozen** - existing events must remain valid
- New operations can be added but existing ones cannot change
- Add tests for any schema changes

## Questions?

Open an issue for questions or discussions about contributing.