# Contributing to Keynest

Thanks for your interest in contributing to Keynest! 🎉  
Contributions of all kinds are welcome.

---

## Ways to Contribute

You can help by:

- Reporting bugs
- Suggesting features
- Improving documentation
- Writing tests
- Submitting code changes
- Reviewing pull requests

---

## Getting Started

1. Fork the repository
2. Create a new branch
3. Make your changes
4. Run tests (if applicable)
5. Open a pull request

---

## Development Guidelines

### Code Style
- Follow standard Rust formatting (`cargo fmt`)
- Prefer clarity over cleverness
- Avoid unnecessary abstractions

### Error Handling
- Use explicit error types where reasonable
- Avoid panics in library code
- Provide helpful error messages

### Security
- Never introduce custom cryptography
- Prefer well-reviewed crates
- Treat all secret data with care

---

## Commit Messages

Please write clear and descriptive commit messages.

Example:

---

## Pull Requests

When opening a PR, please:
- Explain **what** the change does
- Explain **why** it is needed
- Reference related issues if applicable

Small, focused PRs are preferred.

---

## Code of Conduct

Be respectful and constructive.  
Harassment or abusive behavior will not be tolerated.

---

Thank you for helping make Keynest better ❤️

