@useconductor/conductor 1.0.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.
Files changed (504) hide show
  1. package/.claude-plugin/marketplace.json +33 -0
  2. package/.claude-plugin/plugin.json +23 -0
  3. package/.eslintrc.json +23 -0
  4. package/.gitattributes +6 -0
  5. package/.github/FUNDING.yml +15 -0
  6. package/.github/ISSUE_TEMPLATE/bug_report.yml +91 -0
  7. package/.github/ISSUE_TEMPLATE/config.yml +8 -0
  8. package/.github/ISSUE_TEMPLATE/feature_request.yml +63 -0
  9. package/.github/ISSUE_TEMPLATE/plugin_request.yml +71 -0
  10. package/.github/README.md +13 -0
  11. package/.github/workflows/README.md +22 -0
  12. package/.github/workflows/auto-release.yml +112 -0
  13. package/.github/workflows/ci.yml +49 -0
  14. package/.github/workflows/claude-code-review.yml +44 -0
  15. package/.github/workflows/claude.yml +36 -0
  16. package/.github/workflows/sync-install.yml +47 -0
  17. package/.mcp.json +9 -0
  18. package/.prettierrc.json +7 -0
  19. package/C.png +0 -0
  20. package/CHANGELOG.md +74 -0
  21. package/CLAUDE.md +118 -0
  22. package/CONTRIBUTING.md +231 -0
  23. package/LICENSE +201 -0
  24. package/README.md +179 -0
  25. package/SECURITY.md +47 -0
  26. package/commands/conductor-setup.md +11 -0
  27. package/commands/conductor-status.md +7 -0
  28. package/dist/ai/base.d.ts +44 -0
  29. package/dist/ai/base.d.ts.map +1 -0
  30. package/dist/ai/base.js +47 -0
  31. package/dist/ai/base.js.map +1 -0
  32. package/dist/ai/claude.d.ts +11 -0
  33. package/dist/ai/claude.d.ts.map +1 -0
  34. package/dist/ai/claude.js +149 -0
  35. package/dist/ai/claude.js.map +1 -0
  36. package/dist/ai/gemini.d.ts +15 -0
  37. package/dist/ai/gemini.d.ts.map +1 -0
  38. package/dist/ai/gemini.js +156 -0
  39. package/dist/ai/gemini.js.map +1 -0
  40. package/dist/ai/maestro.d.ts +22 -0
  41. package/dist/ai/maestro.d.ts.map +1 -0
  42. package/dist/ai/maestro.js +142 -0
  43. package/dist/ai/maestro.js.map +1 -0
  44. package/dist/ai/manager.d.ts +47 -0
  45. package/dist/ai/manager.d.ts.map +1 -0
  46. package/dist/ai/manager.js +450 -0
  47. package/dist/ai/manager.js.map +1 -0
  48. package/dist/ai/ollama.d.ts +16 -0
  49. package/dist/ai/ollama.d.ts.map +1 -0
  50. package/dist/ai/ollama.js +151 -0
  51. package/dist/ai/ollama.js.map +1 -0
  52. package/dist/ai/openai.d.ts +11 -0
  53. package/dist/ai/openai.d.ts.map +1 -0
  54. package/dist/ai/openai.js +132 -0
  55. package/dist/ai/openai.js.map +1 -0
  56. package/dist/ai/openrouter.d.ts +11 -0
  57. package/dist/ai/openrouter.d.ts.map +1 -0
  58. package/dist/ai/openrouter.js +139 -0
  59. package/dist/ai/openrouter.js.map +1 -0
  60. package/dist/bot/slack.d.ts +17 -0
  61. package/dist/bot/slack.d.ts.map +1 -0
  62. package/dist/bot/slack.js +144 -0
  63. package/dist/bot/slack.js.map +1 -0
  64. package/dist/bot/telegram.d.ts +19 -0
  65. package/dist/bot/telegram.d.ts.map +1 -0
  66. package/dist/bot/telegram.js +157 -0
  67. package/dist/bot/telegram.js.map +1 -0
  68. package/dist/cli/commands/ai.d.ts +4 -0
  69. package/dist/cli/commands/ai.d.ts.map +1 -0
  70. package/dist/cli/commands/ai.js +161 -0
  71. package/dist/cli/commands/ai.js.map +1 -0
  72. package/dist/cli/commands/doctor.d.ts +18 -0
  73. package/dist/cli/commands/doctor.d.ts.map +1 -0
  74. package/dist/cli/commands/doctor.js +213 -0
  75. package/dist/cli/commands/doctor.js.map +1 -0
  76. package/dist/cli/commands/init.d.ts +15 -0
  77. package/dist/cli/commands/init.d.ts.map +1 -0
  78. package/dist/cli/commands/init.js +281 -0
  79. package/dist/cli/commands/init.js.map +1 -0
  80. package/dist/cli/commands/install.d.ts +16 -0
  81. package/dist/cli/commands/install.d.ts.map +1 -0
  82. package/dist/cli/commands/install.js +750 -0
  83. package/dist/cli/commands/install.js.map +1 -0
  84. package/dist/cli/commands/lifecycle.d.ts +4 -0
  85. package/dist/cli/commands/lifecycle.d.ts.map +1 -0
  86. package/dist/cli/commands/lifecycle.js +84 -0
  87. package/dist/cli/commands/lifecycle.js.map +1 -0
  88. package/dist/cli/commands/marketplace.d.ts +13 -0
  89. package/dist/cli/commands/marketplace.d.ts.map +1 -0
  90. package/dist/cli/commands/marketplace.js +197 -0
  91. package/dist/cli/commands/marketplace.js.map +1 -0
  92. package/dist/cli/commands/mcp.d.ts +6 -0
  93. package/dist/cli/commands/mcp.d.ts.map +1 -0
  94. package/dist/cli/commands/mcp.js +83 -0
  95. package/dist/cli/commands/mcp.js.map +1 -0
  96. package/dist/cli/commands/onboard.d.ts +10 -0
  97. package/dist/cli/commands/onboard.d.ts.map +1 -0
  98. package/dist/cli/commands/onboard.js +207 -0
  99. package/dist/cli/commands/onboard.js.map +1 -0
  100. package/dist/cli/commands/plugin-create.d.ts +13 -0
  101. package/dist/cli/commands/plugin-create.d.ts.map +1 -0
  102. package/dist/cli/commands/plugin-create.js +122 -0
  103. package/dist/cli/commands/plugin-create.js.map +1 -0
  104. package/dist/cli/commands/plugins.d.ts +5 -0
  105. package/dist/cli/commands/plugins.d.ts.map +1 -0
  106. package/dist/cli/commands/plugins.js +30 -0
  107. package/dist/cli/commands/plugins.js.map +1 -0
  108. package/dist/cli/commands/release.d.ts +13 -0
  109. package/dist/cli/commands/release.d.ts.map +1 -0
  110. package/dist/cli/commands/release.js +243 -0
  111. package/dist/cli/commands/release.js.map +1 -0
  112. package/dist/cli/commands/telegram.d.ts +3 -0
  113. package/dist/cli/commands/telegram.d.ts.map +1 -0
  114. package/dist/cli/commands/telegram.js +20 -0
  115. package/dist/cli/commands/telegram.js.map +1 -0
  116. package/dist/cli/index.d.ts +3 -0
  117. package/dist/cli/index.d.ts.map +1 -0
  118. package/dist/cli/index.js +402 -0
  119. package/dist/cli/index.js.map +1 -0
  120. package/dist/config/oauth.d.ts +8 -0
  121. package/dist/config/oauth.d.ts.map +1 -0
  122. package/dist/config/oauth.js +13 -0
  123. package/dist/config/oauth.js.map +1 -0
  124. package/dist/core/audit.d.ts +91 -0
  125. package/dist/core/audit.d.ts.map +1 -0
  126. package/dist/core/audit.js +233 -0
  127. package/dist/core/audit.js.map +1 -0
  128. package/dist/core/circuit-breaker.d.ts +56 -0
  129. package/dist/core/circuit-breaker.d.ts.map +1 -0
  130. package/dist/core/circuit-breaker.js +107 -0
  131. package/dist/core/circuit-breaker.js.map +1 -0
  132. package/dist/core/conductor.d.ts +44 -0
  133. package/dist/core/conductor.d.ts.map +1 -0
  134. package/dist/core/conductor.js +200 -0
  135. package/dist/core/conductor.js.map +1 -0
  136. package/dist/core/config.d.ts +66 -0
  137. package/dist/core/config.d.ts.map +1 -0
  138. package/dist/core/config.js +86 -0
  139. package/dist/core/config.js.map +1 -0
  140. package/dist/core/database.d.ts +59 -0
  141. package/dist/core/database.d.ts.map +1 -0
  142. package/dist/core/database.js +342 -0
  143. package/dist/core/database.js.map +1 -0
  144. package/dist/core/errors.d.ts +231 -0
  145. package/dist/core/errors.d.ts.map +1 -0
  146. package/dist/core/errors.js +254 -0
  147. package/dist/core/errors.js.map +1 -0
  148. package/dist/core/health.d.ts +72 -0
  149. package/dist/core/health.d.ts.map +1 -0
  150. package/dist/core/health.js +116 -0
  151. package/dist/core/health.js.map +1 -0
  152. package/dist/core/interfaces.d.ts +62 -0
  153. package/dist/core/interfaces.d.ts.map +1 -0
  154. package/dist/core/interfaces.js +8 -0
  155. package/dist/core/interfaces.js.map +1 -0
  156. package/dist/core/logger.d.ts +15 -0
  157. package/dist/core/logger.d.ts.map +1 -0
  158. package/dist/core/logger.js +30 -0
  159. package/dist/core/logger.js.map +1 -0
  160. package/dist/core/rbac.d.ts +132 -0
  161. package/dist/core/rbac.d.ts.map +1 -0
  162. package/dist/core/rbac.js +230 -0
  163. package/dist/core/rbac.js.map +1 -0
  164. package/dist/core/retry.d.ts +22 -0
  165. package/dist/core/retry.d.ts.map +1 -0
  166. package/dist/core/retry.js +41 -0
  167. package/dist/core/retry.js.map +1 -0
  168. package/dist/core/webhooks.d.ts +92 -0
  169. package/dist/core/webhooks.d.ts.map +1 -0
  170. package/dist/core/webhooks.js +176 -0
  171. package/dist/core/webhooks.js.map +1 -0
  172. package/dist/core/zero-config.d.ts +22 -0
  173. package/dist/core/zero-config.d.ts.map +1 -0
  174. package/dist/core/zero-config.js +59 -0
  175. package/dist/core/zero-config.js.map +1 -0
  176. package/dist/dashboard/cli.d.ts +6 -0
  177. package/dist/dashboard/cli.d.ts.map +1 -0
  178. package/dist/dashboard/cli.js +42 -0
  179. package/dist/dashboard/cli.js.map +1 -0
  180. package/dist/dashboard/index.html +3426 -0
  181. package/dist/dashboard/server.d.ts +7 -0
  182. package/dist/dashboard/server.d.ts.map +1 -0
  183. package/dist/dashboard/server.js +1427 -0
  184. package/dist/dashboard/server.js.map +1 -0
  185. package/dist/mcp/server.d.ts +27 -0
  186. package/dist/mcp/server.d.ts.map +1 -0
  187. package/dist/mcp/server.js +380 -0
  188. package/dist/mcp/server.js.map +1 -0
  189. package/dist/mcp/tools/misc.d.ts +15 -0
  190. package/dist/mcp/tools/misc.d.ts.map +1 -0
  191. package/dist/mcp/tools/misc.js +49 -0
  192. package/dist/mcp/tools/misc.js.map +1 -0
  193. package/dist/plugins/builtin/calculator.d.ts +11 -0
  194. package/dist/plugins/builtin/calculator.d.ts.map +1 -0
  195. package/dist/plugins/builtin/calculator.js +166 -0
  196. package/dist/plugins/builtin/calculator.js.map +1 -0
  197. package/dist/plugins/builtin/colors.d.ts +15 -0
  198. package/dist/plugins/builtin/colors.d.ts.map +1 -0
  199. package/dist/plugins/builtin/colors.js +193 -0
  200. package/dist/plugins/builtin/colors.js.map +1 -0
  201. package/dist/plugins/builtin/cron.d.ts +40 -0
  202. package/dist/plugins/builtin/cron.d.ts.map +1 -0
  203. package/dist/plugins/builtin/cron.js +578 -0
  204. package/dist/plugins/builtin/cron.js.map +1 -0
  205. package/dist/plugins/builtin/crypto.d.ts +11 -0
  206. package/dist/plugins/builtin/crypto.d.ts.map +1 -0
  207. package/dist/plugins/builtin/crypto.js +83 -0
  208. package/dist/plugins/builtin/crypto.js.map +1 -0
  209. package/dist/plugins/builtin/database.d.ts +29 -0
  210. package/dist/plugins/builtin/database.d.ts.map +1 -0
  211. package/dist/plugins/builtin/database.js +230 -0
  212. package/dist/plugins/builtin/database.js.map +1 -0
  213. package/dist/plugins/builtin/docker.d.ts +12 -0
  214. package/dist/plugins/builtin/docker.d.ts.map +1 -0
  215. package/dist/plugins/builtin/docker.js +436 -0
  216. package/dist/plugins/builtin/docker.js.map +1 -0
  217. package/dist/plugins/builtin/fun.d.ts +11 -0
  218. package/dist/plugins/builtin/fun.d.ts.map +1 -0
  219. package/dist/plugins/builtin/fun.js +114 -0
  220. package/dist/plugins/builtin/fun.js.map +1 -0
  221. package/dist/plugins/builtin/gcal.d.ts +38 -0
  222. package/dist/plugins/builtin/gcal.d.ts.map +1 -0
  223. package/dist/plugins/builtin/gcal.js +280 -0
  224. package/dist/plugins/builtin/gcal.js.map +1 -0
  225. package/dist/plugins/builtin/gdrive.d.ts +26 -0
  226. package/dist/plugins/builtin/gdrive.d.ts.map +1 -0
  227. package/dist/plugins/builtin/gdrive.js +295 -0
  228. package/dist/plugins/builtin/gdrive.js.map +1 -0
  229. package/dist/plugins/builtin/github-actions.d.ts +38 -0
  230. package/dist/plugins/builtin/github-actions.d.ts.map +1 -0
  231. package/dist/plugins/builtin/github-actions.js +629 -0
  232. package/dist/plugins/builtin/github-actions.js.map +1 -0
  233. package/dist/plugins/builtin/github.d.ts +26 -0
  234. package/dist/plugins/builtin/github.d.ts.map +1 -0
  235. package/dist/plugins/builtin/github.js +800 -0
  236. package/dist/plugins/builtin/github.js.map +1 -0
  237. package/dist/plugins/builtin/gmail.d.ts +50 -0
  238. package/dist/plugins/builtin/gmail.d.ts.map +1 -0
  239. package/dist/plugins/builtin/gmail.js +445 -0
  240. package/dist/plugins/builtin/gmail.js.map +1 -0
  241. package/dist/plugins/builtin/hash.d.ts +11 -0
  242. package/dist/plugins/builtin/hash.d.ts.map +1 -0
  243. package/dist/plugins/builtin/hash.js +95 -0
  244. package/dist/plugins/builtin/hash.js.map +1 -0
  245. package/dist/plugins/builtin/homekit.d.ts +53 -0
  246. package/dist/plugins/builtin/homekit.d.ts.map +1 -0
  247. package/dist/plugins/builtin/homekit.js +341 -0
  248. package/dist/plugins/builtin/homekit.js.map +1 -0
  249. package/dist/plugins/builtin/index.d.ts +4 -0
  250. package/dist/plugins/builtin/index.d.ts.map +1 -0
  251. package/dist/plugins/builtin/index.js +96 -0
  252. package/dist/plugins/builtin/index.js.map +1 -0
  253. package/dist/plugins/builtin/jira.d.ts +50 -0
  254. package/dist/plugins/builtin/jira.d.ts.map +1 -0
  255. package/dist/plugins/builtin/jira.js +353 -0
  256. package/dist/plugins/builtin/jira.js.map +1 -0
  257. package/dist/plugins/builtin/linear.d.ts +35 -0
  258. package/dist/plugins/builtin/linear.d.ts.map +1 -0
  259. package/dist/plugins/builtin/linear.js +397 -0
  260. package/dist/plugins/builtin/linear.js.map +1 -0
  261. package/dist/plugins/builtin/lumen.d.ts +21 -0
  262. package/dist/plugins/builtin/lumen.d.ts.map +1 -0
  263. package/dist/plugins/builtin/lumen.js +404 -0
  264. package/dist/plugins/builtin/lumen.js.map +1 -0
  265. package/dist/plugins/builtin/memory.d.ts +22 -0
  266. package/dist/plugins/builtin/memory.d.ts.map +1 -0
  267. package/dist/plugins/builtin/memory.js +184 -0
  268. package/dist/plugins/builtin/memory.js.map +1 -0
  269. package/dist/plugins/builtin/n8n.d.ts +60 -0
  270. package/dist/plugins/builtin/n8n.d.ts.map +1 -0
  271. package/dist/plugins/builtin/n8n.js +519 -0
  272. package/dist/plugins/builtin/n8n.js.map +1 -0
  273. package/dist/plugins/builtin/network.d.ts +11 -0
  274. package/dist/plugins/builtin/network.d.ts.map +1 -0
  275. package/dist/plugins/builtin/network.js +88 -0
  276. package/dist/plugins/builtin/network.js.map +1 -0
  277. package/dist/plugins/builtin/notes.d.ts +47 -0
  278. package/dist/plugins/builtin/notes.d.ts.map +1 -0
  279. package/dist/plugins/builtin/notes.js +641 -0
  280. package/dist/plugins/builtin/notes.js.map +1 -0
  281. package/dist/plugins/builtin/notion.d.ts +47 -0
  282. package/dist/plugins/builtin/notion.d.ts.map +1 -0
  283. package/dist/plugins/builtin/notion.js +317 -0
  284. package/dist/plugins/builtin/notion.js.map +1 -0
  285. package/dist/plugins/builtin/shell.d.ts +12 -0
  286. package/dist/plugins/builtin/shell.d.ts.map +1 -0
  287. package/dist/plugins/builtin/shell.js +310 -0
  288. package/dist/plugins/builtin/shell.js.map +1 -0
  289. package/dist/plugins/builtin/slack.d.ts +31 -0
  290. package/dist/plugins/builtin/slack.d.ts.map +1 -0
  291. package/dist/plugins/builtin/slack.js +295 -0
  292. package/dist/plugins/builtin/slack.js.map +1 -0
  293. package/dist/plugins/builtin/spotify.d.ts +55 -0
  294. package/dist/plugins/builtin/spotify.d.ts.map +1 -0
  295. package/dist/plugins/builtin/spotify.js +623 -0
  296. package/dist/plugins/builtin/spotify.js.map +1 -0
  297. package/dist/plugins/builtin/stripe.d.ts +35 -0
  298. package/dist/plugins/builtin/stripe.d.ts.map +1 -0
  299. package/dist/plugins/builtin/stripe.js +376 -0
  300. package/dist/plugins/builtin/stripe.js.map +1 -0
  301. package/dist/plugins/builtin/system.d.ts +11 -0
  302. package/dist/plugins/builtin/system.d.ts.map +1 -0
  303. package/dist/plugins/builtin/system.js +91 -0
  304. package/dist/plugins/builtin/system.js.map +1 -0
  305. package/dist/plugins/builtin/text-tools.d.ts +11 -0
  306. package/dist/plugins/builtin/text-tools.d.ts.map +1 -0
  307. package/dist/plugins/builtin/text-tools.js +146 -0
  308. package/dist/plugins/builtin/text-tools.js.map +1 -0
  309. package/dist/plugins/builtin/timezone.d.ts +13 -0
  310. package/dist/plugins/builtin/timezone.d.ts.map +1 -0
  311. package/dist/plugins/builtin/timezone.js +164 -0
  312. package/dist/plugins/builtin/timezone.js.map +1 -0
  313. package/dist/plugins/builtin/todoist.d.ts +49 -0
  314. package/dist/plugins/builtin/todoist.d.ts.map +1 -0
  315. package/dist/plugins/builtin/todoist.js +540 -0
  316. package/dist/plugins/builtin/todoist.js.map +1 -0
  317. package/dist/plugins/builtin/translate.d.ts +11 -0
  318. package/dist/plugins/builtin/translate.d.ts.map +1 -0
  319. package/dist/plugins/builtin/translate.js +42 -0
  320. package/dist/plugins/builtin/translate.js.map +1 -0
  321. package/dist/plugins/builtin/url-tools.d.ts +11 -0
  322. package/dist/plugins/builtin/url-tools.d.ts.map +1 -0
  323. package/dist/plugins/builtin/url-tools.js +70 -0
  324. package/dist/plugins/builtin/url-tools.js.map +1 -0
  325. package/dist/plugins/builtin/vercel.d.ts +55 -0
  326. package/dist/plugins/builtin/vercel.d.ts.map +1 -0
  327. package/dist/plugins/builtin/vercel.js +514 -0
  328. package/dist/plugins/builtin/vercel.js.map +1 -0
  329. package/dist/plugins/builtin/weather.d.ts +13 -0
  330. package/dist/plugins/builtin/weather.d.ts.map +1 -0
  331. package/dist/plugins/builtin/weather.js +103 -0
  332. package/dist/plugins/builtin/weather.js.map +1 -0
  333. package/dist/plugins/builtin/x.d.ts +54 -0
  334. package/dist/plugins/builtin/x.d.ts.map +1 -0
  335. package/dist/plugins/builtin/x.js +402 -0
  336. package/dist/plugins/builtin/x.js.map +1 -0
  337. package/dist/plugins/manager.d.ts +77 -0
  338. package/dist/plugins/manager.d.ts.map +1 -0
  339. package/dist/plugins/manager.js +141 -0
  340. package/dist/plugins/manager.js.map +1 -0
  341. package/dist/plugins/validation.d.ts +18 -0
  342. package/dist/plugins/validation.d.ts.map +1 -0
  343. package/dist/plugins/validation.js +81 -0
  344. package/dist/plugins/validation.js.map +1 -0
  345. package/dist/security/auth.d.ts +23 -0
  346. package/dist/security/auth.d.ts.map +1 -0
  347. package/dist/security/auth.js +56 -0
  348. package/dist/security/auth.js.map +1 -0
  349. package/dist/security/keychain.d.ts +60 -0
  350. package/dist/security/keychain.d.ts.map +1 -0
  351. package/dist/security/keychain.js +213 -0
  352. package/dist/security/keychain.js.map +1 -0
  353. package/dist/utils/google-auth.d.ts +21 -0
  354. package/dist/utils/google-auth.d.ts.map +1 -0
  355. package/dist/utils/google-auth.js +135 -0
  356. package/dist/utils/google-auth.js.map +1 -0
  357. package/dist/utils/retry.d.ts +5 -0
  358. package/dist/utils/retry.d.ts.map +1 -0
  359. package/dist/utils/retry.js +34 -0
  360. package/dist/utils/retry.js.map +1 -0
  361. package/docs/README.md +13 -0
  362. package/docs/api.md +210 -0
  363. package/docs/getting-started.md +100 -0
  364. package/docs/plugins.md +306 -0
  365. package/docs-site/.vitepress/config.ts +59 -0
  366. package/docs-site/README.md +12 -0
  367. package/docs-site/index.md +30 -0
  368. package/eslint.config.js +29 -0
  369. package/install.ps1 +334 -0
  370. package/install.sh +1119 -0
  371. package/local-install.sh +304 -0
  372. package/package.json +90 -0
  373. package/packages/README.md +11 -0
  374. package/packages/plugin-sdk/README.md +12 -0
  375. package/packages/plugin-sdk/package.json +22 -0
  376. package/packages/plugin-sdk/src/README.md +11 -0
  377. package/packages/plugin-sdk/src/index.ts +191 -0
  378. package/sdks/README.md +26 -0
  379. package/sdks/csharp/ConductorClient.cs +65 -0
  380. package/sdks/csharp/README.md +11 -0
  381. package/sdks/go/README.md +11 -0
  382. package/sdks/go/conductor.go +257 -0
  383. package/sdks/java/ConductorClient.java +27 -0
  384. package/sdks/java/README.md +11 -0
  385. package/sdks/php/README.md +11 -0
  386. package/sdks/php/src/Client.php +72 -0
  387. package/sdks/python/README.md +12 -0
  388. package/sdks/python/conductor/__init__.py +227 -0
  389. package/sdks/python/pyproject.toml +30 -0
  390. package/sdks/ruby/README.md +11 -0
  391. package/sdks/ruby/lib/conductor.rb +46 -0
  392. package/sdks/rust/Cargo.toml +14 -0
  393. package/sdks/rust/README.md +11 -0
  394. package/sdks/swift/README.md +11 -0
  395. package/sdks/swift/Sources/Conductor/ConductorClient.swift +65 -0
  396. package/skills/conductor-mcp/SKILL.md +38 -0
  397. package/src/README.md +20 -0
  398. package/src/ai/README.md +18 -0
  399. package/src/ai/base.ts +93 -0
  400. package/src/ai/claude.ts +162 -0
  401. package/src/ai/gemini.ts +188 -0
  402. package/src/ai/maestro.ts +168 -0
  403. package/src/ai/manager.ts +537 -0
  404. package/src/ai/ollama.ts +186 -0
  405. package/src/ai/openai.ts +147 -0
  406. package/src/ai/openrouter.ts +152 -0
  407. package/src/bot/README.md +12 -0
  408. package/src/bot/slack.ts +164 -0
  409. package/src/bot/telegram.ts +185 -0
  410. package/src/cli/README.md +24 -0
  411. package/src/cli/commands/README.md +20 -0
  412. package/src/cli/commands/ai.ts +170 -0
  413. package/src/cli/commands/doctor.ts +221 -0
  414. package/src/cli/commands/init.ts +348 -0
  415. package/src/cli/commands/install.ts +792 -0
  416. package/src/cli/commands/lifecycle.ts +95 -0
  417. package/src/cli/commands/marketplace.ts +253 -0
  418. package/src/cli/commands/mcp.ts +92 -0
  419. package/src/cli/commands/onboard.ts +248 -0
  420. package/src/cli/commands/plugin-create.ts +130 -0
  421. package/src/cli/commands/plugins.ts +36 -0
  422. package/src/cli/commands/release.ts +251 -0
  423. package/src/cli/commands/telegram.ts +25 -0
  424. package/src/cli/index.ts +450 -0
  425. package/src/config/README.md +11 -0
  426. package/src/config/oauth.ts +26 -0
  427. package/src/core/README.md +22 -0
  428. package/src/core/audit.ts +291 -0
  429. package/src/core/circuit-breaker.ts +129 -0
  430. package/src/core/conductor.ts +240 -0
  431. package/src/core/config.ts +149 -0
  432. package/src/core/database.ts +411 -0
  433. package/src/core/errors.ts +275 -0
  434. package/src/core/health.ts +159 -0
  435. package/src/core/interfaces.ts +75 -0
  436. package/src/core/logger.ts +33 -0
  437. package/src/core/rbac.ts +321 -0
  438. package/src/core/retry.ts +61 -0
  439. package/src/core/webhooks.ts +234 -0
  440. package/src/core/zero-config.ts +72 -0
  441. package/src/dashboard/README.md +15 -0
  442. package/src/dashboard/cli.ts +48 -0
  443. package/src/dashboard/index.html +3426 -0
  444. package/src/dashboard/server.ts +1544 -0
  445. package/src/mcp/README.md +20 -0
  446. package/src/mcp/server.ts +475 -0
  447. package/src/mcp/tools/README.md +11 -0
  448. package/src/mcp/tools/misc.ts +61 -0
  449. package/src/plugins/README.md +28 -0
  450. package/src/plugins/builtin/README.md +23 -0
  451. package/src/plugins/builtin/calculator.ts +178 -0
  452. package/src/plugins/builtin/colors.ts +201 -0
  453. package/src/plugins/builtin/cron.ts +649 -0
  454. package/src/plugins/builtin/crypto.ts +85 -0
  455. package/src/plugins/builtin/database.ts +235 -0
  456. package/src/plugins/builtin/docker.ts +426 -0
  457. package/src/plugins/builtin/fun.ts +118 -0
  458. package/src/plugins/builtin/gcal.ts +305 -0
  459. package/src/plugins/builtin/gdrive.ts +326 -0
  460. package/src/plugins/builtin/github-actions.ts +666 -0
  461. package/src/plugins/builtin/github.ts +912 -0
  462. package/src/plugins/builtin/gmail.ts +492 -0
  463. package/src/plugins/builtin/hash.ts +98 -0
  464. package/src/plugins/builtin/homekit.ts +389 -0
  465. package/src/plugins/builtin/index.ts +116 -0
  466. package/src/plugins/builtin/jira.ts +380 -0
  467. package/src/plugins/builtin/linear.ts +448 -0
  468. package/src/plugins/builtin/lumen.ts +497 -0
  469. package/src/plugins/builtin/memory.ts +200 -0
  470. package/src/plugins/builtin/n8n.ts +565 -0
  471. package/src/plugins/builtin/network.ts +92 -0
  472. package/src/plugins/builtin/notes.ts +689 -0
  473. package/src/plugins/builtin/notion.ts +348 -0
  474. package/src/plugins/builtin/shell.ts +334 -0
  475. package/src/plugins/builtin/slack.ts +327 -0
  476. package/src/plugins/builtin/spotify.ts +665 -0
  477. package/src/plugins/builtin/stripe.ts +388 -0
  478. package/src/plugins/builtin/system.ts +93 -0
  479. package/src/plugins/builtin/text-tools.ts +150 -0
  480. package/src/plugins/builtin/timezone.ts +173 -0
  481. package/src/plugins/builtin/todoist.ts +625 -0
  482. package/src/plugins/builtin/translate.ts +47 -0
  483. package/src/plugins/builtin/url-tools.ts +73 -0
  484. package/src/plugins/builtin/vercel.ts +546 -0
  485. package/src/plugins/builtin/weather.ts +112 -0
  486. package/src/plugins/builtin/x.ts +440 -0
  487. package/src/plugins/manager.ts +213 -0
  488. package/src/plugins/validation.ts +94 -0
  489. package/src/security/README.md +12 -0
  490. package/src/security/auth.ts +72 -0
  491. package/src/security/keychain.ts +226 -0
  492. package/src/utils/README.md +12 -0
  493. package/src/utils/google-auth.ts +159 -0
  494. package/src/utils/retry.ts +41 -0
  495. package/test-all.mjs +1256 -0
  496. package/test.mjs +633 -0
  497. package/tests/README.md +19 -0
  498. package/tests/calculator.test.ts +54 -0
  499. package/tests/docker.test.ts +42 -0
  500. package/tests/load.test.ts +129 -0
  501. package/tests/mcp.test.ts +14 -0
  502. package/tests/shell.test.ts +42 -0
  503. package/tsconfig.json +21 -0
  504. package/vitest.config.ts +14 -0
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "conductor",
3
+ "owner": {
4
+ "name": "Alexander Wondwossen",
5
+ "email": "alex@thealxlabs.ca",
6
+ "url": "https://thealxlabs.ca"
7
+ },
8
+ "metadata": {
9
+ "description": "Conductor — Universal AI integration hub for Claude Code. Connect to GitHub, Google, Slack, Notion, Spotify, Vercel, HomeKit, and 25+ services.",
10
+ "version": "0.1.0"
11
+ },
12
+ "plugins": [
13
+ {
14
+ "name": "conductor",
15
+ "source": ".",
16
+ "version": "0.1.0",
17
+ "description": "Universal AI integration hub — connect Claude Code to 25+ services including GitHub, Gmail, Google Calendar, Drive, Slack, Notion, Spotify, Vercel, HomeKit, weather, system info, and more.",
18
+ "author": {
19
+ "name": "Alexander Wondwossen",
20
+ "url": "https://thealxlabs.ca"
21
+ },
22
+ "homepage": "https://github.com/thealxlabs/conductor",
23
+ "repository": "https://github.com/thealxlabs/conductor",
24
+ "license": "Apache-2.0",
25
+ "category": "integrations",
26
+ "keywords": [
27
+ "mcp", "github", "google", "gmail", "calendar", "drive",
28
+ "slack", "notion", "spotify", "vercel", "homekit",
29
+ "automation", "integration", "ai-hub", "weather", "n8n"
30
+ ]
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "conductor",
3
+ "version": "0.1.0",
4
+ "description": "Universal AI integration hub — connect Claude Code to GitHub, Google, Slack, Notion, Spotify, Vercel, HomeKit, and 25+ more services.",
5
+ "author": {
6
+ "name": "Alexander Wondwossen",
7
+ "email": "alex@thealxlabs.ca",
8
+ "url": "https://thealxlabs.ca"
9
+ },
10
+ "repository": "https://github.com/thealxlabs/conductor",
11
+ "homepage": "https://github.com/thealxlabs/conductor",
12
+ "license": "Apache-2.0",
13
+ "keywords": [
14
+ "integration", "mcp", "github", "google", "slack",
15
+ "notion", "spotify", "vercel", "homekit", "automation", "ai-hub"
16
+ ],
17
+ "category": "integrations",
18
+ "components": {
19
+ "skills": ["skills/"],
20
+ "commands": ["commands/"],
21
+ "mcpServers": ".mcp.json"
22
+ }
23
+ }
package/.eslintrc.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "root": true,
3
+ "parser": "@typescript-eslint/parser",
4
+ "parserOptions": {
5
+ "ecmaVersion": 2022,
6
+ "sourceType": "module",
7
+ "project": "./tsconfig.json"
8
+ },
9
+ "plugins": ["@typescript-eslint"],
10
+ "extends": [
11
+ "eslint:recommended",
12
+ "plugin:@typescript-eslint/recommended",
13
+ "prettier"
14
+ ],
15
+ "rules": {
16
+ "@typescript-eslint/no-explicit-any": "error",
17
+ "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
18
+ "@typescript-eslint/consistent-type-imports": "error",
19
+ "no-console": "off",
20
+ "prefer-const": "error"
21
+ },
22
+ "ignorePatterns": ["dist/", "node_modules/", "*.js", "*.mjs"]
23
+ }
package/.gitattributes ADDED
@@ -0,0 +1,6 @@
1
+ * text=auto
2
+ *.sh text eol=lf
3
+ *.ts text eol=lf
4
+ *.js text eol=lf
5
+ *.json text eol=lf
6
+ *.ps1 text eol=crlf
@@ -0,0 +1,15 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: thealxlabs
4
+ patreon: # Replace with a single Patreon username
5
+ open_collective: # Replace with a single Open Collective username
6
+ ko_fi: thealxlabs
7
+ tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: # Replace with a single Liberapay username
10
+ issuehunt: # Replace with a single IssueHunt username
11
+ lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12
+ polar: # Replace with a single Polar username
13
+ buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
14
+ thanks_dev: # Replace with a single thanks.dev username
15
+ custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
@@ -0,0 +1,91 @@
1
+ name: Bug Report
2
+ description: Something isn't working right
3
+ labels: ["bug", "needs triage"]
4
+ assignees: ["thealxlabs"]
5
+
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: |
10
+ Thanks for reporting a bug. Fill out as much as you can — it helps a lot.
11
+
12
+ - type: dropdown
13
+ id: area
14
+ attributes:
15
+ label: Where is the bug?
16
+ options:
17
+ - Plugin (specify below)
18
+ - Installer (install.sh)
19
+ - CLI (conductor command)
20
+ - Telegram bot
21
+ - MCP server
22
+ - AI provider
23
+ - Authentication / OAuth
24
+ - Other
25
+ validations:
26
+ required: true
27
+
28
+ - type: input
29
+ id: plugin
30
+ attributes:
31
+ label: Plugin name
32
+ description: If the bug is in a plugin, which one?
33
+ placeholder: e.g. spotify, gmail, github_actions
34
+
35
+ - type: textarea
36
+ id: description
37
+ attributes:
38
+ label: What happened?
39
+ description: Clear description of the bug.
40
+ placeholder: When I run X, Y happens instead of Z.
41
+ validations:
42
+ required: true
43
+
44
+ - type: textarea
45
+ id: repro
46
+ attributes:
47
+ label: Steps to reproduce
48
+ placeholder: |
49
+ 1. Run `conductor ...`
50
+ 2. See error
51
+ validations:
52
+ required: true
53
+
54
+ - type: textarea
55
+ id: expected
56
+ attributes:
57
+ label: What did you expect?
58
+ validations:
59
+ required: true
60
+
61
+ - type: textarea
62
+ id: logs
63
+ attributes:
64
+ label: Error output / logs
65
+ description: Paste any relevant terminal output here.
66
+ render: shell
67
+
68
+ - type: dropdown
69
+ id: os
70
+ attributes:
71
+ label: OS
72
+ options:
73
+ - macOS
74
+ - Linux
75
+ - Windows
76
+ validations:
77
+ required: true
78
+
79
+ - type: input
80
+ id: node
81
+ attributes:
82
+ label: Node.js version
83
+ placeholder: e.g. 20.11.0 (run `node --version`)
84
+ validations:
85
+ required: true
86
+
87
+ - type: input
88
+ id: conductor
89
+ attributes:
90
+ label: Conductor version
91
+ placeholder: e.g. 0.1.0 (run `conductor version`)
@@ -0,0 +1,8 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Documentation
4
+ url: https://github.com/thealxlabs/conductor#readme
5
+ about: Read the README before opening an issue
6
+ - name: Security vulnerability
7
+ url: https://github.com/thealxlabs/conductor/security/advisories/new
8
+ about: Report security issues privately — do not open a public issue
@@ -0,0 +1,63 @@
1
+ name: Feature Request
2
+ description: Suggest a new plugin, tool, or improvement
3
+ labels: ["enhancement"]
4
+ assignees: ["thealxlabs"]
5
+
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: |
10
+ Got an idea? Lay it out below.
11
+
12
+ - type: dropdown
13
+ id: type
14
+ attributes:
15
+ label: What kind of feature?
16
+ options:
17
+ - New plugin
18
+ - New tool in existing plugin
19
+ - CLI improvement
20
+ - Installer improvement
21
+ - MCP / Telegram improvement
22
+ - Performance
23
+ - Developer experience
24
+ - Other
25
+ validations:
26
+ required: true
27
+
28
+ - type: input
29
+ id: plugin_name
30
+ attributes:
31
+ label: Plugin / service name
32
+ description: If this is about a new plugin or service integration, which one?
33
+ placeholder: e.g. Linear, Airtable, Slack, HomeKit
34
+
35
+ - type: textarea
36
+ id: problem
37
+ attributes:
38
+ label: What problem does this solve?
39
+ description: What are you trying to do that you can't do today?
40
+ placeholder: I want to be able to...
41
+ validations:
42
+ required: true
43
+
44
+ - type: textarea
45
+ id: solution
46
+ attributes:
47
+ label: What would the solution look like?
48
+ description: Describe the feature. What tools would it expose? What would the output look like?
49
+ validations:
50
+ required: true
51
+
52
+ - type: textarea
53
+ id: alternatives
54
+ attributes:
55
+ label: Alternatives you've considered
56
+ description: Any workarounds or other approaches you've tried?
57
+
58
+ - type: checkboxes
59
+ id: willing
60
+ attributes:
61
+ label: Are you willing to contribute this?
62
+ options:
63
+ - label: I'd like to open a PR for this
@@ -0,0 +1,71 @@
1
+ name: Plugin Request
2
+ description: Request a new service integration
3
+ labels: ["plugin-request"]
4
+ assignees: ["thealxlabs"]
5
+
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: |
10
+ Conductor has 25 plugins and counting. Request the next one here.
11
+
12
+ - type: input
13
+ id: service
14
+ attributes:
15
+ label: Service / platform name
16
+ placeholder: e.g. Linear, Airtable, Discord, Stripe, Shopify
17
+ validations:
18
+ required: true
19
+
20
+ - type: input
21
+ id: api_docs
22
+ attributes:
23
+ label: API documentation URL
24
+ placeholder: https://developers.example.com/docs
25
+
26
+ - type: textarea
27
+ id: tools
28
+ attributes:
29
+ label: What tools should it expose?
30
+ description: List the specific things the AI should be able to do with this service.
31
+ placeholder: |
32
+ - List tasks
33
+ - Create and assign issues
34
+ - Update task status
35
+ - Search projects
36
+ validations:
37
+ required: true
38
+
39
+ - type: textarea
40
+ id: use_case
41
+ attributes:
42
+ label: Your use case
43
+ description: How would you actually use this in Conductor / Telegram / Claude Desktop?
44
+ validations:
45
+ required: true
46
+
47
+ - type: dropdown
48
+ id: auth
49
+ attributes:
50
+ label: How does the API authenticate?
51
+ options:
52
+ - API key
53
+ - OAuth 2.0
54
+ - OAuth 1.0a
55
+ - Bearer token
56
+ - Basic auth
57
+ - Other / not sure
58
+ validations:
59
+ required: true
60
+
61
+ - type: dropdown
62
+ id: free_tier
63
+ attributes:
64
+ label: Does it have a free tier?
65
+ options:
66
+ - "Yes — fully free"
67
+ - "Yes — free tier with limits"
68
+ - "No — paid only"
69
+ - "Not sure"
70
+ validations:
71
+ required: true
@@ -0,0 +1,13 @@
1
+ # .github
2
+
3
+ GitHub configuration for the Conductor repository.
4
+
5
+ ## Contents
6
+
7
+ - `workflows/` - GitHub Actions CI/CD workflows
8
+ - `ISSUE_TEMPLATE/` - Issue templates for bug reports and feature requests
9
+ - `FUNDING.yml` - Sponsorship configuration
10
+
11
+ ## Architecture
12
+
13
+ This directory contains GitHub-specific repository configuration. Workflows handle CI, releases, and automated tasks. Issue templates standardize how contributors report bugs and request features.
@@ -0,0 +1,22 @@
1
+ # .github/workflows
2
+
3
+ GitHub Actions CI/CD workflows for Conductor.
4
+
5
+ ## Contents
6
+
7
+ - `ci.yml` - Continuous integration: lint, typecheck, test, build
8
+ - `auto-release.yml` - Automated release creation
9
+ - `claude-code-review.yml` - AI-assisted code review
10
+ - `claude.yml` - Claude Code automation
11
+ - `sync-install.yml` - Install script synchronization
12
+
13
+ ## Architecture
14
+
15
+ These workflows automate the development lifecycle:
16
+
17
+ - **CI** runs on every push/PR to ensure code quality
18
+ - **Auto-release** publishes new versions on tag creation
19
+ - **Claude workflows** provide AI-assisted review and automation
20
+ - **Sync-install** keeps installation scripts up to date
21
+
22
+ All workflows run on GitHub's infrastructure and are triggered by push, pull request, or schedule events.
@@ -0,0 +1,112 @@
1
+ name: Auto Release
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ permissions:
9
+ contents: write
10
+
11
+ jobs:
12
+ release:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Checkout
16
+ uses: actions/checkout@v4
17
+ with:
18
+ fetch-depth: 0
19
+
20
+ - name: Get version from commit
21
+ id: version
22
+ run: |
23
+ SHORT_SHA=$(git rev-parse --short HEAD)
24
+ DATE=$(date +'%Y.%m.%d')
25
+ echo "version=v${DATE}-${SHORT_SHA}" >> $GITHUB_OUTPUT
26
+
27
+ - name: Generate changelog
28
+ id: changelog
29
+ run: |
30
+ LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
31
+
32
+ if [ -z "$LAST_TAG" ]; then
33
+ echo "No previous tags — using full commit history."
34
+ COMMITS=$(git log --pretty=format:"%s|%h|%an" --no-merges | head -50)
35
+ else
36
+ echo "Generating changelog since $LAST_TAG"
37
+ COMMITS=$(git log "${LAST_TAG}..HEAD" --pretty=format:"%s|%h|%an" --no-merges)
38
+ fi
39
+
40
+ if [ -z "$COMMITS" ]; then
41
+ echo "_No changes recorded._" > release_notes.md
42
+ exit 0
43
+ fi
44
+
45
+ FEATS=""
46
+ FIXES=""
47
+ PERF=""
48
+ CHORE=""
49
+ OTHER=""
50
+
51
+ while IFS='|' read -r subject hash author; do
52
+ ENTRY="- ${subject} (\`${hash}\`) — ${author}"
53
+ case "$subject" in
54
+ feat*|add*|new*) FEATS="$FEATS\n$ENTRY" ;;
55
+ fix*|bug*|patch*) FIXES="$FIXES\n$ENTRY" ;;
56
+ perf*|optim*) PERF="$PERF\n$ENTRY" ;;
57
+ chore*|ci*|build*|docs*|refactor*|test*|style*) CHORE="$CHORE\n$ENTRY" ;;
58
+ *) OTHER="$OTHER\n$ENTRY" ;;
59
+ esac
60
+ done <<< "$COMMITS"
61
+
62
+ {
63
+ echo "## What's Changed"
64
+ echo ""
65
+ echo "> Commit: \`${{ github.sha }}\`"
66
+ echo "> Branch: \`${{ github.ref_name }}\`"
67
+ echo "> Author: ${{ github.actor }}"
68
+ echo ""
69
+
70
+ if [ -n "$FEATS" ]; then
71
+ echo "### ✨ New Features"
72
+ printf "%b\n\n" "$FEATS"
73
+ fi
74
+ if [ -n "$FIXES" ]; then
75
+ echo "### 🐛 Bug Fixes"
76
+ printf "%b\n\n" "$FIXES"
77
+ fi
78
+ if [ -n "$PERF" ]; then
79
+ echo "### ⚡ Performance"
80
+ printf "%b\n\n" "$PERF"
81
+ fi
82
+ if [ -n "$OTHER" ]; then
83
+ echo "### 🔀 Other Changes"
84
+ printf "%b\n\n" "$OTHER"
85
+ fi
86
+ if [ -n "$CHORE" ]; then
87
+ echo "### 🔧 Maintenance"
88
+ printf "%b\n\n" "$CHORE"
89
+ fi
90
+
91
+ if [ -n "$LAST_TAG" ]; then
92
+ echo "---"
93
+ echo "**Full diff:** https://github.com/${{ github.repository }}/compare/${LAST_TAG}...${{ steps.version.outputs.version }}"
94
+ fi
95
+ } > release_notes.md
96
+
97
+ - name: Create GitHub Release
98
+ run: |
99
+ gh release create "${{ steps.version.outputs.version }}" \
100
+ --title "Conductor ${{ steps.version.outputs.version }}" \
101
+ --notes-file release_notes.md \
102
+ --latest
103
+ env:
104
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
105
+
106
+ - name: Summary
107
+ if: always()
108
+ run: |
109
+ echo "### ✅ Released" >> $GITHUB_STEP_SUMMARY
110
+ echo "**Conductor \`${{ steps.version.outputs.version }}\`** has been published." >> $GITHUB_STEP_SUMMARY
111
+ echo "" >> $GITHUB_STEP_SUMMARY
112
+ cat release_notes.md >> $GITHUB_STEP_SUMMARY
@@ -0,0 +1,49 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ node-version: [18, 20, 22]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - name: Setup Node.js ${{ matrix.node-version }}
21
+ uses: actions/setup-node@v4
22
+ with:
23
+ node-version: ${{ matrix.node-version }}
24
+ cache: 'npm'
25
+
26
+ - name: Install dependencies
27
+ run: npm ci
28
+
29
+ - name: Type check
30
+ run: npm run typecheck
31
+
32
+ - name: Lint
33
+ run: npm run lint
34
+
35
+ - name: Format check
36
+ run: npm run format:check
37
+
38
+ - name: Build
39
+ run: npm run build
40
+
41
+ - name: Test
42
+ run: npm test
43
+
44
+ - name: Upload coverage
45
+ uses: codecov/codecov-action@v4
46
+ if: matrix.node-version == 22
47
+ with:
48
+ files: ./coverage/lcov.info
49
+ fail_ci_if_error: false
@@ -0,0 +1,44 @@
1
+ name: Claude Code Review
2
+
3
+ on:
4
+ pull_request:
5
+ types: [opened, synchronize, ready_for_review, reopened]
6
+ # Optional: Only run on specific file changes
7
+ # paths:
8
+ # - "src/**/*.ts"
9
+ # - "src/**/*.tsx"
10
+ # - "src/**/*.js"
11
+ # - "src/**/*.jsx"
12
+
13
+ jobs:
14
+ claude-review:
15
+ # Optional: Filter by PR author
16
+ # if: |
17
+ # github.event.pull_request.user.login == 'external-contributor' ||
18
+ # github.event.pull_request.user.login == 'new-developer' ||
19
+ # github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
20
+
21
+ runs-on: ubuntu-latest
22
+ permissions:
23
+ contents: read
24
+ pull-requests: read
25
+ issues: read
26
+ id-token: write
27
+
28
+ steps:
29
+ - name: Checkout repository
30
+ uses: actions/checkout@v4
31
+ with:
32
+ fetch-depth: 1
33
+
34
+ - name: Run Claude Code Review
35
+ id: claude-review
36
+ uses: anthropics/claude-code-action@v1
37
+ with:
38
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
39
+ plugin_marketplaces: 'https://github.com/anthropics/claude-code.git'
40
+ plugins: 'code-review@claude-code-plugins'
41
+ prompt: '/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}'
42
+ # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
43
+ # or https://code.claude.com/docs/en/cli-reference for available options
44
+
@@ -0,0 +1,36 @@
1
+ name: Claude Code
2
+ on:
3
+ issue_comment:
4
+ types: [created]
5
+ pull_request_review_comment:
6
+ types: [created]
7
+ issues:
8
+ types: [opened, assigned]
9
+ pull_request_review:
10
+ types: [submitted]
11
+ jobs:
12
+ claude:
13
+ if: |
14
+ (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
15
+ (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
16
+ (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
17
+ (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
18
+ runs-on: ubuntu-latest
19
+ permissions:
20
+ contents: write
21
+ pull-requests: write
22
+ issues: write
23
+ id-token: write
24
+ actions: read
25
+ steps:
26
+ - name: Checkout repository
27
+ uses: actions/checkout@v4
28
+ with:
29
+ fetch-depth: 1
30
+ - name: Run Claude Code
31
+ id: claude
32
+ uses: anthropics/claude-code-action@v1
33
+ with:
34
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
35
+ additional_permissions: |
36
+ actions: read
@@ -0,0 +1,47 @@
1
+ name: Sync install.sh to website
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ paths:
8
+ - 'install.sh'
9
+ - 'install.ps1'
10
+ workflow_dispatch:
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ sync:
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - name: Checkout conductor repo
20
+ uses: actions/checkout@v4
21
+
22
+ - name: Push install scripts to website repo
23
+ env:
24
+ TOKEN: ${{ secrets.WEBSITE_REPO_TOKEN }}
25
+ run: |
26
+ WEBSITE_REPO="thealxlabs/conductor-website"
27
+
28
+ git config --global user.name "github-actions[bot]"
29
+ git config --global user.email "github-actions[bot]@users.noreply.github.com"
30
+
31
+ git clone https://x-access-token:${TOKEN}@github.com/${WEBSITE_REPO}.git website-repo
32
+
33
+ cp install.sh website-repo/install.sh
34
+ cp install.ps1 website-repo/install.ps1
35
+
36
+ cd website-repo
37
+
38
+ git add install.sh install.ps1
39
+
40
+ # Only commit if there are staged changes
41
+ if git diff --cached --quiet; then
42
+ echo "No changes, skipping commit."
43
+ exit 0
44
+ fi
45
+
46
+ git commit -m "sync: update install scripts from conductor@${{ github.sha }}"
47
+ git push
package/.mcp.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "mcpServers": {
3
+ "conductor": {
4
+ "command": "node",
5
+ "args": ["./dist/cli/index.js", "mcp", "start"],
6
+ "env": {}
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "semi": true,
3
+ "trailingComma": "all",
4
+ "singleQuote": true,
5
+ "printWidth": 120,
6
+ "tabWidth": 2
7
+ }