kardo-core 0.5.0

Core scoring engine for Kardo. Analyzes Git repos for AI-readiness across 5 weighted components. Calibrated on 84 real-world repositories.
Documentation
# Contributing to kardo-core

Thank you for your interest in contributing to kardo-core!

## Getting Started

1. Fork and clone the repository
2. Ensure you have Rust 1.74+ installed
3. Run `cargo test -p kardo-core` to verify your setup

## Development

### Building

All commands from the `kardo/` workspace root:

```sh
cargo check -p kardo-core
cargo check -p kardo-core --no-default-features
cargo check -p kardo-core --all-features
```

### Testing

```sh
cargo test -p kardo-core
```

### Benchmarks

```sh
cargo bench -p kardo-core --bench scoring
```

### Documentation

```sh
cargo doc -p kardo-core --no-deps --open
```

## Making Changes

### Code Style

- Follow standard Rust formatting (`cargo fmt`)
- All public items must have doc comments
- Use `thiserror` for error types
- Prefer `impl AsRef<Path>` over `&Path` for path parameters

### Feature Flags

kardo-core uses optional feature flags:
- `watcher` — file system monitoring (default)
- `llm` — LLM integration (default)
- `embeddings` — embedding generation (default)
- `tui` — Ratatui terminal rendering (opt-in)

When adding code that uses optional dependencies, wrap it with `#[cfg(feature = "...")]`.

### Testing

- Add tests for new functionality
- Run `cargo test -p kardo-core` before submitting
- Run `cargo clippy -p kardo-core --all-features` for lint checks

## Pull Requests

1. Create a feature branch from `main`
2. Make your changes with clear commit messages
3. Ensure all tests pass
4. Update CHANGELOG.md under [Unreleased]
5. Submit a PR with a description of changes

## Reporting Issues

Use GitHub Issues. Include:
- kardo-core version
- Rust version
- Steps to reproduce
- Expected vs actual behavior

## License

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