メインコンテンツへスキップ

貢献

@aigne/cliへの貢献に関心をお寄せいただき、ありがとうございます。皆様のご協力は、AIGNEの開発体験を向上させる上で非常に貴重です。バグの修正、新機能の提案、ドキュメントの改善など、どのような貢献も歓迎いたします。

@aigne/cliへの貢献に関心をお寄せいただき、ありがとうございます。皆様のご協力は、AIGNEの開発体験を向上させる上で非常に貴重です。バグの修正、新機能の提案、ドキュメントの改善など、どのような貢献も歓迎いたします。

このガイドでは、開発環境のセットアップ、テストの実行、そして変更を提出するための手順を説明します。

はじめに

@aigne/cliパッケージはaigne-frameworkモノレポの一部です。作業を開始するには、メインリポジトリをクローンして依存関係をインストールする必要があります。

1. リポジトリをクローンする

まず、GitHubからaigne-frameworkリポジトリをローカルマシンにクローンします。

Git Clone

bash
git clone https://github.com/AIGNE-io/aigne-framework.git
cd aigne-framework

2. 依存関係をインストールする

このプロジェクトでは、主要なパッケージマネージャーとしてbunを使用しています。モノレポのルートから、必要なすべての依存関係をインストールしてください。

Bun Install

bash
bun install

これにより、@aigne/cliを含むモノレポ内のすべてのパッケージの依存関係がインストールされます。

開発ワークフロー

CLIに関するすべての開発コマンドは、パッケージディレクトリであるpackages/cli内から実行する必要があります。

コードのビルド

src/にあるTypeScriptのソースコードをdist/ディレクトリ内のJavaScriptにコンパイルするには、ビルドコマンドを実行します。このプロセスはtsconfig.build.jsonによって設定されています。

Build Command

bash
bun run build

リンティングと型チェック

静的解析を実行してコードの品質を確保するために、TypeScriptコンパイラを使用しています。JavaScriptファイルを生成せずに型エラーをチェックするには、lintコマンドを実行してください。

Lint Command

bash
bun run lint

テストの実行

CLIが正しく機能することを確認するために、包括的なテストスイートを用意しています。テストには以下のスクリプトが利用できます。

コマンド説明
bun run testCLIソース(test:src)とプロジェクトテンプレート(test:templates)のテストを含む、完全なテストスイートを実行します。
bun run test:srcCLIのコア機能に関する単体テストと統合テストのみを実行します。
bun run test:templatesaigne createによって生成されたプロジェクトテンプレート専用のテストを実行します。
bun run test:coverageテストスイート全体を実行し、コードカバレッジレポートを生成します。

プルリクエストを提出する前に、すべてのテストがパスすることを確認してください。

コードスタイル

プロジェクト全体で一貫したコードスタイルを維持するために、Prettierを使用しています。変更をコミットする前に、コードがフォーマットされていることを確認してください。ほとんどのエディタでは、保存時にファイルを自動的にフォーマットするよう設定できます。

プルリクエストの提出

変更を加え、ビルドおよびテストスクリプトで検証が完了したら、プルリクエストを提出する準備は完了です。

  1. GitHubでリポジトリをフォークします。
  2. 機能またはバグ修正のために新しいブランチを作成します:git checkout -b your-feature-name。
  3. 明確で分かりやすいコミットメッセージを付けて変更をコミットします。
  4. ブランチをフォークにプッシュします:git push origin your-feature-name。
  5. あなたのフォークからAIGNE-io/aigne-frameworkリポジトリのmainブランチへプルリクエストを開きます。
  6. プルリクエストに変更点の詳細な説明を記載し、課題トラッカーの関連する課題を参照します。

いただいたコントリビューションは、できるだけ早くレビューします。AIGNEの改善にご協力いただき、誠にありがとうございます。