Skip to content

Commit

Permalink
Add CONTRIBUTING.md (#112)
Browse files Browse the repository at this point in the history
  • Loading branch information
ryonakano authored Feb 18, 2024
1 parent 8d0a0b1 commit 2c0210f
Show file tree
Hide file tree
Showing 2 changed files with 103 additions and 12 deletions.
97 changes: 97 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Contribution Guideline

Thank you for getting interested in contribution to this project! We really appreciate it. 😊

## Table of Contents

- [Submit Bug Reports or Feature Requests](#submit-bug-reports-or-feature-requests)
- [Translate the Project](#translate-the-project)
- [Propose Code Changes](#propose-code-changes)
- [Coding Style](#coding-style)
- [Manage the Project](#manage-the-project)
- [Release Flow](#release-flow)

## Submit Bug Reports or Feature Requests

- [Search for existing issues](https://github.com/ryonakano/konbucase/issues) to check if it's a known issue.
- If it's not reported yet, [create a new issue](https://github.com/ryonakano/konbucase/issues/new).

> [!TIP]
> If you are not used to do, [this section](https://docs.elementary.io/contributor-guide/feedback/reporting-issues#creating-a-new-issue-report) is for you.
## Translate the Project

We accept translations through Weblate:

- [konbucase-app](https://hosted.weblate.org/projects/rosp/konbucase-app/): Texts in the app itself
- [konbucase-metainfo](https://hosted.weblate.org/projects/rosp/konbucase-metainfo/): Texts in the desktop entry and the software center

Alternatively, you can fork this repository, edit the `*.po` files directly, and submit changes through pull requests.

> [!NOTE]
> Strings in the translation files are updated automatically if they're changed in the source code.
>
> Things to happen when strings are changed in the source code:
>
> - GitHub Actions ([gettext-flatpak](https://github.com/elementary/actions/tree/main/gettext-flatpak)) updates the `*.pot` file and commits it to the repository
> - Weblate Addon ([Update PO files to match POT (msgmerge)](https://docs.weblate.org/en/latest/admin/addons.html#addon-weblate-gettext-msgmerge)) detects the modification of `*.pot` file, updates `*.po` files accordingly, and commits them to the repository
## Propose Code Changes

We accept changes to the source code through pull requests―even a small typo fix is welcome.

> [!TIP]
> Again, [the guideline by elementary](https://docs.elementary.io/contributor-guide/development/prepare-code-for-review) would be helpful here too.
### Coding Style

We follow [the coding style of elementary OS](https://docs.elementary.io/develop/writing-apps/code-style) and [its Human Interface Guidelines](https://docs.elementary.io/hig/). Try to respect them.

## Manage the Project

### Release Flow
#### Works in Project Repository

- Repository URL: https://github.com/ryonakano/konbucase
- Decide the version number of the release
- Versioning should follow [Semantic Versioning](https://semver.org/)
- Create a new branch named `release-X.Y.Z` from the latest `origin/main` (`X.Y.Z` is the version number)
- See changes since the previous release: `git diff $(git describe --tags --abbrev=0)..release-X.Y.Z`
- Perform changes
- Write a release note in `data/konbucase.metainfo.xml.in`
- Refer to [the Metainfo guidelines by Flathub](https://docs.flathub.org/docs/for-app-authors/metainfo-guidelines/#release)
- Credits contributors with their GitHub username
- Translation contributors are excluded because some don't have a GitHub account. Just writing `Update translations` is fine
- Bump `version` in `meson.build`
- Update screenshots if there are visual changes between releases
- Create a pull request with the above changes
- Merge it once the build succeeded
- [Create a new release on GitHub](https://github.com/ryonakano/konbucase/releases/new)
- Create a new tag named `X.Y.Z`
- Release title: `<Project Name> X.Y.Z Released`
- It's fine to reuse the release note in the metainfo file as the release description. Just convert XML to Markdown
- Publish it when completed

#### Works in AppCenter Review repository

- Repository URL: https://github.com/elementary/appcenter-reviews
- Fork the repository if you don't have write access to it
- Create a new branch named `com.github.ryonakano.konbucase-X.Y.Z`
- Perform changes
- Change `commit` and `version` in the `applications/com.github.ryonakano.konbucase.json`
- `commit` should be the release commit just we published on the project repository
- `version` for the relase version
- Create a pull request with the above changes
- Await for review approval and merge
- The new release should be available on AppCenter after some time

#### Works in Flathub repository

- Repository URL: https://github.com/flathub/com.github.ryonakano.konbucase
- Create a new branch named `release-X.Y.Z`
- Perform changes
- Change `url` and `sha256` in the manifest file
- These two parameters should point to the tar.gz of the release assets just we published on the project repository
- Create a pull request with the above changes
- Merge it once the build succeeded
- The new release should be available on Flathub after some time
18 changes: 6 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,22 +48,16 @@ com.github.ryonakano.konbucase
```

## Contributing
There are many ways you can contribute, even if you don't know how to code.

### Reporting Bugs or Suggesting Improvements
Simply [create a new issue](https://github.com/ryonakano/konbucase/issues/new) describing your problem and how to reproduce or your suggestion. If you are not used to do, [this section](https://docs.elementary.io/contributor-guide/feedback/reporting-issues) is for you.
Please refer to [the contribution guideline](CONTRIBUTING.md) if you would like to:

### Writing Some Code
We follow [the coding style of elementary OS](https://docs.elementary.io/develop/writing-apps/code-style) and [its Human Interface Guidelines](https://docs.elementary.io/hig/). Try to respect them.
- submit bug reports / feature requests
- propose coding changes
- translate the project

### Translation
We accept translations of this project through [Weblate](https://weblate.org/). We would appreciate it if you would join our translation work!
## Get Support

Click the following graphs to get started:

| App: Texts in the app itself | Metainfo: Texts in the desktop entry and the software center |
| --- | --- |
| [![Translation status](https://hosted.weblate.org/widgets/rosp/-/konbucase-app/multi-auto.svg)](https://hosted.weblate.org/projects/rosp/konbucase-app) | [![Translation status](https://hosted.weblate.org/widgets/rosp/-/konbucase-metainfo/multi-auto.svg)](https://hosted.weblate.org/projects/rosp/konbucase-metainfo) |
Need help in use of the app? Refer to [the discussions page](https://github.com/ryonakano/konbucase/discussions) to search for existing discussions or [start a new discussion](https://github.com/ryonakano/konbucase/discussions/new/choose) if none is relevant.

## The Story of the App Name
![Drawing of Konbu](data/Konbu.png)
Expand Down

0 comments on commit 2c0210f

Please sign in to comment.