ziglings/CONTRIBUTING.md

83 lines
2.4 KiB
Markdown
Raw Normal View History

2021-03-29 21:53:29 +02:00
# Contributing
2022-07-31 22:20:12 +02:00
By reading this document, you have already entered the Elite Hall
of Ziglings Maintenance!
2021-03-29 21:53:29 +02:00
## The Ziglings Audience
2022-07-31 22:20:12 +02: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 13:09:42 +01:00
functions) is ready for Ziglings.
2021-03-29 21:53:29 +02:00
2022-07-31 22:20:12 +02: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 21:53:29 +02:00
2022-07-31 22:20:12 +02:00
If an example doesn't match a description or if something is
unclear, please file an issue!
2021-03-29 21:53:29 +02:00
## Spelling/Grammar
2022-07-31 22:20:12 +02:00
If you see any typos, please file an issue...or make a pull
request!
2021-03-29 21:53:29 +02:00
2022-07-31 22:20:12 +02:00
No mistake is too small. The Ziglings must be perfect. :-)
2021-03-29 21:53:29 +02:00
## Ideas
2022-07-31 22:20:12 +02: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 21:53:29 +02:00
Feel free to submit new exercises but please understand that they
may be heavily edited or rejected entirely if we feel they don't
fit for one reason or another.
2021-03-29 21:53:29 +02:00
## Platforms and Zig Versions
2022-07-31 22:20:12 +02:00
Because it uses the Zig build system, Ziglings should work
wherever Zig does.
2021-03-29 21:53:29 +02:00
2022-07-31 22:20:12 +02: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 21:53:29 +02:00
2022-07-31 22:20:12 +02: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 21:53:29 +02:00
## Formatting
2022-09-03 00:55:25 +02:00
All exercises should conform to `zig fmt`. I often forget to do
2022-07-31 22:20:12 +02:00
this.
2021-03-29 21:53:29 +02:00
## Pull Request Workflow
2022-07-31 22:20:12 +02:00
Ziglings uses the "standard" Github workflow as guided by the Web
interface. Specifically:
2021-03-29 21:53:29 +02:00
* Fork this repository
2022-07-31 22:20:12 +02:00
* Create a branch from `main` for your work:
`git checkout -b my-branch`
2021-03-29 21:53:29 +02:00
* Make changes, commit them
2022-07-31 22:20:12 +02:00
* When your changes are ready for review, push your branch:
`git push origin my-branch`
2021-03-29 21:53:29 +02:00
* Create a pull request from your branch to `ziglings/main`
* Your faithful Ziglings maintainers will take a look at your
request ASAP (we don't talk about May-July 2022, LOL)
2022-07-31 22:20:12 +02:00
* Once the changes are reviewed, your request will be merged and
eternal Ziglings contributor glory is yours!
2021-03-29 21:53:29 +02:00
## The Secrets
2022-07-31 22:20:12 +02:00
If you want to peek at the secrets, take a look at the `patches/`
directory.