ziglings/CONTRIBUTING.md

85 lines
2.4 KiB
Markdown
Raw Normal View History

2021-03-29 15:53:29 -04:00
# Contributing
2022-07-31 16:20:12 -04:00
By reading this document, you have already entered the Elite Hall
of Ziglings Maintenance!
2021-03-29 15:53:29 -04:00
## The Ziglings Audience
2022-07-31 16:20:12 -04:00
Ziglings is intended for programmers of all experience levels. No
specific language knowledge is expected. Anyone who can install
the current Zig snapshot, setup a copy of Ziglings, and knows
common language building blocks (if/then/else, loops, and
2022-11-15 07:09:42 -05:00
functions) is ready for Ziglings.
2021-03-29 15:53:29 -04:00
2022-07-31 16:20:12 -04:00
Ziglings is intended to be completely self-contained. If you
can't solve an exercise from the information you've gleaned so
far from Ziglings, then the exercise probably needs some
additional work. Please file an issue!
2021-03-29 15:53:29 -04:00
2022-07-31 16:20:12 -04:00
If an example doesn't match a description or if something is
unclear, please file an issue!
2021-03-29 15:53:29 -04:00
## Spelling/Grammar
2022-07-31 16:20:12 -04:00
If you see any typos, please file an issue...or make a pull
request!
2021-03-29 15:53:29 -04:00
2022-07-31 16:20:12 -04:00
No mistake is too small. The Ziglings must be perfect. :-)
2021-03-29 15:53:29 -04:00
## Ideas
2022-07-31 16:20:12 -04:00
If you have ideas for new lessons or a way Ziglings could be
improved, don't hesitate to file an issue.
2021-03-29 15:53:29 -04:00
2022-07-31 16:20:12 -04:00
I prefer to write the bulk of the content myself at this time
(part of the reason I'm building Ziglings is to learn Zig
myself!), but I'm always open to ideas.
2021-03-29 15:53:29 -04:00
## Platforms and Zig Versions
2022-07-31 16:20:12 -04:00
Because it uses the Zig build system, Ziglings should work
wherever Zig does.
2021-03-29 15:53:29 -04:00
2022-07-31 16:20:12 -04:00
Since Ziglings is a Zig language learning resource, it tracks the
current development snapshots of Zig from the official website
downloads page.
2021-03-29 15:53:29 -04:00
2022-07-31 16:20:12 -04:00
If you run into an error in Ziglings caused by breaking changes
in the latest development build of Zig, that's a new bug in
Ziglings. Please file an issue...or make a pull request!
2021-03-29 15:53:29 -04:00
## Formatting
2022-09-02 18:55:25 -04:00
All exercises should conform to `zig fmt`. I often forget to do
2022-07-31 16:20:12 -04:00
this.
2021-03-29 15:53:29 -04:00
## Pull Request Workflow
2022-07-31 16:20:12 -04:00
Ziglings uses the "standard" Github workflow as guided by the Web
interface. Specifically:
2021-03-29 15:53:29 -04:00
* Fork this repository
2022-07-31 16:20:12 -04:00
* Create a branch from `main` for your work:
`git checkout -b my-branch`
2021-03-29 15:53:29 -04:00
* Make changes, commit them
2022-07-31 16:20:12 -04:00
* When your changes are ready for review, push your branch:
`git push origin my-branch`
2021-03-29 15:53:29 -04:00
* Create a pull request from your branch to `ziglings/main`
2022-07-31 16:20:12 -04:00
* Your faithful Ziglings maintainer "ratfactor" (that's me!) will
take a look at your request ASAP (we don't talk about May-July
2022, LOL)
* Once the changes are reviewed, your request will be merged and
eternal Ziglings contributor glory is yours!
2021-03-29 15:53:29 -04:00
## The Secrets
2022-07-31 16:20:12 -04:00
If you want to peek at the secrets, take a look at the `patches/`
directory.