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
204843f498
Merge pull request #403 from j5ik2o/feature/cursor-agent-cli-provider-spec
...
feat: cursor-agent対応
2026-02-27 01:12:17 +09:00
nrslib
f61f71d127
fix: default write_tests skips when target type is unimplemented ( #396 )
2026-02-27 00:45:40 +09:00
nrslib
7e34d5c4c0
test: expand provider/model resolution matrix coverage
2026-02-27 00:30:07 +09:00
nrslib
644c318295
fix: unify agent provider/model resolution and remove custom agent overrides
2026-02-27 00:27:52 +09:00
nrs
551299dbf8
takt: github-issue-390-to-no-provide ( #393 )
2026-02-26 23:45:03 +09:00
nrslib
798e89605d
feat: TeamLeader に refill threshold と動的パート追加を導入
...
TeamLeaderRunner を4モジュールに分割(execution, aggregation, common, streaming)し、
パート完了時にキュー残数が refill_threshold 以下になると追加タスクを動的に生成する
worker pool 型の実行モデルを実装。ParallelLogger に LineTimeSliceBuffer を追加し
ストリーミング出力を改善。deep-research ピースに team_leader 設定を追加。
2026-02-26 22:33:22 +09:00
nrs
deca6a2f3d
[ #368 ] fix-broken-issue-title-session ( #371 )
...
* takt: fix-broken-issue-title-session
* takt: fix-broken-issue-title-session
2026-02-26 13:33:02 +09:00
nrslib
f6d8c353d3
refactor: provider のデフォルト値 'claude' を廃止し明示設定を必須化
...
暗黙の claude フォールバックを削除し、未設定時は明確なエラーを返すように変更。
permission は未設定時 readonly にフォールバック。テスト・E2E を新挙動に適合。
2026-02-26 02:11:49 +09:00
nrs
6d0bac9d07
[ #367 ] abstract-git-provider ( #375 )
...
* takt: abstract-git-provider
* takt: abstract-git-provider
* takt: abstract-git-provider
* fix: pushBranch のインポートパスを infra/task に修正
Git provider 抽象化により pushBranch が infra/github から infra/task に
移動したため、taskSyncAction とテストのインポートパスを更新。
2026-02-26 01:09:29 +09:00
Junichi Kato
f6334b8e75
feat: add submodule acquisition support in project config ( #387 )
2026-02-26 01:06:14 +09:00
nrslib
9f15840d63
refactor: sync with root をピースエンジンから単発エージェント呼び出しに変更
...
- executeTask(フルピースエンジン)→ Provider 抽象経由の単発エージェント呼び出しに簡素化
- Claude 固定の callClaudeCustom → getProvider() による Provider 抽象化
- permissionMode: 'full' → 'edit' + onPermissionRequest で Bash 自動承認
- コンフリクト解決プロンプトをテンプレートファイル(en/ja)に分離
- sync 後に worktree → project → origin の2段階プッシュを追加
2026-02-26 00:33:33 +09:00
Yuma Satake
6a175bcb11
Merge pull request #377 from Yuma-Satake/feature/issue-111
...
Fix #111 Issue作成時にラベルを選択できるようにする
2026-02-25 23:48:36 +09:00
nrslib
6901b2a121
feat: default ピースをテスト先行開発に変更し、レポートファイル名をセマンティック命名に統一
...
- 全ピースのレポートファイル名から番号プレフィックスを除去(00-plan.md → plan.md 等)
- default ピースに write_tests ムーブメントと testing-review 並列レビューを追加
- プランナーに参照資料の意図判断ルールとスコープ外セクションを追加
2026-02-25 01:02:33 +09:00
nrslib
6bea78adb4
fix: lineEditor のサロゲートペア対応と Ctrl+J 改行挿入を追加
2026-02-24 23:51:07 +09:00
nrslib
a49d3af7a9
settingSources に project を追加し、CLAUDE.md の読み込みを SDK に委譲
...
手動で CLAUDE.md を読み込んでいた loadProjectContext を削除し、
SDK の settingSources: ['project'] でプロジェクトコンテキストを自動解決するよう変更
2026-02-24 16:48:43 +09:00
nrslib
cc7f73dc3e
review ピースに拡張: PR/ブランチ/現在の差分の3モード自動判定に対応
...
pr-review → review にリネームし、gather が入力テキストからモードを自動判定する。
ブランチ名の判定を git branch -a で確認する方式に強化、直近Nコミット指定に対応、
output contract にコミット履歴セクションを追加。
2026-02-24 13:11:31 +09:00
nrslib
c44477dea0
pr-review ピース追加: 5並列レビュー(arch/security/qa/testing/requirements)で PR を多角的にレビュー
...
gather → reviewers(並列5) → supervise → COMPLETE のフローで、PR情報とリンクIssueを収集後、
5つの専門レビュワーが並列にレビューし、supervisorが統合サマリーを出力する。
review-only と review-fix-minimal は pr-review に置き換えて削除。
2026-02-24 11:20:56 +09:00
nrs
dfc9263ef0
Merge pull request #369 from KentarouTakeda/support-ask-user-question
...
feat: AskUserQuestion 対応 (#161 )
2026-02-23 22:01:13 +09:00
nrslib
f2ca01ffe0
refactor: provider/model resolution precedenceを一元化
2026-02-23 15:28:38 +09:00
武田 憲太郎
61959f66a9
feat: AskUserQuestion 対応 ( #161 )
2026-02-23 15:24:10 +09:00
nrslib
69f13283a2
fix: movement provider override precedence in AgentRunner
2026-02-23 15:18:32 +09:00
nrslib
95cd36037a
feat: ProjectLocalConfig に concurrency を追加
2026-02-23 14:59:40 +09:00
nrslib
6a28929497
fix: 通知ユーティリティのテストモック追加と check:release の通知対応
...
通知機能(notifySuccess/notifyError/playWarningSound)追加に伴い、
テストの vi.mock を修正。重複モックの統合、vitest 環境変数の追加、
GH API の recursive パラメータ修正、check:release に macOS 通知を追加。
2026-02-23 14:34:20 +09:00
nrs
e5902b87ad
takt: Execute アクションで tasks.yaml への追加をスキップする skipTaskList オプション ( #334 )
...
- SelectAndExecuteOptions に skipTaskList フラグを追加
- routing.ts の Execute アクションで skipTaskList: true を設定
- taskRecord の null チェックで条件分岐を統一
- テストを現在の taskResultHandler API に合わせて修正
2026-02-22 22:05:13 +09:00
nrs
f307ed80f0
takt: tasuku-takt-list-komandoni-iss ( #335 )
2026-02-22 21:57:48 +09:00
nrs
4a7dea48ca
takt: tasuku-taktga-surupull-request ( #336 )
2026-02-22 21:52:40 +09:00
nrs
b309233aeb
takt: github-issue-328-tasuku-ritora ( #340 )
2026-02-22 21:43:25 +09:00
nrs
9e68f086d4
takt: refactor-project-config-case ( #358 )
2026-02-22 21:33:42 +09:00
nrs
c066db46c7
takt: refactor-clone-manager ( #359 )
2026-02-22 21:28:46 +09:00
nrs
1acd991e7e
feat: pipeline モードでの Slack 通知を強化 ( #346 ) ( #347 )
...
* feat: pipeline モードでの Slack 通知を try/finally パターンで実装
- executePipeline の本体を try/finally で囲み、全終了パスで通知を送信
- PipelineResult でスプレッド演算子による不変状態追跡
- notifySlack ヘルパーで webhook 未設定時は即 return
- 既存の早期リターンパターンを保持したまま通知機能を追加
* refactor: executePipeline のオーケストレーションと各ステップを分離
- execute.ts: オーケストレーション + Slack 通知 (157行)
- steps.ts: 5つのステップ関数 + テンプレートヘルパー (233行)
- runPipeline で全ステップを同じ抽象レベルに揃えた
- buildResult ヘルパーで let 再代入を最小化
* test: commitAndPush の git 操作失敗時の exit code 4 テストを追加
2026-02-22 21:06:29 +09:00
Tomohisa Takaoka
a08adadfb3
fix: PR creation failure handling + use default branch for base ( #345 )
...
* fix: mark task as failed when PR creation fails
Previously, when PR creation failed (e.g. invalid base branch),
the task was still marked as 'completed' even though the PR was
not created. This fix ensures:
- postExecutionFlow returns prFailed/prError on failure
- executeAndCompleteTask marks the task as failed when PR fails
- selectAndExecuteTask runs postExecution before persisting result
The pipeline path (executePipeline) already handled this correctly
via EXIT_PR_CREATION_FAILED.
* fix: use detectDefaultBranch instead of getCurrentBranch for PR base
Previously, baseBranch for PR creation was set to HEAD's current branch
via getCurrentBranch(). When the user was on a feature branch like
'codex/pr-16-review', PRs were created with --base codex/pr-16-review,
which fails because it doesn't exist on the remote.
Now uses detectDefaultBranch() (via git symbolic-ref refs/remotes/origin/HEAD)
to always use the actual default branch (main/master) as the PR base.
Affected paths:
- resolveTask.ts (takt run)
- selectAndExecute.ts (interactive mode)
- pipeline/execute.ts (takt pipeline)
2026-02-22 20:37:14 +09:00
nrs
f557db0908
feat: support --create-worktree in pipeline mode ( #361 )
...
Pipeline mode previously ignored the --create-worktree option.
Now when --create-worktree yes is specified with --pipeline,
a worktree is created and the agent executes in the isolated directory.
- Add createWorktree field to PipelineExecutionOptions
- Pass createWorktreeOverride from routing to executePipeline
- Use confirmAndCreateWorktree when createWorktree is true
- Execute task in worktree directory (execCwd) instead of project cwd
2026-02-22 20:32:36 +09:00
nrslib
a5e2badc0b
fix: Claude resume候補をjsonlフォールバックで取得
2026-02-22 17:54:15 +09:00
nrs
077d19a6b0
Merge pull request #355 from s-kikuchi/takt/20260222T0402-tasuku-purojekuto-takt-config
...
fix: Project-level model config ignored — getLocalLayerValue missing model case
2026-02-22 17:35:33 +09:00
nrs
1d6770c479
Merge pull request #344 from tomohisa/feat/auto-sync-before-clone
...
feat: opt-in auto_fetch and base_branch config for clone
2026-02-22 17:29:39 +09:00
kikuchi
753deb6539
fix: Project-level model config ignored — getLocalLayerValue missing model case
2026-02-22 13:49:32 +09:00
nrslib
c630d78806
refactor: rename ensemble to repertoire across codebase
2026-02-22 10:50:50 +09:00
nrslib
53a465ef56
fix: update deploySkill for facets layout, add piped stdin confirm support
2026-02-22 08:12:00 +09:00
Tomohisa Takaoka
1d7336950e
feat: opt-in auto_fetch and base_branch config for clone
...
Replace the always-on syncDefaultBranch with opt-in resolveBaseBranch:
- Add auto_fetch config (default: false) — only fetch when enabled
- Add base_branch config (project and global) — fallback to current branch
- Fetch-only mode: git fetch origin without modifying local branches
- Use fetched commit hash (origin/<base_branch>) to reset clone to latest
- No more git merge --ff-only or git fetch origin main:main
Config example:
# ~/.takt/config.yaml or .takt/config.yaml
auto_fetch: true
base_branch: develop
Addresses review feedback: opt-in behavior, no local branch changes,
configurable base branch with current-branch fallback.
2026-02-21 12:30:26 -08:00
nrslib
9e3fb5cf16
fix: validate override piece via resolver including ensemble scope
2026-02-22 02:47:11 +09:00
nrslib
102f31447a
refactor: rename faceted to facets across package layout
2026-02-22 02:40:33 +09:00
nrslib
8930688a95
fix: simplify package content check and facets label
2026-02-22 02:39:25 +09:00
nrslib
9e6e7e3550
update message
2026-02-22 02:27:47 +09:00
nrslib
b6e3c7883d
feat: implement ensemble package import and faceted layout
2026-02-22 02:05:48 +09:00
nrslib
291e05a24d
fix: prevent romaji conversion stack overflow on long task names
2026-02-20 12:43:40 +09:00
nrslib
67f6fc685c
fix: opencodeの2ターン目ハングを修正し会話継続を実現
...
streamAbortController.signalをcreateOpencodeに渡していたため、
各callのfinallyでabortするとサーバーが停止し2ターン目がハングしていた。
signalをサーバー起動から除外し、sessionIdの引き継ぎを復元することで
複数ターンの会話継続を実現した。
2026-02-20 12:40:17 +09:00
nrs
b9dfe93d85
takt: add-sync-with-root ( #325 )
2026-02-20 11:58:48 +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