starknet.go is an open-source Golang library for Cairo developed by NethermindEth. We welcome all contributions to this repository to help enrich the Starknet community.
We operate and maintain this project using an issue and pull request model. Please track the GitHub issues section Issues of this repository, and contributors can submit Pull Requests for review by the maintainers.
We recommend the following work-flow for contributors:
- Find an issue to work on and use comments to communicate your intentions and ask questions.
- Work in a feature branch of your personal fork (github.com/YOUR_NAME/starknet.go) of the main repository (github.com/NethermindEth/starknet.go).
- After you have implemented or resolved the issue, create a pull request to merge your changes into the main repository.
- Wait for the repository maintainers to review your changes to ensure the issue is addressed.
- If the issue is resolved, the repository maintainers will merge your pull request.
starknet.go now requires linter checks to pass. Please follow these steps to install and run the linter:
-
Install
golangci-lint
:go install github.com/golangci/golangci-lint/cmd/[email protected]
-
Run the linter:
golangci-lint run
Ensure that there are no linter errors before submitting your pull request.
-
Run the linter on a specific file in a specific directory:
To run the linter on a specific file, use:
golangci-lint run path/to/your/file.go
To run the linter on all files in a specific directory, use:
golangci-lint run path/to/your/directory
Replace
path/to/your/file.go
andpath/to/your/directory
with the actual file and directory paths.
For a detailed guide on contributing to a GitHub project, check out this guide.