vipune 0.1.8

A minimal memory layer for AI agents
Documentation
# Contributing to vipune

Thank you for your interest in contributing to vipune! This document outlines how to get involved.

## Reporting Bugs

Found a bug? Please report it on GitHub Issues:
https://github.com/randomm/vipune/issues

Include:
- What you were trying to do
- What happened (vs. what you expected)
- Steps to reproduce
- Rust version (`rustc --version`)
- Output of `cargo build` or relevant error messages

## Proposing Features

Have an idea for vipune? Start with a GitHub Issue:
https://github.com/randomm/vipune/issues

**Before coding**: Open an issue and discuss your approach. This ensures alignment and prevents wasted effort on features that may not fit the project's scope. Don't worry about perfect formatting — we'll help you refine the idea!

## Development Setup

### Prerequisites
- Rust stable (install from https://rustup.rs/)
- Git

### Getting Started
```bash
git clone git@github.com:randomm/vipune.git
# (If SSH isn't configured, use: git clone https://github.com/randomm/vipune.git)
cd vipune
cargo build
cargo test
```

## Quality Gates

All code changes must pass these checks before PR submission:

```bash
cargo fmt --check     # Code formatting
cargo clippy -- -D warnings  # Linting (all warnings are errors)
cargo test            # All tests pass
```

Run all checks together:
```bash
cargo fmt --check && cargo clippy -- -D warnings && cargo test
```

**These checks must pass locally before pushing.** CI verifies, but does not discover — fix issues locally first.

## Commit Style

vipune uses [Conventional Commits](https://www.conventionalcommits.org/):

- `feat`: New feature
- `fix`: Bug fix
- `docs`: Documentation
- `refactor`: Code restructuring
- `test`: Tests
- `perf`: Performance improvement
- `chore`: Maintenance

Format:
```
feat(#123): brief description

Optional body with details.
```

Example:
```
fix(#45): correct embedding BLOB size validation

Previously accepted 1600-byte blobs. Now correctly validates 1536 bytes (384 × 4).
```

## Branch Naming

Use this convention for feature branches:
```
feature/issue-{NUMBER}-short-description
```

Example: `feature/issue-12-add-json-output`

## Pull Request Process

1. Create a feature branch from `main` (see naming above)
2. Make your changes and commit with conventional commits
3. Push to your fork
4. Open a PR against `randomm/vipune`
5. Ensure CI passes (all checks green)
6. Address any code review comments
7. PR is squash-merged to main

## Code of Conduct

Be respectful of others. Harassment, discrimination, and hostile behavior are not tolerated.

---

Questions? Open an issue on GitHub:
https://github.com/randomm/vipune/issues