TeamLeaderRunner を4モジュールに分割(execution, aggregation, common, streaming)し、 パート完了時にキュー残数が refill_threshold 以下になると追加タスクを動的に生成する worker pool 型の実行モデルを実装。ParallelLogger に LineTimeSliceBuffer を追加し ストリーミング出力を改善。deep-research ピースに team_leader 設定を追加。
2.7 KiB
2.7 KiB
Repository Guidelines
Project Structure & Module Organization
src/: TypeScript の本体コード。CLI はsrc/app/cli/、コア実行ロジックはsrc/core/、共通機能はsrc/shared/、機能別実装はsrc/features/に配置。src/__tests__/: 単体・統合テスト(*.test.ts)。e2e/: E2E テストと補助ヘルパー。builtins/: 組み込みピース、テンプレート、スキーマ。docs/: 設計・CLI・運用ドキュメント。dist/: ビルド成果物(生成物のため手編集しない)。bin/: CLI エントリーポイント(takt,takt-dev)を提供。
Build, Test, and Development Commands
npm install: 依存関係をインストール。npm run build: TypeScript をdist/にビルドし、プロンプト・i18n・preset ファイルをコピー。npm run watch:tsc --watchで継続ビルド。npm run lint:src/を ESLint で検証。npm test:vitest runで通常テスト実行。npm run test:e2e:mock: モックプロバイダーで E2E 実行。npm run test:e2e:all: mock + provider E2E を連続実行。
Coding Style & Naming Conventions
- 言語は TypeScript(ESM)。インデントは 2 スペース、既存スタイルを維持。
- ファイル名は機能を表す
kebab-caseまたは既存準拠(例:taskHistory.ts)。 - テスト名は対象機能が分かる具体名(例:
provider-model.test.ts)。 - Lint ルール:
@typescript-eslint/no-explicit-anyと未使用変数を厳格に検出(未使用引数は_接頭辞で許容)。
Testing Guidelines
- フレームワークは Vitest。Node 環境で実行。
- 変更時は最低限
npm testを通し、実行経路に影響する変更はnpm run test:e2e:mockまで確認。 - カバレッジ取得は Vitest の V8 レポーター(text/json/html)を使用。
Commit & Pull Request Guidelines
- コミットは小さく、1コミット1目的。
- 形式は Conventional Commits 推奨(
feat:,fix:,refactor:,test:)。必要に応じて Issue 番号を付与(例:fix: ... (#388)/[#367] ...)。 - PR では目的、変更点、テスト結果、影響範囲を明記。挙動変更がある場合は再現手順を添付。
- 大規模変更は先に Issue で合意し、関連ドキュメント(
README.md/docs/)も更新する。
Security & Configuration Tips
- 機密情報(API キー、トークン)はコミットしない。設定は
~/.takt/config.yamlや環境変数を使用。 - Provider や実行モード変更時は
docs/configuration.mdとdocs/provider-sandbox.mdを先に確認する。