2021-03-29 20:53:29 +01:00
|
|
|
# Contributing
|
|
|
|
|
2022-07-31 21:20:12 +01:00
|
|
|
By reading this document, you have already entered the Elite Hall
|
|
|
|
of Ziglings Maintenance!
|
2021-03-29 20:53:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
## The Ziglings Audience
|
|
|
|
|
2022-07-31 21:20:12 +01: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
|
|
|
|
functions) is ready or Ziglings.
|
2021-03-29 20:53:29 +01:00
|
|
|
|
2022-07-31 21:20:12 +01: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 20:53:29 +01:00
|
|
|
|
2022-07-31 21:20:12 +01:00
|
|
|
If an example doesn't match a description or if something is
|
|
|
|
unclear, please file an issue!
|
2021-03-29 20:53:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
## Spelling/Grammar
|
|
|
|
|
2022-07-31 21:20:12 +01:00
|
|
|
If you see any typos, please file an issue...or make a pull
|
|
|
|
request!
|
2021-03-29 20:53:29 +01:00
|
|
|
|
2022-07-31 21:20:12 +01:00
|
|
|
No mistake is too small. The Ziglings must be perfect. :-)
|
2021-03-29 20:53:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
## Ideas
|
|
|
|
|
2022-07-31 21:20:12 +01: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 20:53:29 +01:00
|
|
|
|
2022-07-31 21:20:12 +01: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 20:53:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
## Platforms and Zig Versions
|
|
|
|
|
2022-07-31 21:20:12 +01:00
|
|
|
Because it uses the Zig build system, Ziglings should work
|
|
|
|
wherever Zig does.
|
2021-03-29 20:53:29 +01:00
|
|
|
|
2022-07-31 21:20:12 +01: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 20:53:29 +01:00
|
|
|
|
2022-07-31 21:20:12 +01: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 20:53:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
## Formatting
|
|
|
|
|
2022-09-02 23:55:25 +01:00
|
|
|
All exercises should conform to `zig fmt`. I often forget to do
|
2022-07-31 21:20:12 +01:00
|
|
|
this.
|
2021-03-29 20:53:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
## Pull Request Workflow
|
|
|
|
|
2022-07-31 21:20:12 +01:00
|
|
|
Ziglings uses the "standard" Github workflow as guided by the Web
|
|
|
|
interface. Specifically:
|
2021-03-29 20:53:29 +01:00
|
|
|
|
|
|
|
* Fork this repository
|
2022-07-31 21:20:12 +01:00
|
|
|
* Create a branch from `main` for your work:
|
|
|
|
`git checkout -b my-branch`
|
2021-03-29 20:53:29 +01:00
|
|
|
* Make changes, commit them
|
2022-07-31 21:20:12 +01:00
|
|
|
* When your changes are ready for review, push your branch:
|
|
|
|
`git push origin my-branch`
|
2021-03-29 20:53:29 +01:00
|
|
|
* Create a pull request from your branch to `ziglings/main`
|
2022-07-31 21:20:12 +01: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 20:53:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
## The Secrets
|
|
|
|
|
2022-07-31 21:20:12 +01:00
|
|
|
If you want to peek at the secrets, take a look at the `patches/`
|
|
|
|
directory.
|