nrslib
80a75004a4
fix: takt add #N でIssue内容がAI要約で壊れる問題を修正 ( #46 )
2026-01-31 01:41:10 +09:00
nrslib
7bac0053ff
feat: CLIサブコマンド形式への移行と対話式タスク入力モード ( #47 )
...
- スラッシュコマンド形式をサブコマンド形式に変更(takt run, takt add 等)
- 引数なし takt で対話的にAIとタスク要件を詰めるinteractiveモードを追加
- セッション永続化により takt 再起動後も会話を継続
- 調査用ツール(Read, Glob, Grep, Bash, WebSearch, WebFetch)を許可
- プランニング専用のシステムプロンプトでコード変更を禁止
- executor の buildSdkOptions を未定義値を含めないよう修正(SDK ハング対策)
- help/refreshBuiltinコマンドを削除、ejectコマンドを簡素化
- ドキュメント(CLAUDE.md, README, workflows.md)をサブコマンド形式に更新
2026-01-31 01:14:36 +09:00
nrslib
547b4260f7
fix: eject.tsの未使用import(basename)を削除
2026-01-30 21:33:47 +09:00
nrslib
b520ede80d
fix: reportDirに.takt/reports/プレフィックスを含め、ルート直下へのレポート作成を修正 ( #37 )
2026-01-30 21:32:09 +09:00
nrslib
cd67a2355a
feat: WorkflowEngineのモックインテグレーションテスト追加 ( #17 )
...
runAgentをモックし、ワークフロー全体の状態遷移を検証する
インテグレーションテストを追加。
テストケース:
- 正常フロー(Happy Path)
- 差し戻しフロー(review reject → fix → re-review)
- AI review差し戻し(ai_review → ai_fix → ai_review)
- エラー: ルール未マッチ、runAgent例外
- ループ検出
- イテレーション上限
- blockedハンドリング(onUserInputあり/なし)
- パラレルステップ集約(all/any条件)
- rulesのnextがundefinedのケース
2026-01-30 21:11:41 +09:00
nrslib
748f5afb29
feat: builtinワークフローをパラレルレビュー対応に変更し、エージェントに仕様準拠チェックを追加 ( #31 )
...
- default.yamlのreview/security_reviewを統合しparallelステップ(reviewers)に変更
- improve/security_fixステップを統合fixステップに集約
- parallelサブステップのrulesでnextをoptionalに(スキーマ・型定義)
- planner/architecture-reviewer/supervisorに仕様準拠の確認指示を追加(ja/en)
- parallelレビュー構造の検証テストを追加
2026-01-30 20:42:54 +09:00
nrslib
5265cc0059
feat: Builtin管理をバンドル埋め込み方式に移行し、/ejectコマンドを追加 ( #4 )
...
- ローダーがユーザーファイル優先、なければdist/resources/からbuiltinを読む方式に変更
- /ejectコマンドを追加(builtinを~/.takt/にコピーしてカスタマイズ可能に)
- /refresh-builtinを簡素化(ejectへの移行案内)
- config.yamlにdisabled_builtinsフィールドを追加
- ワークフローYAMLをrules形式に統一
2026-01-30 20:03:38 +09:00
nrslib
1fbc90823e
feat: ログをNDJSON形式に変更し、ストリーミング出力をリアルタイムで書き出す ( #27 )
...
- ログフォーマットを単一JSONからNDJSON(.jsonl)に変更
- ストリーミングチャンク・ステップ開始/完了・ワークフロー完了/中断を逐次追記
- appendFileSyncでopen→write→closeを都度実行(tail -fで追跡可能)
- レガシー.jsonファイルの読み込みも引き続きサポート
- saveSessionLog/addToSessionLogを廃止、initNdjsonLog/appendNdjsonLineに置換
2026-01-30 19:24:36 +09:00
nrslib
84ef8fbaf7
feat: GitHub Issue番号でタスク実行・追加を可能にし、エンジンをリファクタリング ( #10 )
...
- takt "#6 " や /add-task "#6 " "#7 " でIssue内容をタスクとして実行可能に
- gh CLI経由でIssue取得、タイトル・本文・ラベル・コメントをタスクテキストに変換
- engine.tsからフェーズ実行(phase-runner)、ルール評価(rule-evaluator)、
ルールユーティリティ(rule-utils)を分離
2026-01-30 18:49:55 +09:00
nrslib
213e293c06
Phase 1プロンプトにもステータスルールを注入(Phase 3との併用方式)
...
buildInstruction()にセクション7を追加し、タグベースのルールがある場合に
判定基準と出力フォーマットをPhase 1のプロンプトに注入する。
ai()/aggregate条件のみの場合はスキップ。
2026-01-30 17:38:49 +09:00
nrslib
9c05b45e1e
feat: ルールマッチ方法の可視化と5段階フォールバック検出を実装
...
- RuleMatchMethod型を追加し、検出方法(aggregate/phase3_tag/phase1_tag/ai_judge/ai_judge_fallback)を記録
- detectMatchedRuleを5段階フォールバックに拡張(Phase3タグ→Phase1タグ→AI judge→全条件AI judge)
- matchedRuleMethodをセッションログとUI出力の両方に表示
- Phase 3のmaxTurnsを3に増加
- ParallelLoggerによるパラレルステップのプレフィックス付き出力を追加
2026-01-30 17:07:18 +09:00
nrslib
b10773d310
ステータス判定をPhase 3に分離し、デッドコードを整理
...
- buildInstruction からステータスルール注入を除去(Phase 1はステータスタグなし)
- buildStatusJudgmentInstruction を新設(Phase 3: セッション再開でステータスタグ出力)
- detectMatchedRule のシグネチャを (agentContent, tagContent) に変更
- ルール存在時にマッチなしなら即座にthrow(Fail Fast)
- runReportPhase / runStatusJudgmentPhase の共通部分を buildResumeOptions に抽出
- sessionId 欠落時のサイレントフォールバックをエラーに変更
- renderStatusRulesHeader / STATUS_RULES_HEADER_STRINGS を削除(デッドコード)
- StatusJudgmentContext から未使用の cwd を削除
- Status 型および StatusSchema から未使用の in_progress を削除
2026-01-30 16:29:54 +09:00
nrslib
9c597a9b0d
レポート出力をフェーズ2に分離し、本体実行からWriteを除外
...
ステップ実行を2フェーズに分離:
- フェーズ1(本体): allowed_toolsからWriteを除外、レポート情報を注入しない
- フェーズ2(レポート出力): 同一セッションresume、Writeのみ付与、ステータス検出なし
buildInstruction()からレポート関連コードを削除し、
buildReportInstruction()を新設してレポート出力の責務を完全分離。
2026-01-30 15:26:56 +09:00
nrslib
70651f8dd8
feat: ai() 条件式によるAI遷移判断とパラレルステップ実行を実装 ( #9 , #20 )
...
- rules の condition に ai("...") 式を追加し、別AIが遷移先を判断する仕組みを導入
- ワークフローステップに parallel フィールドを追加し、サブステップの並列実行を実装
- all()/any() 集約条件の仕様書を追加
2026-01-30 14:53:25 +09:00
nrslib
cb37baec2c
レポート出力指示を自動生成に統一し、YAML の手動 order/instruction_template を削除
...
- REPORT_OUTPUT_STRINGS (en/ja) と renderReportOutputInstruction() を追加
- 全8ワークフローYAMLから手動の order フィールドとレポート出力指示を削除
- ReportObjectConfig に明示的 order がある場合は後方互換として優先
- .envrc を .gitignore に追加
ref #29
2026-01-30 11:59:06 +09:00
nrslib
706a59d3b6
edit プロパティによるファイル編集制御、ステップ完了時のレポートログ出力、resolveContentPath 追加
...
- edit: true/false をワークフローステップに追加し、エージェントへの編集許可/禁止プロンプトを自動注入
- ステップ完了時に step:report イベントを発火し、レポート内容をコンソール出力
- resolveContentPath() で format/instruction_template の .md ファイル参照に対応
- writeStepReport() を削除し、レポート出力はエージェント責務に統一
- 全8ワークフローYAMLに edit フィールドを付与
resolves #6 , resolves #21 , resolves #22
2026-01-30 11:33:56 +09:00
nrslib
6fe6491948
report 系のformatを利用するように変更、gitdiff廃止
2026-01-30 09:13:32 +09:00
nrslib
79227dffd1
takt: update-report-path-variable
2026-01-30 07:43:17 +09:00
nrslib
f7181fc00c
workflow 変更
2026-01-30 01:50:25 +09:00
nrslib
e67d2648d8
rule機能追加
2026-01-30 00:05:11 +09:00
nrslib
304044a2f1
fix: read version from package.json instead of hardcoded 0.1.0 ( closes #3 )
...
- Read CLI version dynamically from package.json via createRequire
- Fix unused variable lint errors (branch destructuring)
- Bump version to 0.2.3
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 21:18:16 +09:00
nrslib
6dd69fc688
takt: npmのupdatenotifierをいれたい
2026-01-29 20:36:42 +09:00
nrslib
ee0d846c5b
worktreeのバグフィックス
2026-01-29 20:26:27 +09:00
nrslib
73c2d6b381
.takt/tasks/ に TASK-FORMAT ドキュメントを配置、dotgitignore リネーム対応
2026-01-29 17:06:16 +09:00
nrslib
d1956b53ac
takt: reviewじゃなくてlistにしたい。listとlist-tasksというコマンドにかえてくれ。
2026-01-29 14:22:57 +09:00
nrslib
f942d6dd09
タスク完了後のクローン削除を廃止(/review で cleanup)
2026-01-29 13:26:20 +09:00
nrslib
84b5ad7d17
worktree.ts を clone.ts + branchReview.ts に分割(300行超解消)
2026-01-29 13:18:47 +09:00
nrslib
0cdec9afce
クローンから origin remote を削除し、SDK がメインリポジトリに戻る経路を遮断
2026-01-29 12:50:55 +09:00
nrslib
408f8b0184
git clone --shared → --reference --dissociate に変更
...
--shared は objects/info/alternates で元リポジトリへの参照を残すが、
--dissociate はオブジェクトをコピーして完全独立なクローンを作る。
2026-01-29 12:08:47 +09:00
nrslib
ea0d04c4fe
レビュー画面に元のタスク指示を表示 & タイムスタンプ短縮
...
- getOriginalInstruction: ブランチ最初のコミットから元の指示を抽出
- /review-tasks の選択肢と詳細表示に元の指示を追加
- タイムスタンプのハイフンを除去 (2026-01-29T0225 → 20260129T0225)
2026-01-29 11:34:12 +09:00
nrslib
63d6932c01
Stop using git worktree due to Claude Code SDK working at repository root
2026-01-29 11:24:47 +09:00
nrslib
83621d689e
worktree: try-catch フォールバックと冗長コメントを削除
2026-01-29 09:43:04 +09:00
nrslib
0ecbf6e56b
Worktree をプロジェクト外に作成するよう変更
...
- config.yaml に worktree_dir 設定を追加
- デフォルトは ../{tree-name}(プロジェクトの兄弟ディレクトリ)
- Claude Code のプロジェクト検出問題を回避
2026-01-29 09:41:24 +09:00
nrslib
f83b826a3d
improve task name summarization for branch/worktree names
...
- Improve prompt to prevent "this task is..." style output
- Add LLM/romanization option (useLLM: false for romaji fallback)
- Add sanitizeSlug function for safe branch/directory names
- Add wanakana library for Japanese to romaji conversion
2026-01-29 09:28:51 +09:00
nrslib
7bb54067b4
ステータス出力ルールのヘッダーを自動生成に変更
...
- renderStatusRulesHeader() を追加して言語別にヘッダーを生成
- 全ワークフローYAMLから重複していたヘッダー部分を削除
- buildInstruction() で statusRulesPrompt にヘッダーを自動付加
2026-01-29 02:38:01 +09:00
nrslib
8463eb1033
Instruct にworktreeの変更文脈を自動追加
...
mainからの差分とコミット履歴を指示に含めることで、
エージェントがworktreeの現在の状態を把握できるようにする。
2026-01-29 02:11:07 +09:00
nrslib
848522f7a9
Try Merge を squash merge に変更
...
変更をステージするだけでコミットしないように変更。
git status で確認し、git commit で確定、git reset で取り消し可能。
2026-01-29 01:47:31 +09:00
nrslib
0f2aa896ae
Execution Rules に cd 禁止ルールを追加
...
エージェントがBashコマンドで明示的にcdしてmainディレクトリで
作業してしまう問題を解決するため、「cdを使用しないでください」
というルールをmetadataに追加。
2026-01-29 01:42:04 +09:00
nrslib
48e055ac8a
Execution Rules メタデータを追加(git commit 禁止)
...
buildInstruction で自動付与される実行ルールを追加。
エージェントがコミットすると git diff が空になりレビューできなくなる問題を防ぐ。
2026-01-29 01:30:37 +09:00
nrslib
82193e6db4
タスク名を AI で英語スラグに要約する機能を追加
...
worktree 作成時、日本語タスク名を英語ブランチ名に変換。
- summarizeTaskName() を追加(Claude で要約)
- 例: 「認証機能を追加する」→ add-auth
2026-01-29 01:23:24 +09:00
nrslib
9eb63e787e
diff と instruct 両機能を統合
...
/review コマンドに View diff と Instruct 両方のアクションを追加。
2026-01-29 01:21:47 +09:00
nrslib
c729e8766a
Merge branch 'takt/2026-01-28T1032-taskがちゃんと正常終了しなくてもcompletedに進んでしまうことがある。修正してほしい'
2026-01-29 01:15:22 +09:00
nrslib
75989522ca
worktree セッション引き継ぎ機能を追加
...
同じ worktree に再度指示を出す際、前回のセッションを引き継げるようにする。
- loadWorktreeSessions / updateWorktreeSession を追加
- worktree 別にエージェントセッションを保存(.takt/logs/worktree-sessions/)
- workflowExecution で worktree でもセッション管理を有効化
2026-01-29 01:10:05 +09:00
nrslib
42ae981b65
/review に instruct アクションを追加
...
worktree レビュー時に追加指示を出せる機能を追加。
- 「Instruct」を選択 → 指示入力 → ワークフロー選択 → 実行 → 自動コミット
- selectWorkflowForInstruction() でワークフロー選択
- instructWorktree() でタスク実行と自動コミットを処理
2026-01-29 00:52:01 +09:00
nrslib
277d490eeb
ExecutionMetadataからProject Rootを削除
...
worktreeモードでタスク実行時、エージェントがmainディレクトリで
作業してしまうバグの修正。metadataでProject Rootを見せていたため
Claudeがそちらで作業していた可能性がある。
- ExecutionMetadataインターフェースからprojectRootを削除
- buildExecutionMetadataからprojectRoot設定を削除
- METADATA_STRINGSからprojectRootとmodeを削除
- renderExecutionMetadataからProject Root表示を削除
- 関連テストを更新
2026-01-29 00:49:34 +09:00
nrslib
120815e848
takt: reviewコマンドにて、差分を確認するメニューを用意してほしい。その場でgitdiffをするような形かな。
2026-01-28 20:06:02 +09:00
nrslib
722c827cc4
言語設定を追加
2026-01-28 19:50:52 +09:00
nrslib
c2f530f2a0
takt: taskがちゃんと正常終了しなくてもcompletedに進んでしまうことがある。修正してほしい
2026-01-28 19:46:50 +09:00
nrslib
19ced26d00
worktreeの問題を修正
2026-01-28 19:34:33 +09:00
nrslib
60f7c0851d
worktreeを利用した際に別の場所で作業してしまう問題を修正
2026-01-28 19:17:40 +09:00