Thank you for your interest in contributing to LabMateAI! We welcome contributions from the community to help improve and expand this project. Whether you're fixing bugs, adding new features, improving documentation, or suggesting enhancements, your input is valuable.
- Getting Started
- Development Guidelines
- Submitting Your Contribution
- Code of Conduct
- Contact
- Local Development and Debugging Tips
- Linking to Documentation
- Screenshots or GIFs (Optional)
Before contributing, ensure you have the following installed on your local machine:
- Python 3.6+: Download Python
- Git: Install Git
- GitHub Account: Sign up for GitHub
- Navigate to the LabMateAI repository on GitHub.
- Click the Fork button in the upper right corner to create your own copy of the repository.
Clone your forked repository to your local machine:
git clone https://github.com/yourusername/LabMateAI.git
cd LabMateAIReplace yourusername with your GitHub username.
It's recommended to use a virtual environment to manage dependencies:
python3 -m venv venv
source venv/bin/activatepython -m venv venv
venv\Scripts\activateInstall the required dependencies:
pip install -r requirements.txtAfter cloning your forked repository, set the original repository as the upstream remote:
git remote add upstream https://github.com/yourusername/LabMateAI.gitVerify the new upstream repository you've specified for your fork:
git remote -vExpected Output:
origin https://github.com/yourusername/LabMateAI.git (fetch)
origin https://github.com/yourusername/LabMateAI.git (push)
upstream https://github.com/yourusername/LabMateAI.git (fetch)
upstream https://github.com/yourusername/LabMateAI.git (push)
Create a new branch for your work:
git checkout -b feature/short-description- Use
feature/prefix for new features. - Use
bugfix/prefix for bug fixes. - Use
docs/prefix for documentation improvements.
Example:
feature/add-new-recommendation-algorithmbugfix/fix-cli-errordocs/update-readme
- Language: Python 3.6+
- Style Guide: Follow PEP 8 for Python code style.
- Formatting: Use tools like
flake8andblackto ensure consistent formatting. - Comments: Write clear and concise comments where necessary.
- Docstrings: Use Google Style for docstrings.
- Write clear and descriptive commit messages.
- Use the present tense (e.g., "Add feature" not "Added feature").
- Begin with a capital letter and do not end with a period.
Example:
git commit -m "Fix issue with tool recommendation loop"- Write unit tests for new features and bug fixes.
- Use the
pytestframework for testing. - Ensure all tests pass before submitting a pull request.
Running tests:
pytest tests/- Be Respectful: Provide constructive feedback and avoid personal criticisms.
- Be Clear: Clearly explain the reasoning behind your suggestions.
- Be Open: Be open to feedback and willing to make necessary changes.
- Be Timely: Respond to review comments promptly to keep the contribution process smooth.
-
Ensure your changes are up-to-date with the main repository:
git fetch upstream git checkout main git merge upstream/main
-
Push your branch to your forked repository:
git push origin feature/your-feature-name
-
Create a Pull Request:
- Go to your forked repository on GitHub.
- Click on the Compare & pull request button.
- Provide a clear and descriptive title for your pull request.
- In the description, explain the changes you've made and why they're necessary.
- Reference any related issues using
#issue_number.
-
Address Review Comments:
- Be responsive to feedback.
- Make necessary changes and push them to your branch.
- The pull request will automatically update.
-
Merge Approval:
- Once your pull request is approved, it will be merged into the main branch.
If you encounter any issues or have suggestions for improvements, please open an issue in the LabMateAI repository. When reporting an issue, please provide the following information:
- Title: A clear and descriptive title.
- Description: Detailed information about the issue or suggestion.
- Steps to Reproduce: If applicable, provide step-by-step instructions to reproduce the issue.
- Expected Behavior: Describe what you expected to happen.
- Actual Behavior: Describe what actually happened.
- Screenshots: If applicable, add screenshots to help explain your problem.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.
If you have any questions or need assistance, feel free to reach out:
- Email: support@labmateai.io
- GitHub Issues: Open an issue on the LabMateAI repository.
-
Running the CLI: After setting up the environment, you can run the CLI using:
python labmateai/cli.py
-
Logging: Utilize the logging functionality to debug issues. Logs can be found in the console output during CLI operations.
-
Database Setup: Ensure your
.envfile is correctly configured with your local database credentials.
Ensure that all links are functional and point to the correct resources within your repository or external sites.
- PEP 8: Python's style guide.
- Google Style Docstrings: Guidelines for writing docstrings.
- LabMateAI Repository: Main repository link.
If applicable, include screenshots or GIFs to visually guide contributors through certain processes.
Figure 1: Example of the LabMateAI CLI in action.
Thank you for contributing to LabMateAI! Your efforts help advance scientific research by making tool discovery more accessible.
