@qelos/aidev 0.1.0 → 0.1.2

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 +3 -3
  2. package/dist/__tests__/git.test.d.ts +2 -0
  3. package/dist/__tests__/git.test.d.ts.map +1 -0
  4. package/dist/__tests__/git.test.js +35 -0
  5. package/dist/__tests__/git.test.js.map +1 -0
  6. package/dist/__tests__/init.test.d.ts +2 -0
  7. package/dist/__tests__/init.test.d.ts.map +1 -0
  8. package/dist/__tests__/init.test.js +157 -0
  9. package/dist/__tests__/init.test.js.map +1 -0
  10. package/dist/__tests__/platform.test.d.ts +2 -0
  11. package/dist/__tests__/platform.test.d.ts.map +1 -0
  12. package/dist/__tests__/platform.test.js +31 -0
  13. package/dist/__tests__/platform.test.js.map +1 -0
  14. package/dist/__tests__/run.test.d.ts +2 -0
  15. package/dist/__tests__/run.test.d.ts.map +1 -0
  16. package/dist/__tests__/run.test.js +77 -0
  17. package/dist/__tests__/run.test.js.map +1 -0
  18. package/dist/__tests__/schedule.test.d.ts +2 -0
  19. package/dist/__tests__/schedule.test.d.ts.map +1 -0
  20. package/dist/__tests__/schedule.test.js +49 -0
  21. package/dist/__tests__/schedule.test.js.map +1 -0
  22. package/dist/ai/base.d.ts +11 -0
  23. package/dist/ai/base.js.map +1 -0
  24. package/dist/ai/claude.d.ts +7 -0
  25. package/dist/ai/claude.js.map +1 -0
  26. package/dist/ai/cursor.d.ts +7 -0
  27. package/dist/ai/cursor.js.map +1 -0
  28. package/dist/ai/index.d.ts +5 -0
  29. package/dist/ai/index.js.map +1 -0
  30. package/dist/cli.d.ts +3 -0
  31. package/dist/cli.js.map +1 -0
  32. package/dist/commands/help.d.ts +2 -0
  33. package/dist/commands/help.js.map +1 -0
  34. package/dist/commands/init.d.ts +19 -0
  35. package/dist/commands/init.d.ts.map +1 -1
  36. package/dist/commands/init.js +7 -3
  37. package/dist/commands/init.js.map +1 -0
  38. package/dist/commands/run.d.ts +9 -0
  39. package/dist/commands/run.d.ts.map +1 -1
  40. package/dist/commands/run.js +3 -0
  41. package/dist/commands/run.js.map +1 -0
  42. package/dist/commands/schedule.d.ts +10 -0
  43. package/dist/commands/schedule.d.ts.map +1 -1
  44. package/dist/commands/schedule.js +2 -0
  45. package/dist/commands/schedule.js.map +1 -0
  46. package/dist/config.d.ts +3 -0
  47. package/dist/config.js.map +1 -0
  48. package/dist/git.d.ts +12 -0
  49. package/dist/git.js.map +1 -0
  50. package/dist/logger.d.ts +10 -0
  51. package/dist/logger.js.map +1 -0
  52. package/dist/platform.d.ts +9 -0
  53. package/dist/platform.js.map +1 -0
  54. package/dist/providers/base.d.ts +8 -0
  55. package/dist/providers/base.js.map +1 -0
  56. package/dist/providers/clickup.d.ts +15 -0
  57. package/dist/providers/clickup.js.map +1 -0
  58. package/dist/providers/index.d.ts +5 -0
  59. package/dist/providers/index.js.map +1 -0
  60. package/dist/types.d.ts +31 -0
  61. package/dist/types.js.map +1 -0
  62. package/package.json +19 -5
  63. package/.claude/settings.local.json +0 -9
  64. package/.cursor/rules/aidev.mdc +0 -57
  65. package/CLAUDE.md +0 -32
  66. package/src/ai/base.ts +0 -11
  67. package/src/ai/claude.ts +0 -35
  68. package/src/ai/cursor.ts +0 -35
  69. package/src/ai/index.ts +0 -15
  70. package/src/cli.ts +0 -83
  71. package/src/commands/help.ts +0 -43
  72. package/src/commands/init.ts +0 -296
  73. package/src/commands/run.ts +0 -283
  74. package/src/commands/schedule.ts +0 -179
  75. package/src/config.ts +0 -59
  76. package/src/git.ts +0 -109
  77. package/src/logger.ts +0 -53
  78. package/src/platform.ts +0 -33
  79. package/src/providers/base.ts +0 -8
  80. package/src/providers/clickup.ts +0 -107
  81. package/src/providers/index.ts +0 -20
  82. package/src/types.ts +0 -33
  83. package/tsconfig.json +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMjC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAEnD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,QAAQ,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAW,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMjC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAEnD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,QAAQ,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC,CAgBf;AA4ND,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUxE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIjE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAa5F"}
@@ -34,6 +34,9 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.runCommand = runCommand;
37
+ exports.buildImplementPrompt = buildImplementPrompt;
38
+ exports.buildPRUrl = buildPRUrl;
39
+ exports.buildCompletionComment = buildCompletionComment;
37
40
  const logger_1 = require("../logger");
38
41
  const git = __importStar(require("../git"));
39
42
  const SKIP_STATUSES = new Set(['closed', 'done', 'cancelled', 'complete']);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Converts a cron expression to schtasks /sc + /mo + /st arguments.
3
+ * Supports the subset used by the preset list.
4
+ */
5
+ export declare function cronToSchtasksArgs(cron: string): string[] | null;
6
+ /** Stable task name derived from cwd — safe for Task Scheduler. */
7
+ export declare function windowsTaskName(cwd: string): string;
8
+ export declare function scheduleSetCommand(cronExpr?: string): Promise<void>;
9
+ export declare function scheduleGetCommand(): Promise<void>;
10
+ //# sourceMappingURL=schedule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../src/commands/schedule.ts"],"names":[],"mappings":"AA2KA,wBAAsB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAExD"}
1
+ {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../src/commands/schedule.ts"],"names":[],"mappings":"AA4FA;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAiBhE;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGnD;AAoDD,wBAAsB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAExD"}
@@ -36,6 +36,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.cronToSchtasksArgs = cronToSchtasksArgs;
40
+ exports.windowsTaskName = windowsTaskName;
39
41
  exports.scheduleSetCommand = scheduleSetCommand;
40
42
  exports.scheduleGetCommand = scheduleGetCommand;
41
43
  const node_child_process_1 = require("node:child_process");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/commands/schedule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Config } from './types';
2
+ export declare function loadConfig(customEnvPath?: string): Config;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/git.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ export declare function remoteBranchExists(remote: string, branch: string): boolean;
2
+ export declare function fetchAndCheckout(remote: string, baseBranch: string): boolean;
3
+ export declare function createBranch(branch: string): boolean;
4
+ export declare function hasChanges(): boolean;
5
+ export declare function addAll(): boolean;
6
+ export declare function commit(message: string): boolean;
7
+ export declare function push(remote: string, branch: string): boolean;
8
+ export declare function deleteBranch(branch: string): void;
9
+ /** Returns the name of the first usable remote (prefers origin). */
10
+ export declare function detectRemote(): string | null;
11
+ export declare function slugify(text: string): string;
12
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare function logRunStart(): void;
2
+ export declare const logger: {
3
+ info: (msg: string) => void;
4
+ success: (msg: string) => void;
5
+ warn: (msg: string) => void;
6
+ error: (msg: string) => void;
7
+ task: (msg: string) => void;
8
+ debug: (msg: string) => void;
9
+ };
10
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,kCAGC;AAvBD,4CAA8B;AAC9B,gDAAkC;AAClC,kDAA0B;AAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;AAEvD,gDAAgD;AAChD,SAAS,KAAK,CAAC,CAAS;IACtB,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW;IAC1C,MAAM,IAAI,GAAG,GAAG,SAAS,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IACzD,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,WAAW;IACzB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,SAAS,EAAE,mBAAmB,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC1F,CAAC;AAEY,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QACxC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QACzC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1C,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QACzC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE;QACrB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;YACxC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const isWindows: boolean;
2
+ /**
3
+ * Finds the full path of a binary by searching PATH (and PATHEXT on Windows).
4
+ * Returns the resolved path, or null if not found.
5
+ * Uses only Node.js fs — no `which` / `where` subprocess.
6
+ */
7
+ export declare function findBin(name: string): string | null;
8
+ export declare function commandExists(name: string): boolean;
9
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,0BAkBC;AAED,sCAEC;AAhCD,4CAA8B;AAC9B,gDAAkC;AAErB,QAAA,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAEtD;;;;GAIG;AACH,SAAgB,OAAO,CAAC,IAAY;IAClC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,iBAAS;QACpB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACvF,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAET,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACvC,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAChC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Task, Comment } from '../types';
2
+ export interface TaskProvider {
3
+ fetchTasks(): Promise<Task[]>;
4
+ postComment(taskId: string, text: string): Promise<void>;
5
+ getComments(taskId: string): Promise<Comment[]>;
6
+ updateStatus(taskId: string, status: string): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { Task, Comment, Config } from '../types';
2
+ import { TaskProvider } from './base';
3
+ export declare class ClickUpProvider implements TaskProvider {
4
+ private apiKey;
5
+ private teamId;
6
+ private tag;
7
+ private assigneeTag;
8
+ constructor(config: Config);
9
+ private request;
10
+ fetchTasks(): Promise<Task[]>;
11
+ postComment(taskId: string, text: string): Promise<void>;
12
+ getComments(taskId: string): Promise<Comment[]>;
13
+ updateStatus(taskId: string, status: string): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=clickup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickup.js","sourceRoot":"","sources":["../../src/providers/clickup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Config } from '../types';
2
+ import { TaskProvider } from './base';
3
+ export declare function createProvider(config: Config): TaskProvider;
4
+ export { TaskProvider };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":";;AAIA,wCAaC;AAfD,uCAA4C;AAE5C,SAAgB,cAAc,CAAC,MAAc;IAC3C,QAAQ,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,IAAI,yBAAe,CAAC,MAAM,CAAC,CAAC;QACrC,KAAK,MAAM;YACT,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,KAAK,QAAQ;YACX,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,KAAK,QAAQ;YACX,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ export interface Task {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ status: string;
6
+ url: string;
7
+ tags: string[];
8
+ }
9
+ export interface Comment {
10
+ id: string;
11
+ text: string;
12
+ author: string;
13
+ authorId: string;
14
+ date: number;
15
+ }
16
+ export type AgentName = 'claude' | 'cursor';
17
+ export interface Config {
18
+ provider: string;
19
+ clickupApiKey: string;
20
+ clickupTeamId: string;
21
+ clickupTag: string;
22
+ clickupPendingStatus: string;
23
+ clickupInReviewStatus: string;
24
+ assigneeTag: string;
25
+ gitRemote: string;
26
+ githubBaseBranch: string;
27
+ githubRepo: string;
28
+ agents: AgentName[];
29
+ devNotesMode: 'smart' | 'always';
30
+ }
31
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,20 +1,34 @@
1
1
  {
2
2
  "name": "@qelos/aidev",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "AI-powered task executor — polls ClickUp (and more) to implement tasks with Claude or Cursor",
5
5
  "type": "commonjs",
6
- "bin": { "aidev": "./dist/cli.js" },
6
+ "bin": {
7
+ "aidev": "dist/cli.js"
8
+ },
7
9
  "main": "./dist/cli.js",
8
- "engines": { "node": ">=18.0.0" },
10
+ "engines": {
11
+ "node": ">=18.0.0"
12
+ },
9
13
  "scripts": {
10
14
  "build": "tsc && node -e \"if(process.platform!=='win32')require('fs').chmodSync('dist/cli.js',0o755)\"",
11
15
  "dev": "tsx src/cli.ts",
16
+ "test": "node --require tsx/cjs --test src/__tests__/git.test.ts src/__tests__/platform.test.ts src/__tests__/schedule.test.ts src/__tests__/init.test.ts src/__tests__/run.test.ts",
12
17
  "prepublishOnly": "npm run build"
13
18
  },
14
- "keywords": ["ai", "cli", "clickup", "claude", "cursor", "automation"],
19
+ "keywords": [
20
+ "ai",
21
+ "cli",
22
+ "clickup",
23
+ "claude",
24
+ "cursor",
25
+ "automation"
26
+ ],
15
27
  "author": "",
16
28
  "license": "MIT",
17
- "publishConfig": { "access": "public" },
29
+ "publishConfig": {
30
+ "access": "public"
31
+ },
18
32
  "dependencies": {
19
33
  "chalk": "^4.1.2",
20
34
  "commander": "^12.0.0",
@@ -1,9 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(npm install:*)",
5
- "Bash(npm run:*)",
6
- "Bash(node:*)"
7
- ]
8
- }
9
- }
@@ -1,57 +0,0 @@
1
- ---
2
- description: aidev project rules
3
- globs: ["**/*.ts", "**/*.js", "package.json", "tsconfig.json"]
4
- alwaysApply: true
5
- ---
6
-
7
- # aidev Project Rules
8
-
9
- ## Stack
10
- - TypeScript 5, CommonJS (`"type": "commonjs"`), Node.js ≥ 18
11
- - Dependencies: `chalk@4`, `commander@12`, `dotenv@16`
12
- - No HTTP libraries — use native `fetch` (Node 18+) only
13
- - chalk v4 specifically (v5 is ESM-only and incompatible)
14
-
15
- ## Code Conventions
16
- - All native Node.js imports use the `node:` prefix:
17
- `node:fs`, `node:path`, `node:child_process`, `node:os`, etc.
18
- - All subprocess calls use `spawnSync(bin, [...args])` with array arguments — never string interpolation into shell commands
19
- - Strict TypeScript: no `any`, explicit return types on exported functions
20
-
21
- ## Architecture
22
-
23
- ### Providers (`src/providers/`)
24
- - `TaskProvider` interface: `fetchTasks()`, `postComment()`, `getComments()`, `updateStatus()`
25
- - Only ClickUp is implemented; Jira/Notion/Trello stubs throw descriptive errors
26
- - To add a provider: implement `TaskProvider`, register in `createProvider()` factory
27
-
28
- ### AI Runners (`src/ai/`)
29
- - `AIRunner` interface: `name`, `isAvailable()`, `run(prompt, notes?)`
30
- - Runners: `ClaudeRunner` (claude CLI), `CursorRunner` (cursor --agent)
31
- - `auto` mode: no TTY → Claude first; TTY → Cursor first; fallback to next on failure
32
-
33
- ### Commands (`src/commands/`)
34
- - `init` — writes `.env.aidev` from inline template; skips if file exists
35
- - `run` — fetches tasks, applies filter (all/open/pending), implements each
36
- - `schedule` — manages per-directory crontab entries using marker `# aidev-cwd:/path`
37
-
38
- ### CLI (`src/cli.ts`)
39
- - `run [filter]` is registered with `{ isDefault: true }` — do not use `program.action()` as default, it causes double-execution
40
-
41
- ## Task Processing Flow
42
- ```
43
- fetchTasks()
44
- skip: closed/done/cancelled/complete statuses
45
- skip: remote branch already exists (taskId prefix)
46
- pending tasks: check for human reply before proceeding
47
- open tasks: checkNeedsClarification() → postComment + set pending if unclear
48
- implementTask():
49
- updateStatus("in progress") → git branch → AI runner → commit → push
50
- postComment(branch + PR link) → updateStatus(CLICKUP_IN_REVIEW_STATUS)
51
- ```
52
-
53
- ## Build
54
- ```bash
55
- npm run build # tsc + chmod +x dist/cli.js
56
- npm run dev -- run --help
57
- ```
package/CLAUDE.md DELETED
@@ -1,32 +0,0 @@
1
- # aidev — Claude Project Rules
2
-
3
- ## Build & Run
4
- ```bash
5
- npm run build # tsc + chmod +x dist/cli.js
6
- npm run dev -- <cmd> # run via tsx without building
7
- node dist/cli.js --help
8
- ```
9
-
10
- ## Project Layout
11
- - `src/cli.ts` — Commander entry point; `run` is the default command (`isDefault: true`)
12
- - `src/providers/` — `TaskProvider` interface + ClickUp implementation (native `fetch`)
13
- - `src/ai/` — `AIRunner` interface + Claude/Cursor runners (`spawnSync`)
14
- - `src/commands/` — `init`, `run`, `schedule`
15
- - `src/git.ts` — all git ops via `spawnSync('git', [...args])`, never string concat
16
-
17
- ## Strict Rules
18
- - **No shell injection**: always pass args as arrays to `spawnSync`, never interpolate into shell strings
19
- - **No new HTTP dependencies**: use native `fetch` (Node 18+) only
20
- - **CJS only**: `"type": "commonjs"` — do not use ESM syntax or ESM-only packages
21
- - **chalk v4**: project uses chalk v4 (not v5, which is ESM-only)
22
- - **`node:` prefix**: all built-in imports use `node:fs`, `node:path`, `node:child_process`, etc.
23
-
24
- ## Adding a Provider
25
- 1. Create `src/providers/<name>.ts` implementing `TaskProvider`
26
- 2. Register in `src/providers/index.ts` `createProvider()` switch
27
- 3. Add config fields to `src/types.ts` (`Config`) and `src/config.ts`
28
- 4. Document in `.env.aidev.example` and `README.md`
29
-
30
- ## Adding an AI Runner
31
- 1. Create `src/ai/<name>.ts` implementing `AIRunner`
32
- 2. Register in `src/ai/index.ts` `createRunners()` and update `AI_TOOL` logic
package/src/ai/base.ts DELETED
@@ -1,11 +0,0 @@
1
- export interface AIRunResult {
2
- success: boolean;
3
- output: string;
4
- error: string;
5
- }
6
-
7
- export interface AIRunner {
8
- name: string;
9
- isAvailable(): boolean;
10
- run(prompt: string, notes?: string): Promise<AIRunResult>;
11
- }
package/src/ai/claude.ts DELETED
@@ -1,35 +0,0 @@
1
- import { spawnSync } from 'node:child_process';
2
- import { AIRunner, AIRunResult } from './base';
3
- import { logger } from '../logger';
4
- import { commandExists } from '../platform';
5
-
6
- export class ClaudeRunner implements AIRunner {
7
- readonly name = 'claude';
8
-
9
- isAvailable(): boolean {
10
- return commandExists('claude');
11
- }
12
-
13
- async run(prompt: string, notes?: string): Promise<AIRunResult> {
14
- const fullPrompt = notes ? `${prompt}\n\nAdditional context:\n${notes}` : prompt;
15
-
16
- logger.info('Running Claude CLI...');
17
- logger.debug(`Prompt: ${fullPrompt.slice(0, 200)}...`);
18
-
19
- const result = spawnSync('claude', ['-p', fullPrompt, '--dangerously-skip-permissions'], {
20
- encoding: 'utf8',
21
- timeout: 10 * 60 * 1000,
22
- cwd: process.cwd(),
23
- });
24
-
25
- const success = result.status === 0;
26
- const output = result.stdout || '';
27
- const error = result.stderr || '';
28
-
29
- if (!success) {
30
- logger.warn(`Claude exited with status ${result.status}`);
31
- }
32
-
33
- return { success, output, error };
34
- }
35
- }
package/src/ai/cursor.ts DELETED
@@ -1,35 +0,0 @@
1
- import { spawnSync } from 'node:child_process';
2
- import { AIRunner, AIRunResult } from './base';
3
- import { logger } from '../logger';
4
- import { commandExists } from '../platform';
5
-
6
- export class CursorRunner implements AIRunner {
7
- readonly name = 'cursor';
8
-
9
- isAvailable(): boolean {
10
- return commandExists('cursor');
11
- }
12
-
13
- async run(prompt: string, notes?: string): Promise<AIRunResult> {
14
- const fullPrompt = notes ? `${prompt}\n\nAdditional context:\n${notes}` : prompt;
15
-
16
- logger.info('Running Cursor Agent...');
17
- logger.debug(`Prompt: ${fullPrompt.slice(0, 200)}...`);
18
-
19
- const result = spawnSync('cursor', ['--agent', fullPrompt], {
20
- encoding: 'utf8',
21
- timeout: 10 * 60 * 1000,
22
- cwd: process.cwd(),
23
- });
24
-
25
- const success = result.status === 0;
26
- const output = result.stdout || '';
27
- const error = result.stderr || '';
28
-
29
- if (!success) {
30
- logger.warn(`Cursor exited with status ${result.status}`);
31
- }
32
-
33
- return { success, output, error };
34
- }
35
- }
package/src/ai/index.ts DELETED
@@ -1,15 +0,0 @@
1
- import { Config } from '../types';
2
- import { AIRunner } from './base';
3
- import { ClaudeRunner } from './claude';
4
- import { CursorRunner } from './cursor';
5
-
6
- const registry: Record<string, AIRunner> = {
7
- claude: new ClaudeRunner(),
8
- cursor: new CursorRunner(),
9
- };
10
-
11
- export function createRunners(config: Config): AIRunner[] {
12
- return config.agents.map((name) => registry[name]);
13
- }
14
-
15
- export { AIRunner };
package/src/cli.ts DELETED
@@ -1,83 +0,0 @@
1
- #!/usr/bin/env node
2
- import { Command } from 'commander';
3
- import { initCommand } from './commands/init';
4
- import { runCommand, RunFilter } from './commands/run';
5
- import { scheduleSetCommand, scheduleGetCommand } from './commands/schedule';
6
- import { helpCommand } from './commands/help';
7
- import { loadConfig } from './config';
8
- import { createProvider } from './providers';
9
- import { createRunners } from './ai';
10
- import { logger } from './logger';
11
-
12
- const program = new Command();
13
-
14
- program
15
- .name('aidev')
16
- .description('AI-powered task executor — implements ClickUp tasks with Claude or Cursor')
17
- .version('0.1.0')
18
- .option('-e, --env <path>', 'path to env file (default: .env.aidev)');
19
-
20
- program
21
- .command('init')
22
- .description('Create .env.aidev from template in current directory')
23
- .action(async () => {
24
- await initCommand();
25
- });
26
-
27
- program
28
- .command('help')
29
- .description('Show help')
30
- .action(() => {
31
- helpCommand();
32
- });
33
-
34
- async function runWithFilter(filter: string | undefined): Promise<void> {
35
- const validFilters: RunFilter[] = ['all', 'open', 'pending'];
36
- const resolvedFilter: RunFilter =
37
- filter && validFilters.includes(filter as RunFilter)
38
- ? (filter as RunFilter)
39
- : 'all';
40
-
41
- if (filter && !validFilters.includes(filter as RunFilter)) {
42
- logger.error(`Unknown filter: ${filter}. Valid options: all, open, pending`);
43
- process.exit(1);
44
- }
45
-
46
- try {
47
- const { env } = program.opts<{ env?: string }>();
48
- const config = loadConfig(env);
49
- const provider = createProvider(config);
50
- const runners = createRunners(config);
51
- await runCommand(resolvedFilter, config, provider, runners);
52
- } catch (err) {
53
- logger.error(String(err));
54
- process.exit(1);
55
- }
56
- }
57
-
58
- program
59
- .command('run [filter]', { isDefault: true })
60
- .description('Process tasks: all (default), open, or pending')
61
- .action(async (filter?: string) => {
62
- await runWithFilter(filter);
63
- });
64
-
65
- const scheduleCmd = program
66
- .command('schedule')
67
- .description('Manage cron schedule for aidev in current directory');
68
-
69
- scheduleCmd
70
- .command('set [cron]')
71
- .description('Set cron schedule — interactive picker if no cron given')
72
- .action(async (cron?: string) => {
73
- await scheduleSetCommand(cron);
74
- });
75
-
76
- scheduleCmd
77
- .command('get')
78
- .description('Show current cron schedule for this directory')
79
- .action(async () => {
80
- await scheduleGetCommand();
81
- });
82
-
83
- program.parse(process.argv);
@@ -1,43 +0,0 @@
1
- import chalk from 'chalk';
2
-
3
- const b = chalk.bold;
4
- const c = chalk.cyan;
5
- const d = chalk.dim;
6
- const g = chalk.green;
7
-
8
- export function helpCommand(): void {
9
- console.log(`
10
- ${b('aidev')} ${d('v0.1.0')} — AI-powered task executor
11
-
12
- ${b('USAGE')}
13
- ${c('aidev')} ${d('[command]')}
14
-
15
- ${b('COMMANDS')}
16
- ${c('init')} Interactive setup — create ${d('.env.aidev')}
17
- ${c('run')} Process all open + pending-with-replies tasks
18
- ${c('run open')} Only open (non-pending) tasks
19
- ${c('run pending')} Only pending tasks — check for human replies
20
- ${c('schedule set')} ${d('<cron>')} Set cron schedule for this directory
21
- ${c('schedule get')} Show current cron schedule
22
- ${c('help')} Show this help message
23
-
24
- ${b('EXAMPLES')}
25
- ${d('$')} ${g('aidev init')}
26
- ${d('$')} ${g('aidev run')}
27
- ${d('$')} ${g('aidev run open')}
28
- ${d('$')} ${g('aidev schedule set "*/30 * * * *"')}
29
- ${d('$')} ${g('aidev schedule get')}
30
-
31
- ${b('CONFIG')} ${d('.env.aidev in your project directory')}
32
- ${d('CLICKUP_API_KEY')} ClickUp personal API token
33
- ${d('CLICKUP_TEAM_ID')} Workspace / team ID
34
- ${d('CLICKUP_TAG')} Tag used to filter tasks
35
- ${d('AGENTS')} Agent order: ${c('claude,cursor')} ${d('| cursor,claude | claude | cursor')}
36
- ${d('DEV_NOTES_MODE')} ${c('smart')} ${d('(default) | always')}
37
- ${d('GIT_REMOTE')} Remote name ${d('(auto-detected if unset)')}
38
- ${d('GITHUB_BASE_BRANCH')} Base branch ${d('(default: main)')}
39
- ${d('GITHUB_REPO')} ${d('owner/repo')} for PR links
40
-
41
- Run ${c('aidev init')} to configure interactively.
42
- `);
43
- }