synadb 1.1.1

An AI-native embedded database
Documentation
# Contributing to Syna


Thanks for your interest in contributing! Here's how to get started.

## Development Setup


```bash
# Clone the repo

git clone https://github.com/YOUR_USERNAME/Syna-db.git
cd Syna-db

# Build

cargo build

# Run tests

cargo test

# Run clippy

cargo clippy -- -D warnings

# Format code

cargo fmt
```

## Making Changes


1. Fork the repository
2. Create a feature branch: `git checkout -b feat/my-feature`
3. Make your changes
4. Run tests: `cargo test`
5. Run lints: `cargo clippy -- -D warnings`
6. Format: `cargo fmt`
7. Commit with a clear message
8. Push and open a Pull Request

## Commit Messages


Use conventional commits:

```
feat(engine): add batch insert support
fix(ffi): handle null pointer in get_float
docs: update Python usage examples
test: add property test for compaction
```

## Code Style


- Follow Rust idioms
- Use `thiserror` for error types
- Add doc comments to public items
- Write property-based tests for new features

## Testing


We use property-based testing with `proptest`. When adding features:

1. Add unit tests for edge cases
2. Add property tests for invariants
3. Ensure all 16 existing properties still pass

```bash
# Run all tests

cargo test

# Run specific test file

cargo test --test atom_roundtrip

# Run with output

cargo test -- --nocapture
```

## Questions?


Open an issue or start a discussion. We're happy to help!
For any private inquiries email hello[at]synadb[dot]ai