From 7281d8e085bdf3f999396c1792d6f347b86ee2c0 Mon Sep 17 00:00:00 2001 From: Amolith Date: Fri, 4 Oct 2024 12:53:48 -0600 Subject: [PATCH] Move contributing section to separate file --- CONTRIBUTING.md | 117 ++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 116 ++--------------------------------------------- 2 files changed, 120 insertions(+), 113 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000000000000000000000000000000000..d465d013d6431d5c01b2cdc5d51ec4101073996d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,117 @@ +# Contributing to Willow + +_Let us know if anything's missing from here and we'll expand it!_ + +Contributions are very much welcome! Please take a look at the [ticket +tracker][todo] and see if there's anything you're interested in working on. If +there's specific functionality you'd like to see implemented and it's not +mentioned in the ticket tracker, please describe it through one of [the +communication platforms](#communication) below so we can discuss its inclusion. +If we don't feel like it fits with Willow's goals, you're encouraged to fork the +project and make whatever changes you like! + +### Collaboration + +Some people dislike GitHub, some people dislike SourceHut, and some people +dislike both. Collaboration happens on multiple platforms so anyone can +contribute to Willow however they like. Any of the following are suitable, but +they're listed in order of Amolith's preference: + +- [SourceHut] + - **Distributed:** contributions are either through [git send-email], which + requires you to have SMTP access to an email address, or through SourceHut's + web UI, which requires a SourceHut account. + - **Open source:** SourceHut components are licenced under AGPL, BSD, and + possibly others. + -
Configuring git for git send-email (click to expand) + git-send-email.io is a great resource for getting started. Please run the following commands before submitting patches to Willow. +
+    git config sendemail.to "~amolith/willow@lists.sr.ht"
+    git config format.subjectPrefix "PATCH willow"
+    
+
+- [Radicle] + - **Distributed:** contributions are through the [Heartwood protocol], which + requires you to at least set up a local Radicle node. + - **Open source:** Radicle components are licenced under Apache, MIT, GPL, and + possibly others. +- [Codeberg] + - **Centralised:** contributions are through Codeberg pull requests and + require a Codeberg account. + - **Open source:** Codeberg is powered by Forgejo, which is licensed under MIT. +- [GitHub] + - **Centralised:** contributions are through GitHub pull requests and require + a GitHub account. + - **Mixed:** _components_ of GitHub are open source, such as the syntax + highlighter, but everything that makes GitHub _useful_ is proprietary. + +[SourceHut]: https://sr.ht/~amolith/willow +[git send-email]: https://git-send-email.io +[Radicle]: https://radicle.secluded.site/nodes/seed.secluded.site/rad:z34saeE8jnN5KbGRuLSggJ3eeLtew +[Heartwood protocol]: https://radicle.xyz/guides/protocol +[Codeberg]: https://codeberg.org/Amolith/willow +[GitHub]: https://github.com/Amolith/willow + +### Communication + +Questions, comments, and patches can always go to the [mailing list][email], but +there's also an [IRC channel][irc] and an [XMPP MUC][xmpp] for real-time +interactions. + +- Email: [~amolith/willow@lists.sr.ht][email] +- IRC: [irc.libera.chat/#willow][irc] +- XMPP: [willow@muc.secluded.site][xmpp] + +[email]: mailto:~amolith/willow@lists.sr.ht +[irc]: ircs://irc.libera.chat/#willow +[xmpp]: xmpp:willow@muc.secluded.site?join +[todo]: https://todo.sr.ht/~amolith/willow + +_If you haven't used mailing lists before, please take a look at [SourceHut's +documentation](https://man.sr.ht/lists.sr.ht/), especially the etiquette +section._ + +### Before committing anything... + +Please make sure you configure git to sign [the DCO] in each commit. We won't +accept contributions without DCO signatures. + +``` shell +git config format.signOff yes +``` + +[the DCO]: https://developercertificate.org/ + +### Required tools + +- [Go](https://go.dev/) +- [gofumpt](https://github.com/mvdan/gofumpt) + - Stricter formatting rules than the default `go fmt` +- [golangci-lint](https://golangci-lint.run/) + - Aggregates various preinstalled Go linters, runs them in parallel, and makes + heavy use of the Go build cache +- [Staticcheck](https://staticcheck.dev/) + - Uses static analysis to find bugs and performance issues, offer + simplifications, and enforce style rules + +### Suggested tools + +- [just](https://github.com/casey/just) + - Command runner to simplify use of the required tools +- [air](https://github.com/cosmtrek/air) + - Watches source files and rebuilds/executes the project when sources change + +#### Using Air + +Running `air` with no arguments from inside Willow's repo launches Air using our +supplied config. Willow runs on [localhost:1313](http://localhost:1313) directly +and Air proxies Willow at [localhost:8888](http://localhost:8888) to provide +live reloading. Air notices when you save source files, rebuilds and re-launches +the binary automatically, and reloads the page in your browser for you. + +[goreportcard-badge]: https://goreportcard.com/badge/git.sr.ht/~amolith/willow +[goreportcard]: https://goreportcard.com/report/git.sr.ht/~amolith/willow +[reuse]: https://api.reuse.software/info/git.sr.ht/~amolith/willow +[reuse-shield]: https://shields.io/reuse/compliance/git.sr.ht/~amolith/willow +[fosspay]: https://secluded.site/donate/ +[fosspay-shield]: https://shields.io/badge/donate-fosspay-yellow diff --git a/README.md b/README.md index 44b12757dcc034f94adcb7127b673a8cd265c5fb..e8a6fcfe81aa49b879c61a4d618bc36444acaf21 100644 --- a/README.md +++ b/README.md @@ -126,116 +126,6 @@ If there are projects where your selected version _does_ match what Willow thinks is latest, they'll show up at the bottom under the **Up-to-date projects** heading. -## Contributing - -Contributions are very much welcome! Please take a look at the [ticket -tracker][todo] and see if there's anything you're interested in working on. If -there's specific functionality you'd like to see implemented and it's not -mentioned in the ticket tracker, please describe it through one of [the -communication platforms](#communication) below so we can discuss its inclusion. -If we don't feel like it fits with Willow's goals, you're encouraged to fork the -project and make whatever changes you like! - -### Collaboration - -Some people dislike GitHub, some people dislike SourceHut, and some people -dislike both. Collaboration happens on multiple platforms so anyone can -contribute to Willow however they like. Any of the following are suitable, but -they're listed in order of Amolith's preference: - -- [SourceHut] - - **Distributed:** contributions are either through [git send-email], which - requires you to have SMTP access to an email address, or through SourceHut's - web UI, which requires a SourceHut account. - - **Open source:** SourceHut components are licenced under AGPL, BSD, and - possibly others. - -
Configuring git for git send-email (click to expand) - git-send-email.io is a great resource for getting started. Please run the following commands before submitting patches to Willow. -
-    git config sendemail.to "~amolith/willow@lists.sr.ht"
-    git config format.subjectPrefix "PATCH willow"
-    
-
-- [Radicle] - - **Distributed:** contributions are through the [Heartwood protocol], which - requires you to at least set up a local Radicle node. - - **Open source:** Radicle components are licenced under Apache, MIT, GPL, and - possibly others. -- [Codeberg] - - **Centralised:** contributions are through Codeberg pull requests and - require a Codeberg account. - - **Open source:** Codeberg is powered by Forgejo, which is licensed under MIT. -- [GitHub] - - **Centralised:** contributions are through GitHub pull requests and require - a GitHub account. - - **Mixed:** _components_ of GitHub are open source, such as the syntax - highlighter, but everything that makes GitHub _useful_ is proprietary. - -[SourceHut]: https://sr.ht/~amolith/willow -[git send-email]: https://git-send-email.io -[Radicle]: https://radicle.secluded.site/nodes/seed.secluded.site/rad:z34saeE8jnN5KbGRuLSggJ3eeLtew -[Heartwood protocol]: https://radicle.xyz/guides/protocol -[Codeberg]: https://codeberg.org/Amolith/willow -[GitHub]: https://github.com/Amolith/willow - -### Communication - -Questions, comments, and patches can always go to the [mailing list][email], but -there's also an [IRC channel][irc] and an [XMPP MUC][xmpp] for real-time -interactions. - -- Email: [~amolith/willow@lists.sr.ht][email] -- IRC: [irc.libera.chat/#willow][irc] -- XMPP: [willow@muc.secluded.site][xmpp] - -[email]: mailto:~amolith/willow@lists.sr.ht -[irc]: ircs://irc.libera.chat/#willow -[xmpp]: xmpp:willow@muc.secluded.site?join -[todo]: https://todo.sr.ht/~amolith/willow - -_If you haven't used mailing lists before, please take a look at [SourceHut's -documentation](https://man.sr.ht/lists.sr.ht/), especially the etiquette -section._ - -### Before committing anything... - -Please make sure you configure git to sign [the DCO] in each commit. We won't -accept contributions without DCO signatures. - -``` shell -git config format.signOff yes -``` - -[the DCO]: https://developercertificate.org/ - -### Required tools - -- [Go](https://go.dev/) -- [gofumpt](https://github.com/mvdan/gofumpt) - - Stricter formatting rules than the default `go fmt` -- [golangci-lint](https://golangci-lint.run/) - - Aggregates various preinstalled Go linters, runs them in parallel, and makes - heavy use of the Go build cache -- [Staticcheck](https://staticcheck.dev/) - - Uses static analysis to find bugs and performance issues, offer - simplifications, and enforce style rules - -### Suggested tools - -- [just](https://github.com/casey/just) - - Command runner to simplify use of the required tools -- [air](https://github.com/cosmtrek/air) - - Watches source files and rebuilds/executes the project when sources change - -#### Using Air - -Running Air using Willow's supplied Air configuration: `air -c air.toml` launches Willow on [localhost:1313](http://localhost:1313). - -If you're working on HTML or CSS then use Air's proxy port instead [localhost:8888](http://localhost:8888) to get live reloading in the browser on every source change. - -[goreportcard-badge]: https://goreportcard.com/badge/git.sr.ht/~amolith/willow -[goreportcard]: https://goreportcard.com/report/git.sr.ht/~amolith/willow -[reuse]: https://api.reuse.software/info/git.sr.ht/~amolith/willow -[reuse-shield]: https://shields.io/reuse/compliance/git.sr.ht/~amolith/willow -[fosspay]: https://secluded.site/donate/ -[fosspay-shield]: https://shields.io/badge/donate-fosspay-yellow +### Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md).