NethermindEth / starknet.go

Golang Library for StarkNet/Cairo
MIT License
145 stars 105 forks source link

Update Contributing.md #550

Closed rianhughes closed 1 day ago

rianhughes commented 6 months ago

Starknet.go now requires linter checks to pass. Contributing.md should be updated to show how to install and run the linter.

Sean-Hughes commented 6 months ago

@rianhughes Thanks for sharing. I'd love for a chance to help out and work on this if possible. I've several ideas on how to improve the process and would love to chat about this together.

scarfacedotcom commented 4 months ago

I would love to take this up if it haven't already been taken....

HumbertoTM10 commented 2 months ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have 4 years working in development environments, have encountered several challenges, requests and teams focusing in reusable and efficient code, so that gives me a better understanding of the code and how to solve problems efficiently.

How I plan on tackling this issue

Will research more information regarding linter checks so I can properly explain the needs in the document Contributing.md

od-hunter commented 2 months ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello, can I be assigned this issue please? This is my first time contributing to this ecosystem and I’d love to be given the opportunity. I am a full-stack blockchain Developer, and my experience includes html, CSS, React, JavaScript, TypeScript and solidity and Cairo, rust & GO

How I plan on tackling this issue

To solve this issue, I'll take the following steps:

  1. Identify the Linter tool used for Starknet.go. This could be tools like golangci-lint for Go projects.
  2. Install the Linter (provide instructions for installing the linter).
  3. I'll write details how to run the linter to check for code issues.
  4. With all these in place, lastly, I'll update the Contributing.md: Here is my Onlydust profile link: https://app.onlydust.com/u/od-hunter. Please give me the opportunity.
Tchisom17 commented 3 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am a backend software engineer with a strong focus on Golang development and blockchain technologies, particularly in areas like smart contract development and API integration. I’ve worked on several blockchain-related projects, including integrating decentralized applications with Ethereum and Starknet. My experience with Golang allows me to build efficient, scalable backends, and I have recently been involved in leveraging Starknet’s decentralized infrastructure for Web3 projects, such as e-voting and crowdfunding systems.

Given my experience with both Golang and blockchain ecosystems, I can effectively contribute to projects like starknet.go by addressing challenges involving Starknet RPC, wallet operations, and account management. I have experience implementing and contributing to open-source projects, as well as ensuring code quality through linting, testing, and documentation. My skills in backend engineering, combined with my blockchain knowledge, make me well-suited to work on starknet.go, ensuring it continues to evolve into a robust, user-friendly package for Starknet integration.

How I plan on tackling this issue

In order to update the Contributing.md file to include instructions for running linter checks, I would first focus on making the documentation clear and easy to follow, especially for developers who may not be familiar with Golang linters. My objective would be to outline the steps for installing the linter, running it, and ensuring that code passes all checks before contributions are submitted.

The first step would involve providing detailed instructions for installing the golangci-lint tool, which is commonly used in the Go ecosystem to check for code quality issues. Since the project now requires linter checks, contributors should first install the linter using a simple command: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest. This command ensures that contributors are using the latest version of the linter, which includes all the necessary checks for the starknet.go codebase.

Once the linter is installed, contributors need clear instructions on how to run it. I would explain that they should use the command golangci-lint run to scan their code for potential issues before submitting a pull request. This command will run a series of checks, including formatting, unused variables, and possible coding errors. Running the linter locally ensures that contributors can catch issues early and fix them before creating a pull request.

In addition, I would include guidance on how to interpret the output from the linter. For example, if the linter detects issues, contributors should review the output, which typically includes file names and line numbers indicating where the problems are. I would also advise contributors to rerun the linter after addressing the reported issues to ensure that all problems are resolved. Furthermore, I would recommend including a section explaining how to lint specific files or directories in case contributors want to limit their checks to the files they are modifying. For example, they can use golangci-lint run ./path/to/file.go to lint only a specific file or directory.

Finally, I would highlight the importance of running the linter as part of the development workflow and not relying solely on CI/CD to catch errors. Linting early in the process helps streamline code reviews and reduces the number of changes required after a pull request is submitted.