開発コマンド
1. コマンドを見つける
最初に回答が得られたソースを使用します。実行前にそのコマンドを明示してください。
- リポジトリの指示:
CLAUDE.md、CONTRIBUTING.md、README.md。gener8vパイプラインリポジトリでは、.gener8v/context.mdに各リポジトリの検証コマンドが記載されています。 - タスクランナー:
Makefile、justfile、Taskfile.yml、package.jsonの scripts、pyproject.tomlの tool セクション、tox.ini、noxfile.py。 - CI ワークフロー:
.github/workflows/*.yml。CI が実行するものが「テストに合格する」の基準です。 - エコシステムのデフォルト:
resources/ecosystems.md。
プロジェクトがコンテナ内で実行される場合(compose.yaml、docker-compose.yml、dev container)、ドキュメントに従ってコンテナ内でコマンドを実行します。resources/ecosystems.md を参照してください。
2. 実行する
- 狭い範囲から始める:1つのテストファイル、または1つのパッケージ。次に、報告する前にフルスイートを実行します。
- ウォッチモードは開始しないでください。多くのテストランナーはデフォルトでウォッチモードになります。「1回だけ実行」形式(
resources/ecosystems.md)を使用してください。 - 出力を短縮するときは、終了コードを保持します:
set -o pipefail <command> 2>&1 | tail -n 60 echo "exit=$?" - 開発サーバーはバックグラウンドで起動します。そのURLが応答するまで待ちます。終了したら停止します。
3. 結果を読む
- 終了コードが判定します。「完了」のようなテキストは成功を意味しません。
- 件数を報告します。 成功、失敗、スキップを報告します。スキップ、期待される失敗、「テストが収集されなかった」は合格ではありません。
- フレーキーテスト。 失敗したテストをもう一度、単独で実行します。合格した場合は、フレーキーとして報告します。隠蔽しないでください。
- 元々あった失敗。 ベースブランチを確認します:最新のCI実行(
gh run list --branch <base> --limit 3)または別のワークツリーでの実行。これらの失敗は「<base>で既に失敗している」と報告します。自分の失敗を正当化するためにこれらを使ってはいけません。 - テストを弱めて合格させないでください。 テストが間違っている場合は、その理由を述べ、別の可視的なコミットで修正します。
4. UI作業用のデータ
UIに現実的なデータが必要な場合、resources/throwaway-data.md に従います。簡単なルール:この目的のために作成したデータベースにのみシードします。プロジェクトの本番、デフォルト、共有データベースには決してシードしないでください。
5. 報告する
コマンド、終了コード、件数、そして各失敗の最初の実際のエラーを報告します。何かを実行しなかった場合(例えば、認証情報が必要なエンドツーエンドテストなど)、その理由を述べてください。
関連スキル
engineering:github-pr-mergeとengineering:github-issue-workflowは、PRの前にこのスキルを呼び出します。engineering:documentation-bootstrapは、ドキュメントにリストすべきコマンドを見つけるためにこれを使用します。