ebiten/CONTRIBUTING.md
2022-10-13 18:08:05 +09:00

66 lines
2.3 KiB
Markdown

# Contributing to Ebitengine
Ebitengine is an open source project and we appreciate your contributions!
There are some rules for Ebitengine contribution.
## Filing an issue in the GitHub issue
File an issue in the GitHub issues, if you find a problem or have a feature request but this is not filed.
Except for very trivial fixes like fixing misspelling, it is a must to have an issue.
## Asking us when you are not sure
In Ebitengine, problems might not be documented very well in GitHub issues. Please ask us before you work on such issue.
You can ask us at these communities:
* [Ebitengine Discord Server](https://discord.gg/3tVdM5H8cC)
* `#ebitengine` channel in [Gophers Slack](https://invite.slack.golangbridge.org/)
* [GitHub Discussion](https://github.com/hajimehoshi/ebiten/discussions)
## Following the Go convention
Please follow the Go convension like [Effective Go](https://golang.org/doc/effective_go.html).
For example, formatting by `go fmt` is required.
## Adding copyright comments to each file
```go
// Copyright [YYYY] The Ebitengine Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
```
You don't have to update existing files' license comments.
## Adding build tags for examples
```go
//go:build example
// +build example
```
`example` is to prevent from installing executions by `go get github.com/hajimehoshi/ebiten/v2/...`.
## Implementation details
See the [documents](https://ebitengine.org/en/documents/implementation.html) about internal implementation.
## Fixing the documentation
Ebitengine's documentations are managed at [ebitengine/ebitengine.org](https://github.com/ebitengine/ebitengine.org).
Before submitting a documentation PR, read through the [README](https://github.com/ebitengine/ebitengine.org/blob/main/README.md) in that repo.