Thanks for taking time to contribute! awrit
is a project I work on in my spare time, so I appreciate any help I get.
Note
If you like the project, but don't have time to contribute bug reports or PRs, then there are a few things you can do to support it:
- Star the project
- Refer to this project in your project's README
- Mention it to friends and colleagues
- Answer other users posts in Discussions
This project and everyone participating in it is governed by the Awrit Code of Conduct. By participating, you are expected to uphold this code. Violations of the code of conduct may lead to issues and discussions being closed.
A good bug report shouldn't require any follow up questions for more information. Please describe the issue in detail in your report and if you suspect a root cause, provide that as well.
Before you file a bug report:
- Make sure that you are using the latest version, run
git pull
in the root of the repository and runawrit
again to see if it still occurs. - Determine if the bug is caused by using an unsupported terminal or version. Only recent versions of Kitty and Ghostty are supported.
- Check if other users have experienced (and perhaps solved) the same bug in Issues.
- Use GitHub CoPilot to see if there's a general solution that you can contribute.
- Finally, collect information about the bug:
- OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
- Terminal and Version (
kitty -v
,ghostty -v
) - Can you reliably reproduce the issue?
We use GitHub issues to track bugs and errors. If you run into an issue with the project:
- Open an Issue. (Since we can't be sure at this point whether it is a bug or not, we ask you not to talk about a bug yet and not to label the issue.)
- Explain the behavior you would expect and the actual behavior.
- Please provide as much context as possible and describe the reproduction steps that someone else can follow to recreate the issue on their own. For good bug reports you should isolate the problem and create a reduced test case.
- Provide the information you collected in the previous section.
Once it's filed:
- The project team will label the issue accordingly.
- A team member will try to reproduce the issue with your provided steps. If there are no reproduction steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as
needs-repro
. Bugs with theneeds-repro
tag will not be addressed until they are reproduced. - If the team is able to reproduce the issue, the
needs-repro
tag will be removed, and the issue will be left to be implemented by someone.
Before you ask a question, it is best to search for existing Issues and Discussions that might help you. In case you have found a suitable issue or discussion and still need clarification, you can write your question there. It is also advisable to search the internet for answers first.
If you then still feel the need to ask a question and need clarification, we recommend the following:
- Create a Q&A Discussion.
- Provide any details that lead to your question, depending on what seems relevant.
Important
When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project licence.
This section guides you through submitting an enhancement suggestion for Awrit, including completely new features and minor improvements to existing functionality. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions.
- Make sure that you are using the latest version.
- Use GitHub CoPilot to see if the feature already exists.
- Perform a search to see if the enhancement has already been suggested. If it has, add a 👍 reaction to the issue so the team can better prioritize.
- Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider forking the project and/or contributing a pull request.
Enhancement suggestions are tracked as Issues.
- 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. At this point you can also tell which alternatives do not work for you.
- You may want to include screenshots or screen recordings which help you demonstrate the steps or point out the part which the suggestion is related to. You can use LICEcap to record GIFs on macOS and Windows, and the built-in screen recorder in GNOME or SimpleScreenRecorder on Linux.
- Explain why this enhancement would be useful to most Awrit users. You may also want to point out the other projects that solved it better and which could serve as inspiration.
Install Bun.
If you're making a contribution to awrit-native-rs
, you'll also need to install Rust.
Then:
- Make a fork of the repository
- Clone your fork
- Make your changes
- Make commit messages that make it easy to understand their intent for review
- Push the commit to your fork
- Make a pull request based on your fork, then in the description of the PR:
- Describe clearly what features it contributes and why, or what bugs/issues it fixes
- Mention any related discussions or issues
- Wait for your PR to be reviewed
- If there are conflicts with the
electron
branch, please resolve them - If any changes are requested make them in the same branch of your fork and push the changes to make an update.
- If your PR is approved, it will be merged if there are no other conflicts
This guide is based loosely on the contributing.md!