Skip to content

Latest commit

 

History

History
95 lines (77 loc) · 4.64 KB

CONTRIBUTING.md

File metadata and controls

95 lines (77 loc) · 4.64 KB

Contributing to Wangscape

Thanks for considering contributing to Wangscape! We're eager to include more people in the development process, and your help could make it easier for people to generate beautiful seamless tilesets for games and other applications.

The following guide will help you figure out where you can best be helpful, and help you make contributions that we can easily integrate into the project.

Table of Contents

  1. Project structure
  2. Types of contributions we're looking for
  3. Ground rules & expectations
  4. How to contribute
  5. Style guide
  6. Community

Project structure

The Wangscape project consists of more than one repository:

  • Wangscape contains the source code of the main Wangscape application, its tests, build files, example data, and documentation.
  • Wangview contains source code for Wangview, which can be used to view a map display using Wangscape's output tilesets. It also serves as a reference implementation for map displays based on Wangscape tilesets.
  • wangscape-build-dockerfile contains configuration files used to build Wangscape in Docker.

Types of contributions we're looking for

First and foremost, this is an application which generates terrain tilesets. There are many ways you can help make Wangscape a better tileset generator:

  • Report bugs, request features, and join discussions about those issues.
  • Improve the use of language, or add missing documentation and code comments.
  • Improve the images and configuration used in examples, or add more examples.
  • Formatting code and making it conform to best practices and project style.
  • Fix bugs or implement new features.
  • Be available to enforce the project Code of Conduct.

Ground rules & expectations

Before we get started, here are a few things we expect from you (and that you should expect from others):

  • Be kind and thoughtful in your conversations around this project. We all come from different backgrounds which means we likely have different perspectives on how Wangscape should be improved. Try to listen to others rather than convince them that your way is correct.
  • Wangscape is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.
  • If you open a pull request, please ensure that your contribution passes all tests. If there are test failures, you will need to address them before we can merge your contribution.

How to contribute

If you'd like to contribute, start by searching through the issues and pull requests to see whether someone else has raised a similar idea or question.

If you don't see your idea listed, and you think it fits into the goals of this project, do one of the following:

  • If your contribution is minor, such as a fix for a typo or simple bug, or self-contained, such as a new example, open a pull request.
  • If your contribution is major, such as a new feature or fix for a complex bug, start by opening an issue first. That way, other people can weigh in on the discussion before you do any work.

If you open a pull request, it will be reviewed and discussed by project maintainers, who may request changes. After your pull request is approved, one of the maintainers may merge the changes into the project.

The current project maintainers are @serin-delaunay and @hryniuk. If you haven't heard from anyone about your issue or pull request in 10 days, feel free to bump the thread or @-mention a maintainer to discuss or review your contribution.

Style guide

If you're writing documentation, comments, or code, see the style guide to help your contribution match the rest of the project.

Community

Discussions about Wangscape take place on this repository's Issues and Pull Requests sections. Anybody is welcome to join these conversations. There is also a Gitter channel for real-time discussions.

Wherever possible, do not take these conversations to private channels, including contacting the maintainers directly. Keeping communication public means everyone can contribute to and learn from the conversation. It also helps to inform future work on the project.