mirror of
https://github.com/tmewett/BrogueCE.git
synced 2024-11-29 12:42:02 +03:00
Created Contribution guide (markdown)
parent
ab426f67e5
commit
8ab904602f
127
Contribution-guide.md
Normal file
127
Contribution-guide.md
Normal file
@ -0,0 +1,127 @@
|
||||
So, you want to help develop Brogue CE? Thank you!
|
||||
|
||||
We have a Discord server for contributors; feel free to join it:
|
||||
<https://discord.gg/8pxE4j8>
|
||||
|
||||
There are some ports of CE. They adopt all our changes, but you can contribute to port-specific parts at their repos:
|
||||
|
||||
- Web Brogue: <https://github.com/flend/web-brogue>
|
||||
- iPad: <https://github.com/btaylor84/iBrogueCE>
|
||||
|
||||
For general help on using GitHub: <https://docs.github.com/>
|
||||
|
||||
## How you can help
|
||||
|
||||
- **Test** the latest changes on the *master* branch, and let us know what you
|
||||
think and report any bugs you run into! See [[Playing dev versions]].
|
||||
|
||||
- **Fix bugs.** See issues labelled *bug*. (Also see *good first issue* for
|
||||
suggested starter fixes.)
|
||||
|
||||
- **Implement approved features.** Tickets with the *enhancement* label have
|
||||
been greenlit and just need someone to pick them up!
|
||||
|
||||
- **Add detail to ideas and tickets.** Unlabeled but open tickets just need some
|
||||
more attention or discussion to decide what they really mean and whether we
|
||||
want to try them. Turning a vague feature idea into a more detailed
|
||||
description can be useful to figure out edge cases and also helps whoever
|
||||
might implement it.
|
||||
|
||||
- **Improve the tiles** or make new alternative tile sets.
|
||||
|
||||
## Pull request guide
|
||||
|
||||
### Base branch
|
||||
|
||||
Brogue CE version numbers follow 1.MINOR.PATCH. Except in rare circumstances,
|
||||
gameplay changes are only allowed in minor releases.
|
||||
|
||||
PRs should be based on:
|
||||
|
||||
* *master* for gameplay changes for the next minor-point release
|
||||
* *release* for bug fixes and other non-gameplay changes, for the next patch
|
||||
release. It is merged into *master* periodically.
|
||||
|
||||
### Commits
|
||||
|
||||
I find a clear Git history very beneficial to work with, so I care quite a bit
|
||||
about how commits are presented in PRs.
|
||||
|
||||
Please read my [tips for using Git effectively][Git guidance], which can be
|
||||
considered guidelines for contributing to this project.
|
||||
|
||||
[Git guidance]: http://tmewett.com/git-guidance/
|
||||
|
||||
### Change files
|
||||
|
||||
When making user-facing changes, please add a non-technical description of each
|
||||
change to a .md file in `changes/`. These files are collated to
|
||||
create the release notes.
|
||||
|
||||
If the change is from one commit, include this file in it. For a branch of
|
||||
multiple commits, add it in a separate commit.
|
||||
|
||||
## Code style
|
||||
|
||||
- Use 4 spaces of indentation.
|
||||
- Be consistent with formatting (pay attention to whitespace between brackets,
|
||||
commas, etc.) and try to follow how existing code looks.
|
||||
- Declare functions and variables local to a file as `static`.
|
||||
- Prefer `int` over `short` in new integer declarations.
|
||||
- Some existing code declares all variables at the top of functions, but this isn't necessary to replicate.
|
||||
- Use braces for control structures on multiple lines:
|
||||
|
||||
```c
|
||||
// no
|
||||
if (cond)
|
||||
action();
|
||||
|
||||
// yes
|
||||
if (cond) {
|
||||
action();
|
||||
}
|
||||
|
||||
// acceptable
|
||||
if (cond) action();
|
||||
```
|
||||
|
||||
- When writing bracketed lists over multiple lines, wrap it naturally and don't
|
||||
align to the open bracket (this includes declarations):
|
||||
|
||||
```c
|
||||
// yes
|
||||
some_function(
|
||||
a, b,
|
||||
c,
|
||||
d
|
||||
);
|
||||
|
||||
// no
|
||||
some_function(a, b,
|
||||
c,
|
||||
d);
|
||||
```
|
||||
|
||||
- When writing multi-line if/while conditions, use at least the same indentation
|
||||
as the body. It can be clearer to over-indent to separate it
|
||||
|
||||
```c
|
||||
// same indent is ok, but...
|
||||
while ((A && B)
|
||||
|| C) {
|
||||
...
|
||||
}
|
||||
|
||||
// over-indent can be clearer
|
||||
while ((A && B)
|
||||
|| C) {
|
||||
...
|
||||
}
|
||||
|
||||
// a gap works too
|
||||
while ((A && B)
|
||||
|| C) {
|
||||
|
||||
...
|
||||
}
|
||||
```
|
Loading…
Reference in New Issue
Block a user