Thank you for considering contributing to EdgeLink! We appreciate your interest and effort in helping to improve this project. This document outlines the guidelines and steps to follow when contributing to the project.
- Code of Conduct
- How Can I Contribute?
- Development Setup
- Coding Guidelines
- Commit Guidelines
- Issue and Pull Request Labels
- Community
By participating in this project, you are expected to uphold our Code of Conduct. Please report any unacceptable behavior to me: oldrev@gmail.com.
Before submitting a bug report, please check the existing issues to see if the problem has already been reported. If it hasn't, you can create a new issue.
- Use a clear and descriptive title for the issue to identify the problem.
- Describe the exact steps which reproduce the problem in as many details as possible.
- Provide specific examples to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples.
- Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.
- Explain which behavior you expected to see instead and why.
- Include screenshots or videos which show you following the described steps and clearly demonstrate the problem.
If you have an idea for a new feature or an improvement to an existing one, we'd love to hear about it! Here's how you can suggest enhancements:
- Use a clear and descriptive title for the issue to identify the suggestion.
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Describe the current behavior and explain which behavior you expected to see instead and why.
- Include screenshots and animated GIFs which help you demonstrate the steps or point out the part of the project the suggestion is related to.
- Explain why this enhancement would be useful to most users.
- Fork the repository and create your branch from
master
. - Make your changes in a new git branch:
git checkout -b feature/your-feature-name
- Follow our coding guidelines (see Coding Guidelines).
- Ensure the test suite passes.
- Make sure your code pass static checks, including
cargo fmt --all --check
andcargo clippy --all
. - Commit your changes using a descriptive commit message (see Commit Guidelines).
- Push your branch to GitHub:
git push origin feature/your-feature-name
- Submit a pull request to the
main
branch.
To set up your development environment, follow these steps:
- Clone the repository:
git clone https://github.com/oldrev/edgelink.git
- Install dependencies for Python tests (Optional):
cd edgelink pip -U -r ./tests/requirements.txt
- Run the CLI program:
cargo run
- Follow the existing code style. Consistency is key.
- Write clear and concise code. Comment your code where necessary.
- Write tests for your code and ensure all tests pass before submitting a pull request.
- Use the present tense ("Add feature" not "Added feature").
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...").
- Limit the first line to 72 characters or less.
- Reference issues and pull requests liberally after the first line.
We use labels to categorize issues and pull requests. Here are some of the labels you might see:
- bug: Something isn't working
- enhancement: New feature or request
- documentation: Improvements or additions to documentation
- good first issue: Good for newcomers
- help wanted: Extra attention is needed
Feel free to join our community discussions on Discord. We're always happy to help and discuss new ideas!
Thank you for contributing to EdgeLink! Your efforts help make this project better for everyone.