40 Commits

Author SHA1 Message Date
nrslib
cbde7ac654 refactor: 設定参照をresolveConfigValueへ統一 2026-02-19 10:55:03 +09:00
nrslib
5dc79946f2 refactor: 設定解決をloadConfigへ統一し不要設定を削除 2026-02-19 10:32:59 +09:00
nrslib
16d7f9f979 リトライモード新設と instruct/retry の直接再実行対応
失敗タスク専用のリトライモード(retryMode.ts)を追加し、失敗情報・実行ログ・
レポートをシステムプロンプトに注入する方式に変更。instruct モードもタスク情報を
プロンプトに含める専用テンプレートへ移行。requeue のみだった再実行を
startReExecution による即時実行に対応し、既存ワークツリーの再利用も実装。
不要になった DebugConfig を削除。
2026-02-18 22:35:31 +09:00
nrslib
620e384251 interactiveモジュールの分割とタスク再キュー方式への移行
interactive.tsからsummary/runSelector/runSessionReader/selectorUtilsを分離し、
run session参照をrouting層からinstructMode層に移動。instructBranchで新タスク
作成の代わりに既存タスクのrequeueを使用する方式に変更。worktree確認プロンプトを
廃止し常時有効化。
2026-02-18 18:49:21 +09:00
nrslib
251acf8e51 refactor(task-store): replace file-based lock with in-memory guard 2026-02-16 10:14:29 +09:00
nrslib
89cb3f8dbf fix(task-store): prevent EPERM crash in lock release by tracking ownership in memory 2026-02-16 10:02:17 +09:00
nrslib
05b893f720 Release v0.17.0 2026-02-15 12:00:21 +09:00
nrs
e52e1da6bf
takt-list (#271)
* refactor: provider/modelの解決ロジックをAgentRunnerに集約

OptionsBuilderでCLIレベルとstepレベルを事前マージしていたのをやめ、
stepProvider/stepModelとして分離して渡す形に変更。
AgentRunnerが全レイヤーの優先度を一括で解決する。

* takt: takt-list
2026-02-14 11:44:01 +09:00
nrslib
9cc6ac2ca7 ポストエクスキューションの共通化とinstructモードの改善
- commit+push+PR作成ロジックをpostExecutionFlowに抽出し、interactive/run/watchの3ルートで共通化
- instructモードはexecuteでcommit+pushのみ(既存PRにpushで反映されるためPR作成不要)
- instructのsave_taskで元ブランチ名・worktree・auto_pr:falseを固定保存(プロンプト不要)
- instructの会話ループにpieceContextを渡し、/goのサマリー品質を改善
- resolveTaskExecutionのautoPrをboolean必須に変更(undefinedフォールバック廃止)
- cloneデフォルトパスを../から../takt-worktree/に変更
2026-02-14 01:02:23 +09:00
nrslib
b54fbe32b2 clone時に既存ブランチのcheckoutが失敗する問題を修正
cloneAndIsolateがgit remote remove originした後、リモート追跡refが
全て消えるため、default以外の既存ブランチをcheckoutできなかった。

git clone --branchでclone時にローカルブランチを作成するように変更。
併せてブランチ名フォーマットからgit非互換の#を除去。
2026-02-12 11:52:43 +09:00
nrslib
eb32cf0138 slug エージェントが暴走するのを対処 2026-02-10 21:19:03 +09:00
nrs
8cb3c87801
takt: github-issue-204-takt-tasks (#205) 2026-02-10 14:26:37 +09:00
nrs
6b207e0c74
github-issue-201-completetask-completed-tasks-yaml (#202)
* fix: stable release時にnext dist-tagを自動同期

* takt: github-issue-201-completetask-completed-tasks-yaml
2026-02-10 13:37:33 +09:00
nrs
f4c105c0c3
takt: github-issue-191-takt-list-priority-refs-ref (#195) 2026-02-10 07:07:18 +09:00
nrs
f8bcc4ce7d
takt: optimize-base-commit-cache (#186) 2026-02-09 23:29:48 +09:00
nrs
4ca414be6b
takt: consolidate-tasks-yaml (#187) 2026-02-09 23:29:24 +09:00
nrs
a481346945
takt: fix-original-instruction-diff (#181) 2026-02-09 20:55:57 +09:00
nrslib
c2aa22f97c パラレルを改良 2026-02-08 17:09:26 +09:00
nrslib
f324225565 takt: github-issue-143-tasuku-takt-r 2026-02-08 11:59:35 +09:00
nrslib
b9a2a0329b auto PR のベースブランチをブランチ作成前の現在ブランチに設定
createPullRequest の全呼び出し箇所で base が未指定だったため、
PR が常にリポジトリデフォルトブランチ(main)向けに作成されていた。
ブランチ作成/clone作成の直前に getCurrentBranch() で元ブランチを
取得し、PR作成時に base として渡すように修正。
2026-02-08 07:51:03 +09:00
nrslib
ea7ce54912 takt: # タスク指示書: resources/ → builtins/ リネーム + export-cc 修正
## 概要
`resources/` ディレクトリを `builtins/` にリネームし、用途を明確化。同時に export-cc コマンドを拡張して全リソースをコピーするように修正する。

---

## タスク一覧

### 1. ディレクトリリネーム(優先度: 高)

| 変更前 | 変更後 |
|--------|--------|
| `resources/` | `builtins/` |
| `resources/global/{lang}/` | `builtins/{lang}/`(global/ 階層を除去) |
| `resources/project/` | `builtins/project/` |
| `resources/skill/` | `builtins/skill/` |

### 2. 不要ファイル削除(優先度: 高)

- `builtins/{lang}/prompts/` を削除
  - 対象: `interactive-system.md`, `interactive-summary.md`
  - 理由: コードから未参照、実体は `src/shared/prompts/`

### 3. コード修正 — パス参照(優先度: 高)

`resources` → `builtins`、`global/{lang}` → `{lang}` に更新:

| ファイル | 修正内容 |
|----------|----------|
| `src/infra/resources/index.ts` | `getResourcesDir()`, `getGlobalResourcesDir()`, `getLanguageResourcesDir()` 等のパス |
| `src/infra/config/paths.ts` | `getBuiltinPiecesDir()`, `getBuiltinPersonasDir()` |
| `src/infra/config/global/initialization.ts` | `copyLanguageConfigYaml()` |
| `src/infra/config/loaders/pieceCategories.ts` | `getLanguageResourcesDir()` 参照 |
| `src/features/config/ejectBuiltin.ts` | `getLanguageResourcesDir()` 参照 |
| `src/features/config/deploySkill.ts` | `getResourcesDir()` 参照 |

### 4. export-cc 修正(優先度: 高)

ファイル: `src/features/config/deploySkill.ts`

**現状**: pieces/ と personas/ のみコピー

**修正後**:
- `builtins/{lang}/` 全体を `~/.claude/skills/takt/` にコピー
- `skill/` のファイル(SKILL.md, references/, takt-command.md)は従来通り
- サマリー表示を新リソースタイプ(stances, instructions, knowledge 等)に対応
- confirm メッセージ修正:
  - 現状: `'上書きしますか?'`
  - 修正後: `'既存のスキルファイルをすべて削除し、最新版に置き換えます。続行しますか?'`

### 5. テスト修正(優先度: 中)

| ファイル | 修正内容 |
|----------|----------|
| `src/__tests__/initialization.test.ts` | `getLanguageResourcesDir` のパス期待値 |
| `src/__tests__/piece-category-config.test.ts` | mock パス |
| その他 `resources` パスを参照しているテスト | パス更新 |

### 6. ビルド・パッケージ設定(優先度: 中)

| ファイル | 修正内容 |
|----------|----------|
| `package.json` | `files` フィールドで `resources/` → `builtins/` |
| `tsconfig.json` | `resources/` への参照があれば更新 |
| `.gitignore` | 必要に応じて更新 |

### 7. ドキュメント(優先度: 低)

- `CLAUDE.md` の Directory Structure セクションを更新
- JSDoc コメントから `prompts/` 記述を削除

---

## 制約

- `builtins/{lang}/` のフラット構造は変更不可(ピースYAML内の相対パス依存)
- eject のセーフティ(skip-if-exists)は変更不要
- export-cc のセーフティ(SKILL.md 存在チェック + confirm)は維持

---

## 確認方法

- `npm run build` が成功すること
- `npm test` が全てパスすること
- `takt init` / `takt eject` / `takt export-cc` が正常動作すること
2026-02-07 14:46:20 +09:00
nrslib
401b2ff2ca wanakana制限 2026-02-07 13:06:14 +09:00
nrslib
e23cfa9a3b agent 周りの抽象化 2026-02-07 10:15:41 +09:00
nrslib
4c0b3c1593 takt: github-issue-98-pr-no-wo-ni-sh 2026-02-06 18:05:19 +09:00
nrslib
919215fad3 resolved 失敗タスクの再投入とムーブメント開始位置の選択機能 #110 2026-02-06 17:22:22 +09:00
nrslib
163561a5b3 ブランチ名生成戦略を設定可能に
デフォルトをローマ字化(高速)に変更し、AI生成が必要な場合は config.yaml で branchNameStrategy: ai を設定可能にした。これによりブランチ名生成の待ち時間を削減し、LLMコストも削減できる。

また、coder エージェントに「根本原因修正後の安全機構迂回は禁止」ルールを追加した。
2026-02-06 16:30:45 +09:00
nrslib
8c83cf60f9 stageAndCommit から git add -f .takt/reports/ を削除
エージェントが c89ac4c で追加した force-add により、worktree 実行時に
.takt/reports/ がコミットに含まれてしまう問題を修正。
.takt/ は .gitignore で除外済みのため force-add は不要。
2026-02-06 16:11:18 +09:00
nrslib
af6f59caa7 Merge branch 'takt/#113/generate-slug-for-task' into develop 2026-02-06 15:03:26 +09:00
nrslib
da2d07bdd3 coding ピースを plan ベースに刷新し、エージェントプロンプトにボーイスカウトルール・後方互換コード検出を追加
- architect-plan → plan ムーブメントに変更、architect-planner エージェント導入
- 「既存パターン踏襲」から「最適パターン検討」へ方針転換
- worktree-sessions 関連コードを削除(未使用機能の整理)
2026-02-06 14:14:09 +09:00
nrslib
c89ac4cc7a takt: fix-report-dir-path 2026-02-06 12:20:18 +09:00
nrslib
378f5477e4 list コマンドのリファクタリング: non-interactive モード分離、delete アクション追加、console.log を info に統一 2026-02-06 08:56:00 +09:00
nrslib
ee0cb8e13a E2Eテスト基盤の追加・レビューエージェント改善・lint修正
- E2Eテストのフィクスチャ、ヘルパー、スペックを追加
- mock/provider別のvitest設定を追加
- レビューエージェントのプロンプト改善
- TTY判定の共通化、list/confirmのnon-interactive対応
- eslint no-non-null-assertion を off に変更、未使用インポート削除
2026-02-05 16:59:32 +09:00
nrslib
c4ebbdb6a6 Codex の際にブランチ名のサマリ処理に問題があったのを修正 2026-02-04 13:40:57 +09:00
nrslib
38d43f2168 pieceに完全移行 2026-02-04 11:07:41 +09:00
nrslib
887365c4eb 無用な後方互換削除 2026-02-04 04:04:56 +09:00
nrslib
6378ee6174 プロンプトを見通しやすく変更 2026-02-04 03:33:48 +09:00
nrslib
fabf4bcd27 takt worktreeのBugFix 2026-02-03 18:39:35 +09:00
nrslib
ad28dc7438 takt のプロンプトをファイルに 2026-02-03 17:04:09 +09:00
nrslib
b944349d8f refacotr 2026-02-02 21:52:40 +09:00
nrslib
7d8ba10abb refactor 2026-02-02 17:11:42 +09:00