# Contributing to OSMA First off, thank you for considering contributing to OSMA! It is people like you that make OSMA a great tool for the open-source community. ## How Can I Contribute? ### Reporting Bugs Bugs are tracked as GitHub issues. When creating a bug report, please include as much detail as possible to help us reproduce the issue. ### Suggesting Enhancements If you have an idea for a new feature or improvement, please open an issue to discuss it. We are particularly interested in: * UI/UX improvements for the NPM and PyPI explorers. * Optimizations for the search and ranking algorithms in the FastAPI backend. * Ideas for new registry snapshots (e.g., RubyGems, Cargo). ### Pull Requests 1. Fork the repository and create your branch from main. 2. If you've added code that should be tested, add tests. 3. If you've changed APIs, update the documentation. 4. Ensure the test suite passes. 5. Make sure your code follows the existing style of the project. 6. Issue that Pull Request! ## Development Focus * **Frontend:** Built with HTML, Tailwind CSS, and Vanilla JS. We prioritize a clean, Material 3 (M3) inspired aesthetic. * **Backend:** Built with FastAPI. Focus is on performance and efficient handling of large static CSV datasets. ## Style Guide * Use clear, descriptive variable names. * Comment complex logic. * For CSS, prefer Tailwind utility classes. * For Python, follow PEP 8 guidelines. ## Questions? If you have any questions about contributing, feel free to reach out to Amit Dutta at mail@amit.is-a.dev.