mirror of
https://activitypub.software/TransFem-org/sfm-js
synced 2024-11-21 13:45:10 +00:00
Update contribution guides
This commit is contained in:
parent
e0ca4931e6
commit
6df67a4bf2
3 changed files with 67 additions and 28 deletions
28
.github/pull_request_template.md
vendored
28
.github/pull_request_template.md
vendored
|
@ -1,30 +1,10 @@
|
||||||
<!-- ℹ お読みください
|
<!-- ℹ お読みください
|
||||||
PRありがとうございます! PRを作成する前に、以下をご確認ください:
|
PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
|
||||||
- 可能であればタイトルに、以下で示すようなPRの種類が分かるキーワードをプリフィクスしてください。
|
https://github.com/misskey-dev/misskey.js/blob/develop/CONTRIBUTING.md
|
||||||
- fix / refactor / feat / enhance / perf / chore
|
|
||||||
- また、PRの粒度が適切であることを確認してください。ひとつのPRに複数の種類の変更や関心を含めることは避けてください。
|
|
||||||
- このPRによって解決されるIssueがある場合は、そのIssueへの参照を本文内に含めてください。
|
|
||||||
- CHANGELOG.mdに変更点を追記してください。リファクタリングなど、利用者に影響を与えない変更についてはこの限りではありません。
|
|
||||||
- この変更により新たに作成、もしくは更新すべきドキュメントがないか確認してください。
|
|
||||||
- 機能追加やバグ修正をした場合は、可能であればテストケースを追加してください。
|
|
||||||
- テスト、Lintが通っていることを予め確認してください。
|
|
||||||
- `npm run test`、`npm run lint`でぞれぞれ実施可能です
|
|
||||||
- `npm run api`を実行してAPIレポートを更新し、差分がある場合はコミットしてください。
|
|
||||||
ご協力ありがとうございます🤗
|
|
||||||
-->
|
-->
|
||||||
<!-- ℹ README
|
<!-- ℹ README
|
||||||
Thank you for your PR! Before creating a PR, please check the following:
|
Thank you for your PR! Before creating a PR, please check the contribution guide:
|
||||||
- If possible, prefix the title with a keyword that identifies the type of this PR, as shown below.
|
https://github.com/misskey-dev/misskey.js/blob/develop/docs/CONTRIBUTING.en.md
|
||||||
- fix / refactor / feat / enhance / perf / chore
|
|
||||||
- Also, make sure that the granularity of this PR is appropriate. Please do not include more than one type of change or interest in a single PR.
|
|
||||||
- If there is an Issue which will be resolved by this PR, please include a reference to the Issue in the text.
|
|
||||||
- Please add the summary of the changes to CHANGELOG.md. However, this is not necessary for changes that do not affect the users, such as refactoring.
|
|
||||||
- Check if there are any documents that need to be created or updated due to this change.
|
|
||||||
- If you have added a feature or fixed a bug, please add a test case if possible.
|
|
||||||
- Please make sure that tests and Lint are passed in advance.
|
|
||||||
- You can run it with `npm run test` and `npm run lint`.
|
|
||||||
- Run `npm run api` to update the API report and commit it if there are any diffs.
|
|
||||||
Thanks for your cooperation 🤗
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
# What
|
# What
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
# Contribution guide
|
# Contribution guide
|
||||||
|
**[✨ English version available](/docs/CONTRIBUTING.en.md)**
|
||||||
|
|
||||||
プロジェクトに興味を持っていただきありがとうございます!
|
プロジェクトに興味を持っていただきありがとうございます!
|
||||||
このドキュメントでは、プロジェクトに貢献する際に必要な情報をまとめています。
|
このドキュメントでは、プロジェクトに貢献する際に必要な情報をまとめています。
|
||||||
|
|
||||||
|
@ -8,10 +10,37 @@
|
||||||
また、実装に取り掛かるときは当該Issueに自分をアサインしてください(自分でできない場合は他メンバーに自分をアサインしてもらうようお願いしてください)。
|
また、実装に取り掛かるときは当該Issueに自分をアサインしてください(自分でできない場合は他メンバーに自分をアサインしてもらうようお願いしてください)。
|
||||||
自分が実装するという意思表示をすることで、作業がバッティングするのを防ぎます。
|
自分が実装するという意思表示をすることで、作業がバッティングするのを防ぎます。
|
||||||
|
|
||||||
|
## Issues
|
||||||
|
Issueを作成する前に、以下をご確認ください:
|
||||||
|
- 重複を防ぐため、既に同様の内容のIssueが作成されていないか検索してから新しいIssueを作ってください。
|
||||||
|
- Issueを質問に使わないでください。
|
||||||
|
- Issueは、要望、提案、問題の報告にのみ使用してください。
|
||||||
|
- 質問は、[Misskey Forum](https://forum.misskey.io/)や[Discord](https://discord.gg/Wp8gVStHW3)でお願いします。
|
||||||
|
|
||||||
|
## PRの作成
|
||||||
|
PRを作成する前に、以下をご確認ください:
|
||||||
|
- 可能であればタイトルに、以下で示すようなPRの種類が分かるキーワードをプリフィクスしてください。
|
||||||
|
- fix / refactor / feat / enhance / perf / chore 等
|
||||||
|
- また、PRの粒度が適切であることを確認してください。ひとつのPRに複数の種類の変更や関心を含めることは避けてください。
|
||||||
|
- このPRによって解決されるIssueがある場合は、そのIssueへの参照を本文内に含めてください。
|
||||||
|
- [`CHANGELOG.md`](/CHANGELOG.md)に変更点を追記してください。リファクタリングなど、利用者に影響を与えない変更についてはこの限りではありません。
|
||||||
|
- この変更により新たに作成、もしくは更新すべきドキュメントがないか確認してください。
|
||||||
|
- 機能追加やバグ修正をした場合は、可能であればテストケースを追加してください。
|
||||||
|
- テスト、Lintが通っていることを予め確認してください。
|
||||||
|
- `npm run test`、`npm run lint`でぞれぞれ実施可能です
|
||||||
|
- `npm run api`を実行してAPIレポートを更新し、差分がある場合はコミットしてください。
|
||||||
|
- APIレポートの詳細については[こちら](#api-extractor)
|
||||||
|
|
||||||
|
ご協力ありがとうございます🤗
|
||||||
|
|
||||||
## Tools
|
## Tools
|
||||||
|
### eslint
|
||||||
|
このプロジェクトではコードのフォーマットチェック/整形に[eslint](https://eslint.org/)を導入しています。
|
||||||
|
CI上でも自動でチェックされ、ルールに則っていないコードがあるとエラーになります。
|
||||||
|
|
||||||
### Jest
|
### Jest
|
||||||
このプロジェクトではテストフレームワークとして[Jest](https://jestjs.io/)を導入しています。
|
このプロジェクトではテストフレームワークとして[Jest](https://jestjs.io/)を導入しています。
|
||||||
テストは[`/test`ディレクトリ](./test)に置かれます。
|
テストは[`/test`ディレクトリ](/test)に置かれます。
|
||||||
|
|
||||||
テストはCIにより各コミット/各PRに対して自動で実施されます。
|
テストはCIにより各コミット/各PRに対して自動で実施されます。
|
||||||
ローカル環境でテストを実施するには、`npm run test`を実行してください。
|
ローカル環境でテストを実施するには、`npm run test`を実行してください。
|
||||||
|
@ -19,14 +48,14 @@
|
||||||
### tsd
|
### tsd
|
||||||
このプロジェクトでは型のテストを行うために[tsd](https://github.com/SamVerschueren/tsd)を導入しています。
|
このプロジェクトでは型のテストを行うために[tsd](https://github.com/SamVerschueren/tsd)を導入しています。
|
||||||
Jestによるテストでは「型が期待したものか」というのはチェックすることができません。tsdを使うことで、型が意図したものであることを担保することができます。
|
Jestによるテストでは「型が期待したものか」というのはチェックすることができません。tsdを使うことで、型が意図したものであることを担保することができます。
|
||||||
tsdによる型テストは[`/test-d`ディレクトリ](./test-d)に置かれます。
|
tsdによる型テストは[`/test-d`ディレクトリ](/test-d)に置かれます。
|
||||||
|
|
||||||
テストはCIにより各コミット/各PRに対して自動で実施されます。
|
テストはCIにより各コミット/各PRに対して自動で実施されます。
|
||||||
ローカル環境でテストを実施するには、`npm run test`を実行してください。
|
ローカル環境でテストを実施するには、`npm run test`を実行してください。
|
||||||
|
|
||||||
### API Extractor
|
### API Extractor
|
||||||
このプロジェクトでは[API Extractor](https://api-extractor.com/)を導入しています。API ExtractorはAPIレポートを生成する役割を持ちます。
|
このプロジェクトでは[API Extractor](https://api-extractor.com/)を導入しています。API ExtractorはAPIレポートを生成する役割を持ちます。
|
||||||
APIレポートはいわばAPIのスナップショットで、このライブラリが外部に公開(export)している各種関数や型の定義が含まれています。`npm run api`コマンドを実行すると、その時点でのレポートが[`/etc`ディレクトリ](./etc)に生成されるようになっています。
|
APIレポートはいわばAPIのスナップショットで、このライブラリが外部に公開(export)している各種関数や型の定義が含まれています。`npm run api`コマンドを実行すると、その時点でのレポートが[`/etc`ディレクトリ](/etc)に生成されるようになっています。
|
||||||
|
|
||||||
exportしているAPIに変更があると、当然生成されるレポートの内容も変わるので、例えばdevelopブランチで生成されたレポートとPRのブランチで生成されたレポートを比較することで、意図しない破壊的変更の検出や、破壊的変更の影響確認に用いることができます。
|
exportしているAPIに変更があると、当然生成されるレポートの内容も変わるので、例えばdevelopブランチで生成されたレポートとPRのブランチで生成されたレポートを比較することで、意図しない破壊的変更の検出や、破壊的変更の影響確認に用いることができます。
|
||||||
また、各コミットや各PRで実行されるCI内部では、都度APIレポートを生成して既存のレポートと差分が無いかチェックしています。もし差分があるとエラーになります。
|
また、各コミットや各PRで実行されるCI内部では、都度APIレポートを生成して既存のレポートと差分が無いかチェックしています。もし差分があるとエラーになります。
|
||||||
|
@ -42,7 +71,7 @@ PRを作る際は、`npm run api`コマンドを実行してAPIレポートを
|
||||||
また、各PRに対してもそのブランチのカバレッジが自動的に計算され、マージ先のカバレッジとの差分を含んだレポートがCodecovのbotによりコメントされます。これにより、そのPRをマージすることでどれくらいカバレッジが増加するのか/減少するのかを確認することができます。
|
また、各PRに対してもそのブランチのカバレッジが自動的に計算され、マージ先のカバレッジとの差分を含んだレポートがCodecovのbotによりコメントされます。これにより、そのPRをマージすることでどれくらいカバレッジが増加するのか/減少するのかを確認することができます。
|
||||||
|
|
||||||
## レビュイーの心得
|
## レビュイーの心得
|
||||||
PRを作成するときのテンプレートに色々書いてあるので読んでみてください。(このドキュメントに移してもいいかも?)
|
[PRのセクション](#PRの作成)をご一読ください。
|
||||||
また、後述の「レビュー観点」も意識してみてください。
|
また、後述の「レビュー観点」も意識してみてください。
|
||||||
|
|
||||||
## レビュワーの心得
|
## レビュワーの心得
|
||||||
|
|
30
docs/CONTRIBUTING.en.md
Normal file
30
docs/CONTRIBUTING.en.md
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# Contribution guide
|
||||||
|
:v: Thanks for your contributions :v:
|
||||||
|
|
||||||
|
**ℹ️ Important:** This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
|
||||||
|
Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
|
||||||
|
The accuracy of translation into Japanese is not high, so it will be easier for us to understand if you write it in the original language.
|
||||||
|
It will also allow the reader to use the translation tool of their preference if necessary.
|
||||||
|
|
||||||
|
## Issues
|
||||||
|
Before creating an issue, please check the following:
|
||||||
|
- To avoid duplication, please search for similar issues before creating a new issue.
|
||||||
|
- Do not use Issues as a question.
|
||||||
|
- Issues should only be used to feature requests, suggestions, and report problems.
|
||||||
|
- Please ask questions in the [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3).
|
||||||
|
|
||||||
|
## Creating a PR
|
||||||
|
Thank you for your PR! Before creating a PR, please check the following:
|
||||||
|
- If possible, prefix the title with a keyword that identifies the type of this PR, as shown below.
|
||||||
|
- fix / refactor / feat / enhance / perf / chore etc.
|
||||||
|
- Also, make sure that the granularity of this PR is appropriate. Please do not include more than one type of change or interest in a single PR.
|
||||||
|
- If there is an Issue which will be resolved by this PR, please include a reference to the Issue in the text.
|
||||||
|
- Please add the summary of the changes to [`CHANGELOG.md`](/CHANGELOG.md). However, this is not necessary for changes that do not affect the users, such as refactoring.
|
||||||
|
- Check if there are any documents that need to be created or updated due to this change.
|
||||||
|
- If you have added a feature or fixed a bug, please add a test case if possible.
|
||||||
|
- Please make sure that tests and Lint are passed in advance.
|
||||||
|
- You can run it with `npm run test` and `npm run lint`.
|
||||||
|
- Run `npm run api` to update the API report and commit it if there are any diffs.
|
||||||
|
|
||||||
|
Thanks for your cooperation 🤗
|
||||||
|
|
Loading…
Reference in a new issue