diff --git a/CHANGELOG.md b/CHANGELOG.md index a0cf9ee..a436a95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). +## [0.15.0] - 2026-02-15 + +### Added + +- **ランタイム環境プリセット**: `piece_config.runtime.prepare` およびグローバル設定の `runtime.prepare` で、ピース実行前に環境準備スクリプトを自動実行可能に — ビルトインプリセット(`gradle`, `node`)で依存解決・キャッシュ設定を `.runtime/` ディレクトリに隔離 +- **ループモニターの judge インストラクション**: `loop_monitors` の judge 設定で `instruction_template` フィールドをサポート — ループ判定の指示をインストラクションファセットとして外部化し、ビルトインピース(expert, expert-cqrs)に適用 + +### Internal + +- ランタイム環境関連のテスト追加(runtime-environment, globalConfig-defaults, models, provider-options-piece-parser) +- provider e2e テスト追加(runtime-config-provider) + ## [0.14.0] - 2026-02-14 ### Added diff --git a/README.md b/README.md index 21ef03e..328f1f9 100644 --- a/README.md +++ b/README.md @@ -578,6 +578,12 @@ concurrency: 1 # Parallel task count for takt run (1-10, default: 1 = task_poll_interval_ms: 500 # Polling interval for new tasks during takt run (100-5000, default: 500) interactive_preview_movements: 3 # Movement previews in interactive mode (0-10, default: 3) +# Runtime environment defaults (applies to all pieces unless piece_config.runtime overrides) +# runtime: +# prepare: +# - gradle # Prepare Gradle cache/config in .runtime/ +# - node # Prepare npm cache in .runtime/ + # Per-persona provider overrides (optional) # Route specific personas to different providers without duplicating pieces # persona_providers: @@ -817,8 +823,14 @@ piece_config: network_access: true opencode: network_access: true + runtime: + prepare: + - gradle + - node ``` +Runtime `prepare` entries can be builtin presets (`gradle`, `node`) or paths to custom shell scripts. Scripts receive `TAKT_RUNTIME_ROOT` and related env vars, and can export additional variables via stdout. + ## API Usage Example ```typescript diff --git a/docs/README.ja.md b/docs/README.ja.md index 4ce8796..82deb52 100644 --- a/docs/README.ja.md +++ b/docs/README.ja.md @@ -578,6 +578,12 @@ concurrency: 1 # takt run の並列タスク数(1-10、デフォル task_poll_interval_ms: 500 # takt run 中の新タスク検出ポーリング間隔(100-5000、デフォルト: 500) interactive_preview_movements: 3 # 対話モードでのムーブメントプレビュー数(0-10、デフォルト: 3) +# ランタイム環境デフォルト(piece_config.runtime で上書き可能) +# runtime: +# prepare: +# - gradle # Gradle のキャッシュ/設定を .runtime/ に準備 +# - node # npm キャッシュを .runtime/ に準備 + # ペルソナ別プロバイダー設定(オプション) # ピースを複製せずに特定のペルソナを異なるプロバイダーにルーティング # persona_providers: @@ -817,8 +823,14 @@ piece_config: network_access: true opencode: network_access: true + runtime: + prepare: + - gradle + - node ``` +`runtime.prepare` にはビルトインプリセット(`gradle`、`node`)またはカスタムシェルスクリプトのパスを指定できます。スクリプトは `TAKT_RUNTIME_ROOT` などの環境変数を受け取り、stdout で追加の環境変数をエクスポートできます。 + ## API使用例 ```typescript diff --git a/package-lock.json b/package-lock.json index 95596d2..a35d1d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "takt", - "version": "0.14.0", + "version": "0.15.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "takt", - "version": "0.14.0", + "version": "0.15.0", "license": "MIT", "dependencies": { "@anthropic-ai/claude-agent-sdk": "^0.2.37", diff --git a/package.json b/package.json index be822c6..58f63a6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "takt", - "version": "0.14.0", + "version": "0.15.0", "description": "TAKT: TAKT Agent Koordination Topology - AI Agent Piece Orchestration", "main": "dist/index.js", "types": "dist/index.d.ts",