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の種類が分かるキーワードをプリフィクスしてください。
|
||||
- fix / refactor / feat / enhance / perf / chore
|
||||
- また、PRの粒度が適切であることを確認してください。ひとつのPRに複数の種類の変更や関心を含めることは避けてください。
|
||||
- このPRによって解決されるIssueがある場合は、そのIssueへの参照を本文内に含めてください。
|
||||
- CHANGELOG.mdに変更点を追記してください。リファクタリングなど、利用者に影響を与えない変更についてはこの限りではありません。
|
||||
- この変更により新たに作成、もしくは更新すべきドキュメントがないか確認してください。
|
||||
- 機能追加やバグ修正をした場合は、可能であればテストケースを追加してください。
|
||||
- テスト、Lintが通っていることを予め確認してください。
|
||||
- `npm run test`、`npm run lint`でぞれぞれ実施可能です
|
||||
- `npm run api`を実行してAPIレポートを更新し、差分がある場合はコミットしてください。
|
||||
ご協力ありがとうございます🤗
|
||||
PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
|
||||
https://github.com/misskey-dev/misskey.js/blob/develop/CONTRIBUTING.md
|
||||
-->
|
||||
<!-- ℹ README
|
||||
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
|
||||
- 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 🤗
|
||||
Thank you for your PR! Before creating a PR, please check the contribution guide:
|
||||
https://github.com/misskey-dev/misskey.js/blob/develop/docs/CONTRIBUTING.en.md
|
||||
-->
|
||||
|
||||
# What
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
# Contribution guide
|
||||
**[✨ English version available](/docs/CONTRIBUTING.en.md)**
|
||||
|
||||
プロジェクトに興味を持っていただきありがとうございます!
|
||||
このドキュメントでは、プロジェクトに貢献する際に必要な情報をまとめています。
|
||||
|
||||
|
@ -8,10 +10,37 @@
|
|||
また、実装に取り掛かるときは当該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
|
||||
### eslint
|
||||
このプロジェクトではコードのフォーマットチェック/整形に[eslint](https://eslint.org/)を導入しています。
|
||||
CI上でも自動でチェックされ、ルールに則っていないコードがあるとエラーになります。
|
||||
|
||||
### Jest
|
||||
このプロジェクトではテストフレームワークとして[Jest](https://jestjs.io/)を導入しています。
|
||||
テストは[`/test`ディレクトリ](./test)に置かれます。
|
||||
テストは[`/test`ディレクトリ](/test)に置かれます。
|
||||
|
||||
テストはCIにより各コミット/各PRに対して自動で実施されます。
|
||||
ローカル環境でテストを実施するには、`npm run test`を実行してください。
|
||||
|
@ -19,14 +48,14 @@
|
|||
### tsd
|
||||
このプロジェクトでは型のテストを行うために[tsd](https://github.com/SamVerschueren/tsd)を導入しています。
|
||||
Jestによるテストでは「型が期待したものか」というのはチェックすることができません。tsdを使うことで、型が意図したものであることを担保することができます。
|
||||
tsdによる型テストは[`/test-d`ディレクトリ](./test-d)に置かれます。
|
||||
tsdによる型テストは[`/test-d`ディレクトリ](/test-d)に置かれます。
|
||||
|
||||
テストはCIにより各コミット/各PRに対して自動で実施されます。
|
||||
ローカル環境でテストを実施するには、`npm run test`を実行してください。
|
||||
|
||||
### API Extractor
|
||||
このプロジェクトでは[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のブランチで生成されたレポートを比較することで、意図しない破壊的変更の検出や、破壊的変更の影響確認に用いることができます。
|
||||
また、各コミットや各PRで実行されるCI内部では、都度APIレポートを生成して既存のレポートと差分が無いかチェックしています。もし差分があるとエラーになります。
|
||||
|
@ -42,7 +71,7 @@ PRを作る際は、`npm run api`コマンドを実行してAPIレポートを
|
|||
また、各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