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
|
|
|
|
2023-04-24 01:12:15 +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
|
2023-04-24 01:12:15 +02:00
|
|
|
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`
|
2023-04-24 01:12:15 +02:00
|
|
|
* 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.
|