@einja/dev-cli 0.1.7 → 0.1.9

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.
Files changed (83) hide show
  1. package/README.md +4 -5
  2. package/dist/cli.js +4 -4
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/init.d.ts.map +1 -1
  5. package/dist/commands/init.js +4 -2
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/commands/sync.d.ts.map +1 -1
  8. package/dist/commands/sync.js +16 -9
  9. package/dist/commands/sync.js.map +1 -1
  10. package/dist/commands/task-loop/index.d.ts +18 -0
  11. package/dist/commands/task-loop/index.d.ts.map +1 -0
  12. package/dist/commands/task-loop/index.js +343 -0
  13. package/dist/commands/task-loop/index.js.map +1 -0
  14. package/dist/commands/task-loop/lib/branch-manager.d.ts +66 -0
  15. package/dist/commands/task-loop/lib/branch-manager.d.ts.map +1 -0
  16. package/dist/commands/task-loop/lib/branch-manager.js +697 -0
  17. package/dist/commands/task-loop/lib/branch-manager.js.map +1 -0
  18. package/dist/commands/task-loop/lib/conflict-handler.d.ts +8 -0
  19. package/dist/commands/task-loop/lib/conflict-handler.d.ts.map +1 -0
  20. package/dist/commands/task-loop/lib/conflict-handler.js +68 -0
  21. package/dist/commands/task-loop/lib/conflict-handler.js.map +1 -0
  22. package/dist/commands/task-loop/lib/dependency-resolver.d.ts +45 -0
  23. package/dist/commands/task-loop/lib/dependency-resolver.d.ts.map +1 -0
  24. package/dist/commands/task-loop/lib/dependency-resolver.js +184 -0
  25. package/dist/commands/task-loop/lib/dependency-resolver.js.map +1 -0
  26. package/dist/commands/task-loop/lib/gh-setup.d.ts +15 -0
  27. package/dist/commands/task-loop/lib/gh-setup.d.ts.map +1 -0
  28. package/dist/commands/task-loop/lib/gh-setup.js +196 -0
  29. package/dist/commands/task-loop/lib/gh-setup.js.map +1 -0
  30. package/dist/commands/task-loop/lib/github-client.d.ts +27 -0
  31. package/dist/commands/task-loop/lib/github-client.d.ts.map +1 -0
  32. package/dist/commands/task-loop/lib/github-client.js +110 -0
  33. package/dist/commands/task-loop/lib/github-client.js.map +1 -0
  34. package/dist/commands/task-loop/lib/issue-parser.d.ts +27 -0
  35. package/dist/commands/task-loop/lib/issue-parser.d.ts.map +1 -0
  36. package/dist/commands/task-loop/lib/issue-parser.js +254 -0
  37. package/dist/commands/task-loop/lib/issue-parser.js.map +1 -0
  38. package/dist/commands/task-loop/lib/project-selector.d.ts +15 -0
  39. package/dist/commands/task-loop/lib/project-selector.d.ts.map +1 -0
  40. package/dist/commands/task-loop/lib/project-selector.js +187 -0
  41. package/dist/commands/task-loop/lib/project-selector.js.map +1 -0
  42. package/dist/commands/task-loop/lib/task-number-utils.d.ts +56 -0
  43. package/dist/commands/task-loop/lib/task-number-utils.d.ts.map +1 -0
  44. package/dist/commands/task-loop/lib/task-number-utils.js +114 -0
  45. package/dist/commands/task-loop/lib/task-number-utils.js.map +1 -0
  46. package/dist/commands/task-loop/lib/task-state-manager.d.ts +59 -0
  47. package/dist/commands/task-loop/lib/task-state-manager.d.ts.map +1 -0
  48. package/dist/commands/task-loop/lib/task-state-manager.js +184 -0
  49. package/dist/commands/task-loop/lib/task-state-manager.js.map +1 -0
  50. package/dist/commands/task-loop/lib/types.d.ts +93 -0
  51. package/dist/commands/task-loop/lib/types.d.ts.map +1 -0
  52. package/dist/commands/task-loop/lib/types.js +5 -0
  53. package/dist/commands/task-loop/lib/types.js.map +1 -0
  54. package/dist/commands/task-loop/lib/vibe-kanban-client.d.ts +82 -0
  55. package/dist/commands/task-loop/lib/vibe-kanban-client.d.ts.map +1 -0
  56. package/dist/commands/task-loop/lib/vibe-kanban-client.js +280 -0
  57. package/dist/commands/task-loop/lib/vibe-kanban-client.js.map +1 -0
  58. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.d.ts +42 -0
  59. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.d.ts.map +1 -0
  60. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js +122 -0
  61. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js.map +1 -0
  62. package/dist/lib/sync/batch-processor.test.js +1 -1
  63. package/dist/lib/sync/batch-processor.test.js.map +1 -1
  64. package/dist/lib/sync/diff-engine.js +1 -1
  65. package/dist/lib/sync/diff-engine.js.map +1 -1
  66. package/dist/lib/sync/hash-cache.d.ts +10 -4
  67. package/dist/lib/sync/hash-cache.d.ts.map +1 -1
  68. package/dist/lib/sync/hash-cache.js +28 -9
  69. package/dist/lib/sync/hash-cache.js.map +1 -1
  70. package/dist/lib/sync/hash-cache.test.js +69 -38
  71. package/dist/lib/sync/hash-cache.test.js.map +1 -1
  72. package/dist/lib/sync/metadata-manager.d.ts.map +1 -1
  73. package/dist/lib/sync/metadata-manager.js +3 -4
  74. package/dist/lib/sync/metadata-manager.js.map +1 -1
  75. package/dist/lib/sync/performance.test.js +4 -5
  76. package/dist/lib/sync/performance.test.js.map +1 -1
  77. package/package.json +2 -1
  78. package/presets/minimal/preset.yaml +0 -1
  79. package/scaffolds/CLAUDE.md.template +81 -13
  80. package/dist/commands/task-loop.d.ts +0 -11
  81. package/dist/commands/task-loop.d.ts.map +0 -1
  82. package/dist/commands/task-loop.js +0 -81
  83. package/dist/commands/task-loop.js.map +0 -1
@@ -5,106 +5,137 @@ describe("HashCache", () => {
5
5
  it("ハッシュを保存し、同じキーで取得できること", () => {
6
6
  const cache = new HashCache();
7
7
  const filePath = ".claude/commands/einja/spec-create.md";
8
- const contentLength = 1024;
8
+ const content = "a".repeat(1024);
9
9
  const hash = "abc123def456";
10
- cache.set(filePath, contentLength, hash);
11
- const result = cache.get(filePath, contentLength);
10
+ cache.set(filePath, content, hash);
11
+ const result = cache.get(filePath, content);
12
12
  expect(result).toBe(hash);
13
13
  });
14
14
  it("存在しないキーの場合、undefinedが返されること", () => {
15
15
  const cache = new HashCache();
16
- const result = cache.get("nonexistent.md", 100);
16
+ const result = cache.get("nonexistent.md", "some content");
17
17
  expect(result).toBeUndefined();
18
18
  });
19
19
  it("異なるファイルパスで異なるハッシュを保存できること", () => {
20
20
  const cache = new HashCache();
21
21
  const file1 = "file1.md";
22
22
  const file2 = "file2.md";
23
+ const content = "same content";
23
24
  const hash1 = "hash1";
24
25
  const hash2 = "hash2";
25
- cache.set(file1, 100, hash1);
26
- cache.set(file2, 100, hash2);
27
- expect(cache.get(file1, 100)).toBe(hash1);
28
- expect(cache.get(file2, 100)).toBe(hash2);
26
+ cache.set(file1, content, hash1);
27
+ cache.set(file2, content, hash2);
28
+ expect(cache.get(file1, content)).toBe(hash1);
29
+ expect(cache.get(file2, content)).toBe(hash2);
29
30
  });
30
- it("同じファイルパスでも異なるコンテンツ長で異なるハッシュを保存できること", () => {
31
+ it("同じファイルパスでも異なるコンテンツで異なるハッシュを保存できること", () => {
31
32
  const cache = new HashCache();
32
33
  const filePath = "file.md";
34
+ const content1 = "content version 1";
35
+ const content2 = "content version 2";
33
36
  const hash1 = "hash1";
34
37
  const hash2 = "hash2";
35
- cache.set(filePath, 100, hash1);
36
- cache.set(filePath, 200, hash2);
37
- expect(cache.get(filePath, 100)).toBe(hash1);
38
- expect(cache.get(filePath, 200)).toBe(hash2);
38
+ cache.set(filePath, content1, hash1);
39
+ cache.set(filePath, content2, hash2);
40
+ expect(cache.get(filePath, content1)).toBe(hash1);
41
+ expect(cache.get(filePath, content2)).toBe(hash2);
42
+ });
43
+ it("同じ長さでも異なる内容のコンテンツを区別できること", () => {
44
+ const cache = new HashCache();
45
+ const filePath = "file.md";
46
+ // 同じ長さだが異なる内容
47
+ const content1 = "abcdef";
48
+ const content2 = "ghijkl";
49
+ const hash1 = "hash1";
50
+ const hash2 = "hash2";
51
+ cache.set(filePath, content1, hash1);
52
+ cache.set(filePath, content2, hash2);
53
+ expect(cache.get(filePath, content1)).toBe(hash1);
54
+ expect(cache.get(filePath, content2)).toBe(hash2);
39
55
  });
40
56
  });
41
57
  describe("hasメソッド", () => {
42
58
  it("保存されたキーに対してtrueを返すこと", () => {
43
59
  const cache = new HashCache();
44
- cache.set("file.md", 100, "hash");
45
- expect(cache.has("file.md", 100)).toBe(true);
60
+ const content = "some content";
61
+ cache.set("file.md", content, "hash");
62
+ expect(cache.has("file.md", content)).toBe(true);
46
63
  });
47
64
  it("保存されていないキーに対してfalseを返すこと", () => {
48
65
  const cache = new HashCache();
49
- expect(cache.has("file.md", 100)).toBe(false);
66
+ expect(cache.has("file.md", "some content")).toBe(false);
50
67
  });
51
68
  });
52
69
  describe("clearメソッド", () => {
53
70
  it("すべてのキャッシュをクリアできること", () => {
54
71
  const cache = new HashCache();
55
- cache.set("file1.md", 100, "hash1");
56
- cache.set("file2.md", 200, "hash2");
72
+ const content1 = "content 1";
73
+ const content2 = "content 2";
74
+ cache.set("file1.md", content1, "hash1");
75
+ cache.set("file2.md", content2, "hash2");
57
76
  expect(cache.size()).toBe(2);
58
77
  cache.clear();
59
78
  expect(cache.size()).toBe(0);
60
- expect(cache.has("file1.md", 100)).toBe(false);
61
- expect(cache.has("file2.md", 200)).toBe(false);
79
+ expect(cache.has("file1.md", content1)).toBe(false);
80
+ expect(cache.has("file2.md", content2)).toBe(false);
62
81
  });
63
82
  });
64
83
  describe("sizeメソッド", () => {
65
84
  it("キャッシュエントリ数を正しく返すこと", () => {
66
85
  const cache = new HashCache();
67
86
  expect(cache.size()).toBe(0);
68
- cache.set("file1.md", 100, "hash1");
87
+ cache.set("file1.md", "content 1", "hash1");
69
88
  expect(cache.size()).toBe(1);
70
- cache.set("file2.md", 200, "hash2");
89
+ cache.set("file2.md", "content 2", "hash2");
71
90
  expect(cache.size()).toBe(2);
72
91
  cache.clear();
73
92
  expect(cache.size()).toBe(0);
74
93
  });
75
94
  });
76
95
  describe("同一ファイルの2回目以降のハッシュ計算をスキップ", () => {
77
- it("同じファイルパスとコンテンツ長で2回getした場合、2回目はキャッシュから取得されること", () => {
96
+ it("同じファイルパスとコンテンツで2回getした場合、2回目はキャッシュから取得されること", () => {
78
97
  const cache = new HashCache();
79
98
  const filePath = ".claude/commands/einja/spec-create.md";
80
- const contentLength = 1024;
99
+ const content = "a".repeat(1024);
81
100
  const hash = "abc123def456";
82
101
  // 1回目:保存
83
- cache.set(filePath, contentLength, hash);
102
+ cache.set(filePath, content, hash);
84
103
  // 2回目:取得(キャッシュヒット)
85
- const result1 = cache.get(filePath, contentLength);
86
- const result2 = cache.get(filePath, contentLength);
104
+ const result1 = cache.get(filePath, content);
105
+ const result2 = cache.get(filePath, content);
87
106
  expect(result1).toBe(hash);
88
107
  expect(result2).toBe(hash);
89
108
  expect(result1).toBe(result2);
90
109
  });
91
110
  });
92
111
  describe("キャッシュキーの一意性", () => {
93
- it("ファイルパスとコンテンツ長の組み合わせでキャッシュキーが一意であること", () => {
112
+ it("ファイルパスとコンテンツの組み合わせでキャッシュキーが一意であること", () => {
94
113
  const cache = new HashCache();
95
- // 同じファイルパス、異なるコンテンツ長
96
- cache.set("file.md", 100, "hash_100");
97
- cache.set("file.md", 200, "hash_200");
98
- // 異なるファイルパス、同じコンテンツ長
99
- cache.set("file1.md", 100, "hash_file1");
100
- cache.set("file2.md", 100, "hash_file2");
101
- expect(cache.get("file.md", 100)).toBe("hash_100");
102
- expect(cache.get("file.md", 200)).toBe("hash_200");
103
- expect(cache.get("file1.md", 100)).toBe("hash_file1");
104
- expect(cache.get("file2.md", 100)).toBe("hash_file2");
114
+ // 同じファイルパス、異なるコンテンツ
115
+ cache.set("file.md", "content A", "hash_A");
116
+ cache.set("file.md", "content B", "hash_B");
117
+ // 異なるファイルパス、同じコンテンツ
118
+ cache.set("file1.md", "same content", "hash_file1");
119
+ cache.set("file2.md", "same content", "hash_file2");
120
+ expect(cache.get("file.md", "content A")).toBe("hash_A");
121
+ expect(cache.get("file.md", "content B")).toBe("hash_B");
122
+ expect(cache.get("file1.md", "same content")).toBe("hash_file1");
123
+ expect(cache.get("file2.md", "same content")).toBe("hash_file2");
105
124
  // すべて異なるキーとして扱われている
106
125
  expect(cache.size()).toBe(4);
107
126
  });
127
+ it("長いコンテンツでもシグネチャで正しく区別できること", () => {
128
+ const cache = new HashCache();
129
+ const filePath = "file.md";
130
+ // 中央部分だけ異なる長いコンテンツ
131
+ const base = "a".repeat(100);
132
+ const content1 = base + "X" + base;
133
+ const content2 = base + "Y" + base;
134
+ cache.set(filePath, content1, "hash1");
135
+ cache.set(filePath, content2, "hash2");
136
+ expect(cache.get(filePath, content1)).toBe("hash1");
137
+ expect(cache.get(filePath, content2)).toBe("hash2");
138
+ });
108
139
  });
109
140
  });
110
141
  //# sourceMappingURL=hash-cache.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hash-cache.test.js","sourceRoot":"","sources":["../../../src/lib/sync/hash-cache.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hash-cache.test.js","sourceRoot":"","sources":["../../../src/lib/sync/hash-cache.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/metadata-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,WAAW,EAEX,YAAY,EACZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAY;gBAEjB,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IAKtD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAiBnC;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY;IAWrC;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAe5D;;OAEG;IACG,cAAc,CACnB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC;IAgBxB;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM;IAsBrD;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAQ1B"}
1
+ {"version":3,"file":"metadata-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/metadata-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,WAAW,EAEX,YAAY,EACZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAY;gBAEjB,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IAKtD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAiBnC;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY;IAWrC;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAe5D;;OAEG;IACG,cAAc,CACnB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC;IAgBxB;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM;IAoBrD;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAQ1B"}
@@ -92,10 +92,9 @@ export class MetadataManager {
92
92
  * 同一ファイル内容の場合、2回目以降はキャッシュから取得
93
93
  */
94
94
  calculateHash(content, filePath = "") {
95
- const contentLength = content.length;
96
95
  // キャッシュヒット判定
97
- if (filePath && this.hashCache.has(filePath, contentLength)) {
98
- const cachedHash = this.hashCache.get(filePath, contentLength);
96
+ if (filePath && this.hashCache.has(filePath, content)) {
97
+ const cachedHash = this.hashCache.get(filePath, content);
99
98
  if (cachedHash) {
100
99
  return cachedHash;
101
100
  }
@@ -104,7 +103,7 @@ export class MetadataManager {
104
103
  const hash = createHash("sha256").update(content, "utf8").digest("hex");
105
104
  // キャッシュに保存
106
105
  if (filePath) {
107
- this.hashCache.set(filePath, contentLength, hash);
106
+ this.hashCache.set(filePath, content, hash);
108
107
  }
109
108
  return hash;
110
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-manager.js","sourceRoot":"","sources":["../../../src/lib/sync/metadata-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-manager.js","sourceRoot":"","sources":["../../../src/lib/sync/metadata-manager.ts"],"names":[],"mappings":"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"}
@@ -29,10 +29,9 @@ describe("パフォーマンステスト", () => {
29
29
  // 同じハッシュが返されること
30
30
  expect(hash1).toBe(hash2);
31
31
  // キャッシュが存在すること
32
- const contentLength = content.length;
33
32
  // privateメンバーのhashCacheに直接アクセス(テスト目的)
34
33
  // biome-ignore lint/complexity/useLiteralKeys: テストでprivateメンバーにアクセス
35
- expect(metadataManager["hashCache"].has(filePath, contentLength)).toBe(true);
34
+ expect(metadataManager["hashCache"].has(filePath, content)).toBe(true);
36
35
  });
37
36
  it("100ファイルのハッシュ計算がキャッシュにより高速化されること", async () => {
38
37
  const content = "a".repeat(1000); // 1KB のコンテンツ
@@ -44,14 +43,14 @@ describe("パフォーマンステスト", () => {
44
43
  // すべてのファイルがキャッシュされていること
45
44
  for (const file of files) {
46
45
  // biome-ignore lint/complexity/useLiteralKeys: テストでprivateメンバーにアクセス
47
- expect(metadataManager["hashCache"].has(file, content.length)).toBe(true);
46
+ expect(metadataManager["hashCache"].has(file, content)).toBe(true);
48
47
  }
49
48
  // キャッシュクリア
50
49
  metadataManager.clearHashCache();
51
50
  // キャッシュがクリアされたこと
52
51
  for (const file of files) {
53
52
  // biome-ignore lint/complexity/useLiteralKeys: テストでprivateメンバーにアクセス
54
- expect(metadataManager["hashCache"].has(file, content.length)).toBe(false);
53
+ expect(metadataManager["hashCache"].has(file, content)).toBe(false);
55
54
  }
56
55
  // 2回目:再度ハッシュ計算
57
56
  for (const file of files) {
@@ -60,7 +59,7 @@ describe("パフォーマンステスト", () => {
60
59
  // 再度キャッシュされていること
61
60
  for (const file of files) {
62
61
  // biome-ignore lint/complexity/useLiteralKeys: テストでprivateメンバーにアクセス
63
- expect(metadataManager["hashCache"].has(file, content.length)).toBe(true);
62
+ expect(metadataManager["hashCache"].has(file, content)).toBe(true);
64
63
  }
65
64
  });
66
65
  });
@@ -1 +1 @@
1
- {"version":3,"file":"performance.test.js","sourceRoot":"","sources":["../../../src/lib/sync/performance.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"performance.test.js","sourceRoot":"","sources":["../../../src/lib/sync/performance.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@einja/dev-cli",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "Einja CLI - .claude設定とテンプレート同期をnpxでインストール",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -18,6 +18,7 @@
18
18
  ".": "./dist/index.js"
19
19
  },
20
20
  "dependencies": {
21
+ "@modelcontextprotocol/sdk": "^1.0.0",
21
22
  "chalk": "^5.4.1",
22
23
  "commander": "^13.1.0",
23
24
  "fs-extra": "^11.3.0",
@@ -108,4 +108,3 @@ additionalAgents:
108
108
  additionalCommands:
109
109
  - frontend-implement
110
110
  - start-dev
111
- - task-vibe-kanban-loop
@@ -281,26 +281,94 @@ export const { handlers, signIn, signOut, auth } = NextAuth(authOptions);
281
281
 
282
282
  ### サブエージェント呼び出し時の必須指示
283
283
 
284
- 出力形式が定義されているサブエージェントを呼び出す際は、プロンプトの末尾に以下を追加:
284
+ 出力形式が定義されているサブエージェント(frontend-architect、design-engineer、frontend-coder)を呼び出す際は、**プロンプトの末尾に出力形式テンプレートを直接埋め込むこと**。
285
285
 
286
+ #### frontend-architect 呼び出し時
287
+
288
+ プロンプト末尾に以下を追加:
289
+
290
+ ```
291
+ ---
292
+ **【必須】以下の形式で報告してください。この形式以外は不可:**
293
+
294
+ ## 🏗️ アーキテクチャ設計完了
295
+
296
+ ### タスク: [機能名/画面名]
297
+
298
+ ### 設計結果: [✅ SUCCESS / ⚠️ PARTIAL / ❌ FAILURE]
299
+
300
+ ### 設計サマリー
301
+ - **コンポーネント数**: N個
302
+ - **カスタムHooks数**: M個
303
+ - **新規ディレクトリ**: K個
304
+
305
+ ### コンポーネント構造
306
+ [ディレクトリ構造図]
307
+
308
+ ### 状態管理戦略
309
+ | 状態種別 | 管理方法 | 対象データ |
310
+ |---------|---------|----------|
311
+
312
+ ### 技術選定
313
+ - **[決定1]**: [選定理由]
314
+
315
+ ### 次のステップ
316
+ [後続処理の説明]
317
+ ```
318
+
319
+ #### design-engineer 呼び出し時
320
+
321
+ プロンプト末尾に以下を追加:
322
+
323
+ ```
324
+ ---
325
+ **【必須】以下の形式で報告してください。この形式以外は不可:**
326
+
327
+ ## 🎨 デザインエンジニアリング完了
328
+
329
+ ### タスク: [タスク名/コンポーネント名]
330
+
331
+ ### 実装結果: [✅ SUCCESS / ⚠️ PARTIAL / ❌ FAILURE]
332
+
333
+ ### 抽出したデザイントークン
334
+ | カテゴリ | 項目数 | 主な値 |
335
+ |---------|-------|-------|
336
+
337
+ ### 生成/更新したファイル
338
+ - **新規作成**: N個
339
+ - **編集**: M個
340
+
341
+ ### 次のステップ
342
+ [後続処理の説明]
286
343
  ```
287
- **出力形式**: @.claude/skills/einja/output-format/SKILL.md に従って報告してください。
344
+
345
+ #### frontend-coder 呼び出し時
346
+
347
+ プロンプト末尾に以下を追加:
348
+
288
349
  ```
350
+ ---
351
+ **【必須】以下の形式で報告してください。この形式以外は不可:**
352
+
353
+ ## 💻 フロントエンド実装完了
354
+
355
+ ### タスク: [タスクID] - [タスク名]
356
+
357
+ ### 実装結果: [✅ SUCCESS / ⚠️ PARTIAL / ❌ FAILURE]
289
358
 
290
- #### 呼び出し例
359
+ ### 実装サマリー
360
+ - **新規作成**: N個のファイル
361
+ - **編集**: M個のファイル
291
362
 
292
- ```yaml
293
- Task:
294
- description: "アーキテクチャ設計"
295
- prompt: |
296
- 「ユーザー設定画面」のコンポーネント構造を設計してください。
363
+ ### 主要な実装内容
364
+ 1. [実装した主要機能]
297
365
 
298
- 要件:
299
- - プロフィール編集
300
- - 通知設定
366
+ ### ファイル一覧
367
+ | ファイル | 説明/変更内容 |
368
+ |---------|--------------|
301
369
 
302
- **出力形式**: エージェント定義の「✅ 最重要: 出力形式」に従って報告してください。
303
- subagent_type: frontend-architect
370
+ ### 次のステップ
371
+ [後続処理の説明]
304
372
  ```
305
373
 
306
374
  ## 追加指示
@@ -1,11 +0,0 @@
1
- export interface TaskLoopOptions {
2
- issue?: string;
3
- maxGroup?: string;
4
- branch?: string;
5
- }
6
- /**
7
- * task:loop コマンド
8
- * Claude Code を起動して /task-vibe-kanban-loop を実行
9
- */
10
- export declare function taskLoopCommand(issue: string | undefined, options: TaskLoopOptions): Promise<void>;
11
- //# sourceMappingURL=task-loop.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-loop.d.ts","sourceRoot":"","sources":["../../src/commands/task-loop.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AA0CD;;;GAGG;AACH,wBAAsB,eAAe,CACpC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAkDf"}
@@ -1,81 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import chalk from "chalk";
3
- import ora from "ora";
4
- /**
5
- * Claude Code がインストールされているか確認
6
- */
7
- async function checkClaudeInstalled() {
8
- return new Promise((resolve) => {
9
- const claude = spawn("claude", ["--version"], {
10
- stdio: "pipe",
11
- shell: true,
12
- });
13
- claude.on("error", () => resolve(false));
14
- claude.on("close", (code) => resolve(code === 0));
15
- });
16
- }
17
- /**
18
- * プロンプトを構築
19
- */
20
- function buildPrompt(options) {
21
- const parts = ["/task-vibe-kanban-loop"];
22
- if (options.issue) {
23
- // Issue番号を正規化(# がなければ追加)
24
- const issueNumber = options.issue.startsWith("#")
25
- ? options.issue
26
- : `#${options.issue}`;
27
- parts.push(`Issue ${issueNumber}で実行`);
28
- }
29
- if (options.maxGroup) {
30
- parts.push(`最大タスクグループ${options.maxGroup}まで`);
31
- }
32
- if (options.branch) {
33
- parts.push(`ベースブランチは${options.branch}`);
34
- }
35
- return parts.join(" ");
36
- }
37
- /**
38
- * task:loop コマンド
39
- * Claude Code を起動して /task-vibe-kanban-loop を実行
40
- */
41
- export async function taskLoopCommand(issue, options) {
42
- const spinner = ora();
43
- // Issue番号をoptionsにマージ
44
- const mergedOptions = Object.assign(Object.assign({}, options), { issue: issue || options.issue });
45
- // 1. Claude Code の存在確認
46
- spinner.start("Claude Code の確認中...");
47
- const claudeExists = await checkClaudeInstalled();
48
- if (!claudeExists) {
49
- spinner.fail("Claude Code がインストールされていません");
50
- console.log(chalk.yellow("\n以下の手順でインストールしてください:"));
51
- console.log(" npm install -g @anthropic-ai/claude-code");
52
- console.log(" claude /login");
53
- process.exit(1);
54
- }
55
- spinner.succeed("Claude Code 確認完了");
56
- // 2. Issue番号の確認
57
- if (!mergedOptions.issue) {
58
- spinner.fail("Issue番号が指定されていません");
59
- console.log(chalk.yellow("\n使用例:"));
60
- console.log(" pnpm task:loop 123");
61
- console.log(" pnpm task:loop 123 --max-group 1.3");
62
- process.exit(1);
63
- }
64
- // 3. プロンプト構築
65
- const prompt = buildPrompt(mergedOptions);
66
- console.log(chalk.gray(`\n実行: claude -p "${prompt}"\n`));
67
- // 4. Claude Code 起動
68
- const claude = spawn("claude", ["-p", prompt], {
69
- stdio: "inherit",
70
- cwd: process.cwd(),
71
- shell: true,
72
- });
73
- claude.on("error", (error) => {
74
- console.error(chalk.red(`\nエラー: ${error.message}`));
75
- process.exit(1);
76
- });
77
- claude.on("close", (code) => {
78
- process.exit(code || 0);
79
- });
80
- }
81
- //# sourceMappingURL=task-loop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-loop.js","sourceRoot":"","sources":["../../src/commands/task-loop.ts"],"names":[],"mappings":"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"}