claude-task-worker 0.42.0 → 0.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -10
- package/dist/index.js +36 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -52,7 +52,7 @@ GitHub Issues/PRを定期ポーリングし、Claude Codeに処理を委譲す
|
|
|
52
52
|
| `check-dependabot` | `dependencies` (PR) | `/claude-task-worker:check-dependabot` | 1時間 |
|
|
53
53
|
| `epic-issue` | `cc-epic-issue` (Issue, sub-issues が全て Close) | `/claude-task-worker:create-epic-pr` | 5分 |
|
|
54
54
|
| `create-ui-design` | `cc-create-ui-design` (Issue) | `/claude-task-worker:create-ui-design` | 1分 |
|
|
55
|
-
| `apply-ui-design` | `cc-ui-design-pr-created` (Issue) | `/claude-task-worker:apply-ui-design` |
|
|
55
|
+
| `apply-ui-design` | `cc-ui-design-pr-created` (Issue) | `/claude-task-worker:apply-ui-design` | 5分 |
|
|
56
56
|
|
|
57
57
|
> ℹ️ Issue 系ワーカーはすべて GitHub Issue Dependencies の `-is:blocked` 検索 qualifier でサーバ側絞り込みを行うため、未解決の blockedBy Issue を持つ Issue は対象外となる。
|
|
58
58
|
>
|
|
@@ -280,7 +280,7 @@ claude-task-worker init --force # 既存ファイルを強制上書き
|
|
|
280
280
|
|
|
281
281
|
- `.github/ISSUE_TEMPLATE/cc-triage-scope.yml` — `cc-triage-scope` ラベル付きIssue作成用テンプレート
|
|
282
282
|
- `.github/workflows/assign-creator-on-cc-triage-scope.yml` — Issue作成者を自動アサインするワークフロー
|
|
283
|
-
- `claude-task-worker.json` —
|
|
283
|
+
- `claude-task-worker.json` — 設定ファイル(コマンド実行ディレクトリ直下。`uiDesign`(既定は無効)と空の `workers` だけが書き込まれた状態で作成される)。**ワーカーごとの設定は書き出さない**。未指定のワーカーは[ワーカー別デフォルト値](#ワーカーごとの設定)にフォールバックするため、既定値を写経した設定はプラグイン更新で既定が変わっても古い値に固定され続ける。上書きしたいワーカーだけを手で追記する
|
|
284
284
|
|
|
285
285
|
CodeGraph のセットアップ:
|
|
286
286
|
|
|
@@ -422,7 +422,7 @@ claude-task-worker exec-issue --project app-a --epic 100 --label priority-high
|
|
|
422
422
|
}
|
|
423
423
|
```
|
|
424
424
|
|
|
425
|
-
advisor は main モデル以上の能力を持つモデルである必要がある(Claude CLI 側の制約)。そのため `advisorModel` の既定値は、`model` が `sonnet` のワーカーは `opus`、`model` が `opus` のワーカー(`answer-issue-questions`)は空文字(=advisor なし)にしてある。
|
|
425
|
+
advisor は main モデル以上の能力を持つモデルである必要がある(Claude CLI 側の制約)。そのため `advisorModel` の既定値は、`model` が `sonnet` のワーカーは `opus`、`model` が `opus` のワーカー(`exec-issue` / `fix-review-point` / `answer-issue-questions` / `create-issue` / `create-ui-design`)は空文字(=advisor なし)にしてある。
|
|
426
426
|
|
|
427
427
|
### exec-issue
|
|
428
428
|
|
|
@@ -511,7 +511,7 @@ advisor は main モデル以上の能力を持つモデルである必要があ
|
|
|
511
511
|
|
|
512
512
|
### apply-ui-design
|
|
513
513
|
|
|
514
|
-
`cc-ui-design-pr-created` ラベルが付いたIssueを定期取得し、デザインPRのマージ後に `/claude-task-worker:apply-ui-design` を起動して Issue description へデザイン参照セクション(`## UIデザイン`)を書き戻す。(デフォルト
|
|
514
|
+
`cc-ui-design-pr-created` ラベルが付いたIssueを定期取得し、デザインPRのマージ後に `/claude-task-worker:apply-ui-design` を起動して Issue description へデザイン参照セクション(`## UIデザイン`)を書き戻す。(デフォルト5分間隔)
|
|
515
515
|
|
|
516
516
|
- `claude-task-worker.json` の `uiDesign.enabled` が `true` の場合のみ起動する
|
|
517
517
|
- `cc-ui-design-ready` / `cc-exec-issue` が付いているIssueは除外
|
|
@@ -589,18 +589,19 @@ claude-task-worker -v
|
|
|
589
589
|
|
|
590
590
|
| ワーカー名 | デフォルト `skill` | デフォルト `model` | デフォルト `advisorModel` | デフォルト `effort` | デフォルト `pollingIntervalSeconds` | デフォルト `cooldownSeconds` | デフォルト `maxConcurrentTasks` |
|
|
591
591
|
|---|---|---|---|---|---|---|---|
|
|
592
|
-
| `answer-issue-questions` | `/claude-task-worker:answer-issue-questions` | `opus` |
|
|
593
|
-
| `create-issue` | `/claude-task-worker:create-issue-from-issue-number` | `
|
|
592
|
+
| `answer-issue-questions` | `/claude-task-worker:answer-issue-questions` | `opus` | `""`(なし) | `high` | 60 | 0 | 1 |
|
|
593
|
+
| `create-issue` | `/claude-task-worker:create-issue-from-issue-number` | `opus` | `""`(なし) | `high` | 60 | 0 | 1 |
|
|
594
594
|
| `update-issue` | `/claude-task-worker:update-issue` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
|
|
595
|
-
| `exec-issue` | `/claude-task-worker:exec-issue` | `
|
|
596
|
-
| `fix-review-point` | `/claude-task-worker:fix-review-point` | `
|
|
595
|
+
| `exec-issue` | `/claude-task-worker:exec-issue` | `opus` | `""`(なし) | `high` | 60 | 0 | 1 |
|
|
596
|
+
| `fix-review-point` | `/claude-task-worker:fix-review-point` | `opus` | `""`(なし) | `high` | 60 | 0 | 1 |
|
|
597
597
|
| `triage-created-issue` | `/claude-task-worker:triage-created-issue` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
|
|
598
598
|
| `triage-pr` | `/claude-task-worker:triage-pr` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
|
|
599
599
|
| `resolve-conflict` | `/claude-task-worker:resolve-pr-conflict` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
|
|
600
600
|
| `check-dependabot` | `/claude-task-worker:check-dependabot` | `sonnet` | `opus` | `high` | 3600 | 0 | 1 |
|
|
601
601
|
| `epic-issue` | `/claude-task-worker:create-epic-pr` | `sonnet` | `opus` | `high` | 300 | 0 | 1 |
|
|
602
|
-
| `create-ui-design` | `/claude-task-worker:create-ui-design` | `
|
|
603
|
-
| `apply-ui-design` | `/claude-task-worker:apply-ui-design` | `sonnet` | `opus` | `high` |
|
|
602
|
+
| `create-ui-design` | `/claude-task-worker:create-ui-design` | `opus` | `""`(なし) | `high` | 60 | 0 | 1 |
|
|
603
|
+
| `apply-ui-design` | `/claude-task-worker:apply-ui-design` | `sonnet` | `opus` | `high` | 300 | 0 | 1 |
|
|
604
|
+
| (上記以外・未知のワーカー名) | (なし) | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
|
|
604
605
|
|
|
605
606
|
各フィールドの値:
|
|
606
607
|
|
package/dist/index.js
CHANGED
|
@@ -1513,7 +1513,7 @@ var CLAUDE_SPAWN_ENV = {
|
|
|
1513
1513
|
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1",
|
|
1514
1514
|
CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS: "0"
|
|
1515
1515
|
};
|
|
1516
|
-
var
|
|
1516
|
+
var SYSTEM_PROMPT_BASE = `\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306F \`claude-task-worker\` \u306E\u30EF\u30FC\u30AB\u30FC\u304B\u3089\u81EA\u52D5\u8D77\u52D5\u3055\u308C\u3066\u3044\u308B\uFF08\u5FDC\u7B54\u3067\u304D\u308B\u30E6\u30FC\u30B6\u30FC\u306F\u5E38\u99D0\u3057\u3066\u3044\u306A\u3044\uFF09\u3002\u4EE5\u4E0B\u306E\u81EA\u5F8B\u5B9F\u884C\u539F\u5247\u3092\u5FC5\u305A\u9075\u5B88\u3059\u308B\u3053\u3068\u3002
|
|
1517
1517
|
|
|
1518
1518
|
- \u30E6\u30FC\u30B6\u30FC\u3078\u306E\u78BA\u8A8D\u30FB\u8CEA\u554F\u306F\u884C\u308F\u305A\u3001\u8D77\u52D5\u3055\u308C\u305F\u30B9\u30AD\u30EB\u306E\u30EB\u30FC\u30EB\u306B\u5F93\u3063\u3066\u81EA\u5F8B\u7684\u306B\u5224\u65AD\u3059\u308B
|
|
1519
1519
|
- \u66D6\u6627\u306A\u5834\u5408\u306F\u300C\u3088\u308A\u5B89\u5168\u306A\u5074\uFF08\u7834\u58CA\u7684\u3067\u306A\u3044\u5074\uFF09\u300D\u3092\u9078\u629E\u3057\u3001\u305D\u306E\u5224\u65AD\u3068\u6839\u62E0\u3092\u6700\u7D42\u5831\u544A\u306B\u660E\u8A18\u3059\u308B
|
|
@@ -1529,17 +1529,40 @@ var SYSTEM_PROMPT = `\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306F \`claude-t
|
|
|
1529
1529
|
- CodeGraph \u304C\u8FD4\u3057\u305F\u30BD\u30FC\u30B9\u306F\u300C\u8AAD\u307F\u7D42\u3048\u305F\u3082\u306E\u300D\u3068\u3057\u3066\u6271\u3044\u3001\u540C\u3058\u7B87\u6240\u3092 \`Grep\`/\`Read\` \u3067\u88CF\u53D6\u308A\u3057\u76F4\u3055\u306A\u3044\u3002\u305F\u3060\u3057\u51FA\u529B\u306B staleness\uFF08\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u304C\u53E4\u3044\u65E8\uFF09\u306E\u8B66\u544A\u304C\u51FA\u3066\u3044\u308B\u5834\u5408\u306F\u8A72\u5F53\u30D5\u30A1\u30A4\u30EB\u3092 \`Read\` \u3057\u3066\u73FE\u7269\u3092\u78BA\u8A8D\u3059\u308B
|
|
1530
1530
|
- \u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30B3\u30E1\u30F3\u30C8/\u6587\u5B57\u5217\u30EA\u30C6\u30E9\u30EB\u30FB\u672A\u5BFE\u5FDC\u8A00\u8A9E\u306A\u3069 CodeGraph \u304C\u6271\u308F\u306A\u3044\u5BFE\u8C61\u306F\u3001\u5F93\u6765\u3069\u304A\u308A\u30C6\u30AD\u30B9\u30C8\u691C\u7D22\u3067\u88DC\u3046
|
|
1531
1531
|
- \u63A2\u7D22\u3092\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3078\u59D4\u8B72\u3059\u308B\u5834\u5408\u306F\u3001\u3053\u306E\u65B9\u91DD\u3082\u59D4\u8B72\u30D7\u30ED\u30F3\u30D7\u30C8\u306B\u660E\u8A18\u3057\u3066\u4F1D\u3048\u308B`;
|
|
1532
|
+
var OPUS_SYSTEM_PROMPT_ADDENDUM = `\u6210\u679C\u7269\u306E\u5206\u91CF\u3068\u30B9\u30B3\u30FC\u30D7\u306B\u3064\u3044\u3066\u306F\u4EE5\u4E0B\u306B\u5F93\u3046\u3053\u3068\u3002
|
|
1533
|
+
|
|
1534
|
+
- \u4F9D\u983C\u3055\u308C\u305F\u30B9\u30B3\u30FC\u30D7\u3060\u3051\u3092\u6210\u679C\u7269\u306B\u3059\u308B\u3002\u5468\u8FBA\u306E\u30EA\u30D5\u30A1\u30AF\u30BF\u30FB\u547D\u540D\u6574\u7406\u30FB\u6C17\u3065\u3044\u305F\u5225\u306E\u6539\u5584\u3092\u52DD\u624B\u306B\u8DB3\u3055\u306A\u3044\u3002\u6C17\u3065\u3044\u305F\u70B9\u306F\u5B9F\u88C5\u305B\u305A\u3001\u6700\u7D42\u5831\u544A\u306B1\u884C\u3067\u6319\u3052\u308B\u3060\u3051\u306B\u3059\u308B
|
|
1535
|
+
- \u4F9D\u983C\u306E\u524D\u63D0\u304C\u8AA4\u3063\u3066\u3044\u308B\u3068\u8003\u3048\u308B\u5834\u5408\u3082\u3001\u6307\u6458\u30921-2\u884C\u6DFB\u3048\u305F\u3046\u3048\u3067**\u4F9D\u983C\u3069\u304A\u308A\u306E\u30B9\u30B3\u30FC\u30D7\u3067**\u5B8C\u9042\u3059\u308B\uFF08\u9ED9\u3063\u3066\u7E2E\u5C0F\u30FB\u62E1\u5927\u30FB\u5225\u7269\u3078\u306E\u7F6E\u304D\u63DB\u3048\u3092\u3057\u306A\u3044\uFF09
|
|
1536
|
+
- Issue\u30B3\u30E1\u30F3\u30C8\u30FBPR\u306E\u672C\u6587\u30FBdescription\u30FB\u30EC\u30DD\u30FC\u30C8\u7B49\u306E\u66F8\u304D\u7269\u306F\u3001\u5FC5\u8981\u306A\u5B9F\u8CEA\u3060\u3051\u3092\u66F8\u304F\u3002\u540C\u3058\u5185\u5BB9\u306E\u8A00\u3044\u63DB\u3048\u30FB\u57CB\u3081\u8349\u30BB\u30AF\u30B7\u30E7\u30F3\u30FB\u300C\u8A72\u5F53\u306A\u3057\u300D\u3092\u4E26\u3079\u308B\u3060\u3051\u306E\u7BC0\u3092\u8DB3\u3055\u306A\u3044
|
|
1537
|
+
- \u6700\u7D42\u5831\u544A\u306F\u7D50\u8AD6\u304B\u3089\u66F8\u304F\u30021\u6587\u76EE\u3067\u300C\u4F55\u3092\u3057\u305F\u304B / \u3069\u3053\u3067\u6B62\u307E\u3063\u305F\u304B\u300D\u3092\u8FF0\u3079\u3001\u8A73\u7D30\u3092\u305D\u306E\u5F8C\u306B\u7F6E\u304F
|
|
1538
|
+
|
|
1539
|
+
\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3078\u306E\u59D4\u8B72\u306F\u4EE5\u4E0B\u306B\u5F93\u3046\u3053\u3068\u3002
|
|
1540
|
+
|
|
1541
|
+
- \u81EA\u5206\u3067\u6570\u56DE\u306E\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057\u3067\u7D42\u308F\u308B\u4F5C\u696D\u306F\u59D4\u8B72\u3057\u306A\u3044\uFF08\u30D6\u30EA\u30FC\u30D5\u30A3\u30F3\u30B0\u4F5C\u6210\u3068\u59D4\u8B72\u5148\u306E\u518D\u63A2\u7D22\u3067\u30B3\u30B9\u30C8\u3068\u6642\u9593\u304C\u500D\u306B\u306A\u308B\uFF09
|
|
1542
|
+
- \u59D4\u8B72\u3059\u308B\u306E\u306F\u3001\u72EC\u7ACB\u3057\u3066\u4E26\u5217\u5B9F\u884C\u3067\u304D\u308B\u4F5C\u696D\u30FB\u63A2\u7D22\u7BC4\u56F2\u306E\u5E83\u3044\u8ABF\u67FB\u30FB\u5C02\u9580\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306E\u524D\u63D0\u77E5\u8B58\u304C\u8981\u308B\u4F5C\u696D\u306B\u9650\u308B
|
|
1543
|
+
- 1\u30BF\u30B9\u30AF\u306B1\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30021\u4F53\u3067\u5B8C\u7D50\u3059\u308B\u4F5C\u696D\u306B\u8907\u6570\u4F53\u3092\u91CD\u306D\u3066\u8D77\u52D5\u3057\u306A\u3044
|
|
1544
|
+
- **\u81EA\u5206\u306E\u4F5C\u696D\u306E\u78BA\u8A8D\u30FB\u518D\u30C1\u30A7\u30C3\u30AF\u3092\u76EE\u7684\u306B\u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u8D77\u52D5\u3057\u306A\u3044**\u3002\u6210\u679C\u7269\u306E\u691C\u8A3C\u306F \`git diff\` \u3084\u30C6\u30B9\u30C8\u30FBLint\u306E\u5B9F\u884C\u3067\u81EA\u5206\u3067\u884C\u3046`;
|
|
1545
|
+
function systemPromptFor(model) {
|
|
1546
|
+
return isOpusModel(model) ? `${SYSTEM_PROMPT_BASE}
|
|
1547
|
+
|
|
1548
|
+
${OPUS_SYSTEM_PROMPT_ADDENDUM}` : SYSTEM_PROMPT_BASE;
|
|
1549
|
+
}
|
|
1550
|
+
function isOpusModel(model) {
|
|
1551
|
+
return model.toLowerCase().includes("opus");
|
|
1552
|
+
}
|
|
1532
1553
|
var CLAUDE_COMMAND = "claude";
|
|
1533
|
-
var
|
|
1534
|
-
function systemPromptFilePath() {
|
|
1535
|
-
|
|
1554
|
+
var cachedSystemPromptFilePaths = /* @__PURE__ */ new Map();
|
|
1555
|
+
function systemPromptFilePath(model) {
|
|
1556
|
+
const variant = isOpusModel(model) ? "opus" : "default";
|
|
1557
|
+
const cached = cachedSystemPromptFilePaths.get(variant);
|
|
1558
|
+
if (cached) return cached;
|
|
1536
1559
|
const dir = path.join(os.tmpdir(), "claude-task-worker");
|
|
1537
1560
|
mkdirSync(dir, { recursive: true });
|
|
1538
|
-
const target = path.join(dir, `append-system-prompt-${process.pid}.txt`);
|
|
1561
|
+
const target = path.join(dir, `append-system-prompt-${process.pid}-${variant}.txt`);
|
|
1539
1562
|
const tmp = `${target}.tmp`;
|
|
1540
|
-
writeFileSync(tmp,
|
|
1563
|
+
writeFileSync(tmp, systemPromptFor(model), "utf8");
|
|
1541
1564
|
renameSync(tmp, target);
|
|
1542
|
-
|
|
1565
|
+
cachedSystemPromptFilePaths.set(variant, target);
|
|
1543
1566
|
return target;
|
|
1544
1567
|
}
|
|
1545
1568
|
function buildClaudeArgs({ mode, prompt, model, effort, advisorModel }) {
|
|
@@ -1552,7 +1575,7 @@ function buildClaudeArgs({ mode, prompt, model, effort, advisorModel }) {
|
|
|
1552
1575
|
"--disallowedTools",
|
|
1553
1576
|
DISALLOWED_TOOLS_ARG,
|
|
1554
1577
|
"--append-system-prompt-file",
|
|
1555
|
-
systemPromptFilePath(),
|
|
1578
|
+
systemPromptFilePath(model),
|
|
1556
1579
|
"--model",
|
|
1557
1580
|
model,
|
|
1558
1581
|
"--effort",
|
|
@@ -3810,7 +3833,11 @@ function logWriteResult(result, path2) {
|
|
|
3810
3833
|
else console.log(`[init] Already exists: ${path2}`);
|
|
3811
3834
|
}
|
|
3812
3835
|
async function createConfig(force) {
|
|
3813
|
-
const initialConfig = {
|
|
3836
|
+
const initialConfig = {
|
|
3837
|
+
...DEFAULT_CONFIG,
|
|
3838
|
+
uiDesign: { ...DEFAULT_UI_DESIGN_CONFIG },
|
|
3839
|
+
workers: {}
|
|
3840
|
+
};
|
|
3814
3841
|
const result = await writeFileWithMode(CONFIG_PATH, JSON.stringify(initialConfig, null, 2), force);
|
|
3815
3842
|
logWriteResult(result, CONFIG_PATH);
|
|
3816
3843
|
}
|