# Contributing to NPDateTime
Thank you for your interest in contributing to NPDateTime! We welcome contributions from the community to help make this the best Nepali datetime library for Rust.
## 📚 Documentation
Before you start, please familiarize yourself with the project documentation located in the `docs/` directory:
- **[Roadmap](docs/ROADMAP.md)**: See the project's current status and future plans. This is the best place to find tasks to work on.
- **[Development Guide](docs/DEVELOPMENT_GUIDE.md)**: Detailed technical guidelines, architecture principles, and coding standards. **Read this before writing code.**
- **[Implementation Guide](docs/IMPLEMENTATION_GUIDE.md)**: specific step-by-step guide for implementing features, particularly the astronomical calculator.
- **[Project Structure](docs/PROJECT_STRUCTURE.md)**: Overview of the codebase layout.
## 🛠 Getting Started
1. **Fork the repository** on GitHub.
2. **Clone your fork** locally.
3. **Install Rust**: Ensure you have the latest stable Rust toolchain installed.
4. **Run Tests**: Make sure everything is working.
```bash
cargo test
```
## 🤝 How to Contribute
1. **Pick a Task**: Check `docs/ROADMAP.md` for open tasks.
2. **Create a Branch**: Use a descriptive name (e.g., `feat/astronomical-calc` or `fix/leap-month`).
3. **Follow the Style**: Adhere to the `docs/DEVELOPMENT_GUIDE.md`.
4. **Write Tests**: Ensure your changes are covered by tests.
5. **Submit a Pull Request**: Describe your changes clearly.
## 📄 License
By contributing, you agree that your contributions will be licensed under the project's [MIT License](LICENSE).