Thanks for your interest! :heart: :man_dancing: :woman_dancing: We would love for you to contribute to Logseq and help make it even better than it is today!
As a contributor, here is an overview of things to learn about and ways to get involved:
Help us keep Logseq open and inclusive. Please read and follow our Code of Conduct.
There are many ways you can help. Here are some ways to help without coding:
For ways to help with coding, read the next section.
For contributors who want to help with coding, we have a list of good first issues to help you get started. These are issues that are beginner-friendly and do not require advanced knowledge of the codebase. We encourage new contributors to start with these issues and gradually work their way up to more challenging tasks. Another way to help with coding is by extending Logseq with plugins and submitting them to the marketplace so that the whole community can benefit.
Please do not open issues for general support questions or feature requests as we want to keep GitHub issues for bug reports. Instead, we recommend using Logseq forum to ask support-related questions.
The Logseq forum is a much better place to ask questions since:
To save your and our time, we will systematically close all issues that are requests for general support and redirect people to the forum.
If you would like to chat about the question in real-time, you can reach out via our Discord server.
If you find a bug, you can help us by submitting an issue to our GitHub Repository. Even better, you can submit a Pull Request with a fix.
You can request a new feature by Creating a thread in our forum. If you would like to implement a new feature, please open an issue and outline your proposal so that it can be discussed.
Before you submit an issue, please search the issue tracker. An issue for your problem might already exist and the discussion might inform you of workarounds readily available.
To submit an issue, fill out the bug report template. Please file a single issue per problem and do not enumerate multiple bugs in the same issue.
The template will ask you to include the following with each issue:
Before working on your pull request, please check the following:
Search GitHub for related PRs that may affect your submission.
Be sure that an issue describes the problem you're fixing or the feature behavior and design you'd like to add.
Please sign our Contributor License Agreement (CLA). We cannot accept code without a signed CLA.
After doing the above, you are ready to work on your PR! To create a PR, fork
this repository and then create a branch for the fix. If contributing to the database version, create a branch from master. If contributing to the file (text-only) version e.g. any version up to 0.10.X
, create a branch from version/file.
Once you push your code to
your fork, you'll be able to open a PR to the Logseq repository. For more info,
you can follow this GitHub
guide.
For more github PR guides, see these
guides.
When submitting a Pull Request (PR) or expecting a subsequent review, please follow these guidelines:
The PR is ready for review. If you have work you know how to do, then please keep your changes local until they are ready. If you need help with your PR, feel free to submit with questions.
The PR checks which include tests and lint checks are passing.
The PR has no merge conflicts.
The PR has test(s) for features or enhancements. Tests for bug fixes are also appreciated as they help prevent regressions.
The PR has a descriptive title that a user can understand. We use these titles to generate changelogs for the user. Most titles use one of these prefixes to categorize the PR e.g. PREFIX: DESCRIPTION ...
:
chore
- Misc changes that aren't dev, feat or fixdev
- Developer related changesenhance
- Enhancements i.e. changes to existing featuresfeat
or feature
- New featuresfix
- Bug fixestest
- Test only changesThe PR having "allow edits from maintainers" enabled would be appreciated. Helps us help your contribution.
The PR avoids the following changes that are not helpful to the core team:
package.json
Please sign our Contributor License Agreement (CLA) before sending pull requests. For any code changes to be accepted, the CLA must be signed. It's a quick process, we promise!
If you have more than one GitHub account or multiple email addresses associated with a single GitHub account, you must sign the CLA using the primary email address of the GitHub account used to author Git commits and send pull requests.
The following documents can help you sort out issues with GitHub accounts and multiple email addresses:
Your contributions to open source, large or small, make great projects like this possible. Thank you for taking the time to contribute.