👍🎉 First off, thanks for being interested in contributing to OpenLaw! 🎉👍
The following is a set of guidelines for contributing to OpenLaw and its open-source repositories, which are hosted in the OpenLaw Organization on GitHub.
This project and everyone participating in it is governed by the OpenLaw Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to opensource@openlaw.io.
Note: If you have a question, please don't file an issue. You'll get faster results by using the resource below.
We have a detailed FAQ on our website.
We also have an active OpenLaw Community Slack:
- Join the OpenLaw Community Slack Team
- Even though Slack is a chat service, sometimes it takes several hours for OpenLaw team members to respond — however, we'll get to your query as soon as we can! Our team is distributed across timezones and wants to help you.
- Use the
#general
channel for general questions or discussion about OpenLaw. - Use the
#bugs
channel for reporting bugs with the OpenLaw application (as distinct from bugs you encounter in running one of our libraries — for those, you should open an issue as discussed below.
This section guides you through submitting a bug report for OpenLaw Client. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
Before creating bug reports, please check this list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible.
Note: If you find a Closed issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
- Reach out to our team on Slack in the
#bugs
channel. - Perform a cursory search to see if the problem has already been reported. If it has and the issue is still open, add a comment to the existing issue instead of opening a new one.
Bugs are tracked as GitHub issues.
When creating an issue, explain the problem and include additional details to help maintainers reproduce the problem:
- Use a clear and descriptive title for the issue to identify the problem.
- Specify if your issue relates to the ScalaJS or APIClient library with a
scala
orapiclient
tag. - Describe the exact steps which reproduce the problem in as many details as possible. For example, start by explaining what you are trying to do with OpenLaw Client. When listing steps, don't just say what you did, but explain how you did it.
- Provide specific examples to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, use Markdown code blocks.
- 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 and videos which show you following the described steps and clearly demonstrate the problem. We recommend Loom.
- If the problem wasn't triggered by a specific action, describe what you were doing before the problem happened and share more information using the guidelines below.
Provide more context by answering these questions:
- Did the problem start happening recently (e.g., after updating to a new version of
openlaw
) or was this always a problem? - If the problem started happening recently, can you reproduce the problem in an older version of
openlaw
? What's the most recent version in which the problem doesn't happen? - Can you reliably reproduce the issue? If not, provide details about how often the problem happens and under which conditions it normally happens.
Include details about your configuration and environment:
- Which version of the
openlaw
library are you using? - What's the name and version of the OS you're using?
- Are you running
openlaw
in a virtual machine or Docker container? Please provide more information about your environment in that case.
This section guides you through submitting an enhancement suggestion for OpenLaw Client, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion and find related suggestions.
Before creating enhancement suggestions, please check this list as you might find out that you don't need to create one. When you are creating an enhancement suggestion, please include as many details as possible.
- Perform a cursory search to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
Enhancement suggestions are tracked as GitHub issues. Provide the following information in your issue:
- Use a clear and descriptive title for the issue to identify the suggestion.
- Specify if your issue relates to the ScalaJS or APIClient library with a
scala
orapiclient
tag. - Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Provide specific examples to demonstrate the steps. Include copy/pasteable snippets which you use in those examples, as Markdown code blocks.
- Describe the current behavior and explain which behavior you expected to see instead and why.
- Include screenshots and videos which show you following the described steps and clearly demonstrate the problem. We recommend Loom.
- Explain why this enhancement would be useful to users of OpenLaw.