exercises/CONTRIBUTING.md

92 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

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
2022-11-15 12:09:42 +00:00
functions) is ready for 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
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 20:53:29 +01:00
## Platforms and Zig Versions
2024-08-19 13:04:48 +01:00
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
All exercises should conform to `zig fmt`.
2021-03-29 20:53:29 +01:00
## Pull Request Workflow
Ziglings uses the "standard" Codeberg workflow as guided by the Web
2022-07-31 21:20:12 +01:00
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`
* Your faithful Ziglings maintainers will take a look at your
request ASAP (we don't talk about May-July, LOL)
2022-07-31 21:20:12 +01:00
* 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
2024-08-19 13:04:48 +01:00
## Licence
If you submit your contribution to the repository/project,
you agree that your contribution will be licensed under
the license of this repository/this project.
Please note, it does not change your rights to use your own
contribution for any other purpose.
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.