rocksgraph 0.1.0

A Gremlin-inspired property graph query engine written in Rust, backed by RocksDB
Documentation
# Contributing to RocksGraph

Thanks for considering a contribution. RocksGraph is a small project, so the process is
intentionally lightweight.

## Prerequisites

- A stable Rust toolchain meeting the [MSRV]README.md#development (currently 1.80+)
- [`just`]https://github.com/casey/just — all common workflows are wired up as `just` recipes;
  run `just --list` (or `just`) to see them all

## Workflow

```bash
just build        # cargo build
just test         # cargo test
just full-check    # cargo fmt --all --check && cargo clippy -- --deny warnings
just full-write    # cargo fmt --all (fixes formatting in place)
```

Before opening a PR:

1. Run `just full-check`. If it reports formatting issues, run `just full-write` and commit the
   result rather than hand-fixing formatting.
2. Run `just test` and make sure it passes. New behavior should come with new tests under the
   relevant module's `tests.rs` / `tests/` directory — see existing tests nearby for the
   project's testing conventions.
3. `cargo clippy -- --deny warnings` must be clean; CI enforces this on both Linux and macOS.

## Code style

Match the style of the surrounding code rather than introducing a new convention.
`rustfmt.toml` is authoritative for formatting — don't hand-format against it. Comments should
explain *why*, not *what*; avoid restating what well-named code already says.

## Pull requests

- Keep PRs focused — one logical change per PR is easier to review than a bundle of unrelated
  fixes.
- Include tests for new functionality or bug fixes.
- Describe the *why* in the PR description, not just the *what* — the diff already shows what
  changed.

## License

By contributing, you agree that your contributions are licensed under the same terms as the
project: GPL-2.0-or-later (see [LICENSE](LICENSE)).

## Reporting bugs

Open a GitHub issue with a minimal reproduction where possible. For security vulnerabilities,
see [SECURITY.md](SECURITY.md) instead of filing a public issue.