jjj 0.4.1

Distributed project management and code review for Jujutsu
Documentation
# Contributing to jjj

Thank you for your interest in contributing to jjj! This guide will help you get started.

## Development Setup

### Prerequisites

- [Rust]https://rustup.rs/ (stable toolchain)
- [Jujutsu (jj)]https://github.com/jj-vcs/jj installed and on your PATH

### Building

```bash
cargo build              # Debug build
cargo build --release    # Release build
```

### Testing

```bash
cargo test               # Run all tests
cargo test <test_name>   # Run a specific test
```

### Linting and Formatting

```bash
cargo fmt                # Format code
cargo clippy             # Lint
```

All three must pass before submitting changes.

## Making Changes

1. Fork the repository and create a branch (or jj bookmark) for your work.
2. Make your changes, keeping commits focused and well-described.
3. Run `cargo test`, `cargo fmt --check`, and `cargo clippy` locally.
4. Open a pull request against `main`.

## Pull Request Guidelines

- Keep PRs focused on a single change. Smaller PRs are reviewed faster.
- Include a clear description of what changed and why.
- Add or update tests for any new or changed behavior.
- Update documentation if your change affects user-facing behavior.

## Architecture Overview

See [CLAUDE.md](CLAUDE.md) for a detailed architecture guide, including:

- Core model (Problems, Solutions, Critiques, Milestones)
- Storage layer (shadow graph, YAML frontmatter)
- How to add a new command
- Component layers and key files

## Reporting Issues

Use [GitHub Issues](https://github.com/doug/jjj/issues) for bug reports and feature requests. Please use the provided issue templates.

## Code of Conduct

This project follows the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.

## License

By contributing, you agree that your contributions will be licensed under the Apache License 2.0.