Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Contributor #133

Open
Schow94 opened this issue Oct 12, 2022 · 5 comments
Open

New Contributor #133

Schow94 opened this issue Oct 12, 2022 · 5 comments

Comments

@Schow94
Copy link
Contributor

Schow94 commented Oct 12, 2022

Hi everyone,

I am in the final year of a computer science program and one of the classes I am taking this quarter is an Open Source Software class. It’s always been something that I’ve wanted to do, but now it’s actually required by my class to contribute to an Open Source project. I’m both a newcomer to Go and contributing to Open Source so I’ve found the task a bit daunting. I’ve looked at a few other projects but what drew me to script is that fact that it’s in Go, and I thought it’d be a great way to improve with Go, use it on real-world projects, and get more involved with the Go community. As a new contributor I am a bit intimidated on where to start so it’s unlikely that I’ll actually contribute Go code, but I’m not ruling it out. Since learning more about Open Source in my class I think there are a few areas that I could help contribute:

Contributor documentation:

  • More comprehensive documentation
  • Code of Conduct
  • More examples
  • Tutorials / How-to-guides
  • Examples of testing
  • Style guide
    o Show good code vs bad code
  • Slack/Chat IRC for the contributor community
  • Email for the project
  • Bug tracker

User documentation:

  • Project website to centralize information for this project. Could be used for contributor stuff as well.
  • Installation instructions
    o “$go get …” etc.

I realize that I myself probably cannot implement all of these things, but I wanted to raise these ideas and see what everyone else thinks, in case anyone else wants to try implementing them. I hope these suggestions are not perceived as pitfalls or anything wrong with the current state of the project, just potential improvements that could help make the project more inviting for a newcomer like myself, who has no idea where to start. If there's anything that comes to mind that you think would be a good first task for a newbie, feel free to let me know as well 😊

@bitfield
Copy link
Owner

Hey @Schow94, thanks for the issue! You're most welcome to contribute in any way that you want. If there's something in particular that you'd like to work on, by all means mention it here and we can discuss the right approach.

@Schow94
Copy link
Contributor Author

Schow94 commented Oct 20, 2022

Hi @bitfield ,

I think I'd like to first start off by creating a Code of Conduct for script. It seems like a lot of open source projects base their own Code of Conduct off of a template. I found a template here: https://www.contributor-covenant.org/version/1/4/code-of-conduct/. Is there anything in particular that you think I would need to change or add for script's Code of Conduct?

@Schow94
Copy link
Contributor Author

Schow94 commented Oct 23, 2022

Hi @bitfield,
Are you able to see PR #135 that I created. I'm still new to the Git workflow as well so I'm not sure if you can see it. I wanted to assign the PR to you but I wasn't able to. I'm also not sure what the proper way to contribute to the project is. What I did was fork the repo, clone my copy to my local, make changes and push my changes to my remote copy of the project, and then merge that with the original project. Does that sound correct to you? If you can see the PR please let me know if there's anything that needs to be changed. Thank you!

@Schow94
Copy link
Contributor Author

Schow94 commented Nov 22, 2022

Hi @bitfield ,
I would like to contribute additional documentation. These might be obvious to a seasoned Go developer, but someone who's new to the language and ecosystem might appreciate some of these things.

  1. Creating go project ($go mod init ...)
  2. Installing a go package ($go get "github.com/bitfield/script")
  3. Build Go executable ($go build main.go)
  4. Different ways to run scripts using this package
    i. Running program ($go run main.go)
    ii. Piping into program ($cat test.log | ./main)
  5. I also wasn't sure how to run the tests for the project, so maybe adding some info about how to do that. I tried ($go test), but I'm not sure if that's correct.

Please let me know what you think!

@bitfield
Copy link
Owner

That sounds great @Schow94! Why don't you start by writing a blog post, or an article for your own site, which explains how to get started with a Go program using script. Then we can include a link to it in the documentation, or even include the article itself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants