title | slug | createdAt | updatedAt |
---|---|---|---|
Contributing to Highlight |
contributions |
2023-01-24 20:28:14 UTC |
2023-01-24 02:07:22 UTC |
First, you'll want to understand how Highlight is built to make changes. The best way to get a sense of this is to try and make simple dummy changes to different parts of the stack and see how the changes propagate.
- SDKs
sdk/
- Firstload
- Client
- highlight-node / other SDKs
- Public Graph
backend/public-graph/graph/schema.resolvers.go
- Private Graph
backend/private-graph/graph/schema.resolvers.go
- Workers
backend/worker.go
- Public graph worker
processPublicWorkerMessage
- Async worker
Start
- Public graph worker
It's best to start with issues marked as "good first issue". We mark these issues based on how well-defined and testable they are. If you're interested in a larger project, adding support for new programming languages via a new SDK would always greatly appreciated. If there is a feature you're missing in Highlight, reach out on our discussions or on our discord to get a conversation started about the best implementation.
You'll want to spin up Highlight locally to get to developing. The best way to do this is by using docker. Check out the self-hosting instructions for more info.
While we don't fret about whether you prefer tabs or spaces, we want our code to be easy to read and add to. Style preferences are codified and automated as part of CI and automated development workflows (such as husky
and gomod configurations). If you have ideas on how to improve our style linting, open a PR and let us know!
Highlight is Apache 2 licensed.
By contributing to Highlight, you agree that your contributions will be licensed under its Apache 2 license.