jake
289a0fb912
.takt/config.yaml(プロジェクト設定)に runtime.prepare を記述するとエラーになる ( #464 )
...
* fix: add missing runtime field to ProjectConfigSchema and unify normalizeRuntime
ProjectConfigSchema.strict() rejected the runtime key in .takt/config.yaml
because the field was never added to the project-level Zod schema. The global
schema and piece-level schema already had it, so only project-level
runtime.prepare was broken ("Unrecognized key: runtime").
- Add runtime to ProjectConfigSchema and ProjectLocalConfig type
- Handle runtime in loadProjectConfig/saveProjectConfig
- Extract normalizeRuntime() into configNormalizers.ts as shared function
- Replace duplicated normalization in globalConfigCore.ts and pieceParser.ts
- Add 9 round-trip tests for project-level runtime.prepare
* fix: remove unnecessary comments from configNormalizers.ts
* fix: replace removed piece field with verbose in runtime test
The piece field was removed from ProjectConfigSchema in PR #465 .
Update the test to use verbose instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 20:13:44 +09:00
nrs
4f02c20c1d
Merge pull request #465 from nrslib/takt/420/remove-default-piece-switch
...
feat: デフォルトピースの概念と takt switch コマンドを削除
2026-03-04 18:02:28 +09:00
nrslib
204d84e345
takt: refactor-config-structure
2026-03-04 14:16:12 +09:00
nrslib
8aa79d909c
refactor: 共有ノーマライザを configNormalizers.ts に抽出
...
globalConfig.ts と projectConfig.ts に重複していた
normalizeProviderProfiles / denormalizeProviderProfiles /
normalizePieceOverrides / denormalizePieceOverrides を
configNormalizers.ts に集約した。
2026-03-04 01:30:02 +09:00
nrs
8430948475
takt: unify-provider-config ( #457 )
2026-03-04 00:34:07 +09:00
あいやま EIichi Yamazaki
ed16c05160
fix: グローバル設定のpieceが解決チェーンで無視されるバグを修正 ( #458 )
2026-03-03 19:36:34 +09:00
nrs
f838a0e656
takt: github-issue-382-feat-purojeku ( #384 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-03 00:10:02 +09:00
Tomohisa Takaoka
17232f9940
feat: add GitHub Copilot CLI as a new provider ( #425 )
...
* feat: add GitHub Copilot CLI as a new provider
Add support for GitHub Copilot CLI (@github/copilot) as a takt provider,
enabling the 'copilot' command to be used for AI-driven task execution.
New files:
- src/infra/copilot/client.ts: CLI client with streaming, session ID
extraction via --share, and permission mode mapping
- src/infra/copilot/types.ts: CopilotCallOptions type definitions
- src/infra/copilot/index.ts: barrel exports
- src/infra/providers/copilot.ts: CopilotProvider implementing Provider
- src/__tests__/copilot-client.test.ts: 20 unit tests for client
- src/__tests__/copilot-provider.test.ts: 8 unit tests for provider
Key features:
- Spawns 'copilot -p' in non-interactive mode with --silent --no-color
- Permission modes: full (--yolo), edit (--allow-all-tools --no-ask-user),
readonly (no permission flags)
- Session ID extraction from --share transcript files
- Real-time stdout streaming via onStream callbacks
- Configurable via COPILOT_CLI_PATH and COPILOT_GITHUB_TOKEN env vars
* fix: remove unused COPILOT_DEFAULT_MAX_AUTOPILOT_CONTINUES constant
* fix: address review feedback for copilot provider
- Remove excess maxAutopilotContinues property from test (#1 High)
- Extract cleanupTmpDir() helper to eliminate DRY violation (#2 Medium)
- Deduplicate chunk string conversion in stdout handler (#3 Medium)
- Remove 5 what/how comments that restate code (#4 Medium)
- Log readFile failure instead of silently swallowing (#5 Medium)
- Add credential scrubbing (ghp_/ghs_/gho_/github_pat_) for stderr (#6 Medium)
- Add buffer overflow tests for stdout and stderr (#7 Medium)
- Add pre-aborted AbortSignal test (#8 Low)
- Add mkdtemp failure fallback test (#9 Low)
- Add rm cleanup verification to fallback test (#10 Low)
- Log mkdtemp failure with debug level (#11 Persist)
- Add createLogger('copilot-client') for structured logging
2026-02-28 20:28:56 +09:00
Junichi Kato
b8b64f858b
feat: プロジェクト単位のCLIパス設定(Claude/Cursor/Codex) ( #413 )
...
* feat: プロジェクト単位のCLIパス設定を支援するconfig層を追加
validateCliPath汎用関数、Global/Project設定スキーマ拡張、
env override、3プロバイダ向けresolve関数(env→project→global→undefined)を追加。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: Claude/Cursor/CodexプロバイダにCLIパス解決を統合
各プロバイダのtoXxxOptions()でproject configを読み込み、
resolveXxxCliPath()経由でCLIパスを解決してSDKに渡す。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test: per-project CLIパス機能のテストを追加
validateCliPath, resolveClaudeCliPath, resolveCursorCliPath,
resolveCodexCliPath(project config層)のユニットテスト、
および既存プロバイダテストのモック更新。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 09:44:16 +09:00
Junichi Kato
f6334b8e75
feat: add submodule acquisition support in project config ( #387 )
2026-02-26 01:06:14 +09:00
nrs
9e68f086d4
takt: refactor-project-config-case ( #358 )
2026-02-22 21:33:42 +09:00
nrs
dec77e069e
add-model-to-persona-providers ( #324 )
...
* takt: add-model-to-persona-providers
* refactor: loadConfigを廃止しresolveConfigValueにキー単位解決を一元化
loadConfig()による一括マージを廃止し、resolveConfigValue()でキーごとに
global/project/piece/envの優先順位を宣言的に解決する方式に移行。
providerOptionsの優先順位をglobal < piece < project < envに修正し、
sourceトラッキングでOptionsBuilderのマージ方向を制御する。
2026-02-20 11:12:46 +09:00
nrslib
22901cd8cb
feat: analyticsをproject設定とenv overrideに対応
2026-02-20 08:37:40 +09:00
nrslib
6518faf72e
refactor: 設定の不要要素削除とconfigテンプレート刷新
2026-02-19 11:53:02 +09:00
nrslib
5dc79946f2
refactor: 設定解決をloadConfigへ統一し不要設定を削除
2026-02-19 10:32:59 +09:00
nrslib
f065ee510f
feat: resolve movement permissions via provider profiles with required floor
2026-02-15 07:00:03 +09:00
nrslib
38d43f2168
pieceに完全移行
2026-02-04 11:07:41 +09:00
nrslib
887365c4eb
無用な後方互換削除
2026-02-04 04:04:56 +09:00
nrslib
b944349d8f
refacotr
2026-02-02 21:52:40 +09:00
nrslib
7d8ba10abb
refactor
2026-02-02 17:11:42 +09:00