Commander-API への貢献に興味を持っていただき、ありがとうございます!
このページでは、Commander-API へ貢献する方法について記されています。
読み進める前に、以下のページを閲覧しておくことをオススメします。
OSSに貢献するときの心得
開発には以下のプログラムが必要です。
- リポジトリをクローンします。
git clone https://github.com/Unknown-Creators-Team/Commander-API.git- 依存関係をインストールします。
開発に必要な型定義ファイルや TypeScript の開発環境をインストールします。
pnpm install開発に使用される主なスクリプトは以下の2つです。
pnpm run watch:srcの変更を検知し、scriptsへコンパイル結果を保存します。pnpm run build:scriptsをリセットし、コンパイルを行います。
バグや機能リクエストがある場合は Commander API Community にて行うようにしてください。
stable
ポイントリリース用ブランチです。Minecraftのアップデートに合わせてリリースします。
stableブランチへの直接 push は禁止です。canary
ローリングリリース用ブランチです。機能の実装が完了したら速やかにリリースします。
Minecraft stable で利用可能な機能はこのブランチで実装します。preview/xxx
リリースを行わない作業ブランチです。Minecraft preview でのみ利用可能な機能を開発します。
その機能が Minecraft stable で利用可能になったら、対象ブランチへプルリクエストを作成してください。features/xxx
リリースを行わない作業ブランチです。Minecraft stable でも利用可能な機能を開発します。
レビューが必要な場合や、実験的な実装で利用します。
- あなたのリポジトリを最新の状態に更新してください。
git pull- 開発内容に応じて作業ブランチを作成・変更してください。
通常の開発はcanaryをベースに、必要に応じてfeatures/xxxまたはpreview/xxxを使用します。
git switch canary- TypeScript コンパイラを起動する
Commander-API では TypeScript を使用しています。
pnpm run watch- (必要であれば) Minecraft Debugger を起動する
もしあなたが Visual Studio Code で開発をしているならば、Minecraft Debugger を使用できます。
Minecraft Debugger を用いて開発をすると、ファイル更新時の自動リロードを使えたり、エラーログが VSCode に表示され、開発効率がアップするでしょう。

起動できたら、Minecraft で以下のコマンドを実行します。
/script debugger connect- 開発する
バグの原因となりうるas anyなどは使わないようにしましょう。 - テストを実行する
Commander-API にはテスト機能が存在します。
このテスト機能を用いることで、既存の機能が正しく動いているかを確認できます。
開発をし終わったなら、このテストを実行し問題がないかを確認してください。 - コミット/プッシュする
おつかれさまでした。
あなたが書いたコードはプルリクエスト経由でレビューされ、問題がないと判断されたら適切なブランチにマージされます。
stableへは直接 push せず、必ずレビューを通してください。
Minecraft 内で用いる識別子には sneak_case を使用します。
コード内で用いる変数名などには camelCase を使用します。
URL や ID などの頭字語は Url を使用します。
https://semver.org に従います。
- バージョンアップの際は
manifest.jsonやsrc/constants.tsを変更することを忘れないでください。