To get started, check the [Issues Section] for tasks labeled "Good First Issue" or "Help Needed". These issues are perfect for new contributors or those looking to make a valuable impact quickly.
If you find an issue you want to tackle:
Comment on the issue to let us know you’d like to work on it. Wait for confirmation—an admin will assign the issue to you. 💻 Setting Up Your Development Environment To start working on the project, follow these steps:
- Fork the Repository: Begin by forking the repository from the dev branch. We do not allow direct contributions to the main branch.
- Clone Your Fork: After forking, clone the repository to your local machine.
- Create a New Branch: For each contribution, create a new branch following the naming convention: feature/your-feature-name or bugfix/your-bug-name.
🔍 Reporting Bugs If you find a bug, here’s how to report it effectively:
Title: Use a clear and descriptive title, with appropriate labels. Description: Provide a detailed description of the issue, including: Steps to reproduce the problem. Expected and actual behavior.
Any relevant logs, screenshots, or additional context. Submit the Bug Report: Open a new issue in the [Issues Section] and include all the details. This helps us understand and resolve the problem faster.
If you're contributing to the Python codebase, follow these steps:
- Create an Independent File: Write your code in a new file within the python folder.
- Build with Maturin: After writing your code, use maturin build to build the package.
- Import and Call the Function:
- Use the following import syntax: from embed_anything.<Library_name> import *
- Then, call the function using: from embed_anything import <function_name> Feel free to open an issue if you encounter any problems during the process.
🧩 Contributing to Adapters To contribute to adapters, follow these guidelines:
- Implement Adapter Class: Create an Adapter class that supports the create, add, and delete operations for your specific use case.
- Check Existing Adapters: Use the existing Pinecone and Weaviate adapters as references to maintain consistency in structure and functionality.
- Testing: Ensure your adapter is tested thoroughly before submitting a pull request.
Once your contribution is ready:
Push Your Branch: Push your branch to your forked repository.
Submit a Pull Request (PR): Open a PR from your branch to the dev branch of the main repository. Ensure your PR includes:
- A clear description of the changes.
- Any relevant issue numbers (e.g., "Closes #123").
- Wait for Review: A maintainer will review your PR. Please be responsive to any feedback or requested changes.