@convext/cli 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.d.ts +59 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +92 -1
- package/dist/api.js.map +1 -1
- package/dist/cli.js +38 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +17 -7
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/sync.d.ts +42 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +237 -5
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/task.d.ts +32 -0
- package/dist/commands/task.d.ts.map +1 -0
- package/dist/commands/task.js +107 -0
- package/dist/commands/task.js.map +1 -0
- package/dist/utils/preCommitHook.d.ts +12 -0
- package/dist/utils/preCommitHook.d.ts.map +1 -0
- package/dist/utils/preCommitHook.js +82 -0
- package/dist/utils/preCommitHook.js.map +1 -0
- package/dist/utils/scanner.d.ts.map +1 -1
- package/dist/utils/scanner.js +2 -1
- package/dist/utils/scanner.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/sync.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
import ora from "ora";
|
|
5
|
-
import { getProjectContext, getProjectMarkdown, getProjectRulesWithEnforcement, assignRuleSets, uploadTelemetry, } from "../api.js";
|
|
5
|
+
import { getProjectContext, getProjectMarkdown, getProjectRulesWithEnforcement, assignRuleSets, uploadTelemetry, getPlans, getTasks, updatePlan, updateTask, } from "../api.js";
|
|
6
6
|
import { backupFile, ensureParentDir } from "../utils/fileManager.js";
|
|
7
7
|
import { promptConfirm, promptCheckbox } from "../utils/prompts.js";
|
|
8
8
|
import { scanRepository } from "../utils/scanner.js";
|
|
@@ -43,6 +43,12 @@ const DOTFILE_CONFIGS = {
|
|
|
43
43
|
// Copilot uses HTML comment
|
|
44
44
|
transform: (md) => `<!-- Generated by Convext - Do not edit manually -->\n\n${md}`,
|
|
45
45
|
},
|
|
46
|
+
antigravity: {
|
|
47
|
+
filename: ".agent/rules/GEMINI.md",
|
|
48
|
+
// Google Antigravity uses .agent/rules/GEMINI.md for workspace rules
|
|
49
|
+
// Global rules go in ~/.gemini/GEMINI.md but we generate workspace-level
|
|
50
|
+
transform: (md) => `<!-- Generated by Convext - Do not edit manually -->\n\n${md}`,
|
|
51
|
+
},
|
|
46
52
|
};
|
|
47
53
|
function ensureDirectoryExists(filePath) {
|
|
48
54
|
ensureParentDir(filePath);
|
|
@@ -239,28 +245,82 @@ export async function syncCommand(options) {
|
|
|
239
245
|
}
|
|
240
246
|
}
|
|
241
247
|
// Determine which formats to generate
|
|
242
|
-
|
|
248
|
+
// Default to 'claude' only - users must explicitly use --format all for other formats
|
|
249
|
+
const formats = options.format === "all"
|
|
243
250
|
? Object.keys(DOTFILE_CONFIGS)
|
|
244
|
-
: [options.format];
|
|
251
|
+
: [options.format ?? "claude"];
|
|
245
252
|
// Generate and write files
|
|
246
253
|
const cwd = process.cwd();
|
|
247
254
|
const results = [];
|
|
248
255
|
// Fetch pre-rendered markdown from the server (matches server preview exactly)
|
|
249
256
|
log("Fetching pre-rendered markdown from server...");
|
|
250
257
|
let serverMarkdown;
|
|
258
|
+
let serverTooling = [];
|
|
251
259
|
try {
|
|
252
260
|
// Use simple project slug (without org prefix) for the API endpoint
|
|
253
261
|
const simpleSlug = extractProjectSlug(projectSlug);
|
|
254
262
|
const contextResponse = await getProjectMarkdown(simpleSlug);
|
|
255
263
|
serverMarkdown = contextResponse.markdown;
|
|
264
|
+
serverTooling = contextResponse.tooling || [];
|
|
256
265
|
log(`Got ${contextResponse.rules_count} rules, ${contextResponse.standards_count} standards`);
|
|
266
|
+
log(`Project tooling: ${serverTooling.length > 0 ? serverTooling.join(", ") : "not configured"}`);
|
|
257
267
|
}
|
|
258
268
|
catch (error) {
|
|
259
269
|
// Fallback: if API endpoint not available, we can't sync
|
|
260
270
|
console.error(chalk.red("Failed to fetch project context from server"));
|
|
261
271
|
throw error;
|
|
262
272
|
}
|
|
263
|
-
|
|
273
|
+
// Determine which formats to generate based on:
|
|
274
|
+
// 1. --format flag (explicit override)
|
|
275
|
+
// 2. Server-configured tooling (if set)
|
|
276
|
+
// 3. Auto-detect from existing AI files in the repo
|
|
277
|
+
// 4. Default to claude only
|
|
278
|
+
let effectiveFormats = formats;
|
|
279
|
+
if (!options.format) {
|
|
280
|
+
// Map file paths to format names
|
|
281
|
+
const fileToFormat = {
|
|
282
|
+
"CLAUDE.md": "claude",
|
|
283
|
+
".cursorrules": "cursor",
|
|
284
|
+
".github/copilot-instructions.md": "copilot",
|
|
285
|
+
".agent/rules/GEMINI.md": "antigravity",
|
|
286
|
+
};
|
|
287
|
+
// Map tooling values to format names
|
|
288
|
+
const toolingToFormat = {
|
|
289
|
+
"claude-code": "claude",
|
|
290
|
+
"claude": "claude",
|
|
291
|
+
"cursor": "cursor",
|
|
292
|
+
"copilot": "copilot",
|
|
293
|
+
"github-copilot": "copilot",
|
|
294
|
+
"antigravity": "antigravity",
|
|
295
|
+
"google-antigravity": "antigravity",
|
|
296
|
+
"gemini": "antigravity",
|
|
297
|
+
};
|
|
298
|
+
// Priority 1: Server-configured tooling
|
|
299
|
+
if (serverTooling.length > 0) {
|
|
300
|
+
effectiveFormats = serverTooling
|
|
301
|
+
.map((t) => toolingToFormat[t.toLowerCase()])
|
|
302
|
+
.filter((f) => Boolean(f) && f in DOTFILE_CONFIGS);
|
|
303
|
+
if (effectiveFormats.length > 0) {
|
|
304
|
+
log(`Using server-configured tooling: ${effectiveFormats.join(", ")}`);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// Priority 2: Auto-detect from existing AI files
|
|
308
|
+
if (effectiveFormats.length === 0 || effectiveFormats === formats) {
|
|
309
|
+
const detectedFormats = insights.aiFiles
|
|
310
|
+
.map((file) => fileToFormat[file])
|
|
311
|
+
.filter((f) => Boolean(f) && f in DOTFILE_CONFIGS);
|
|
312
|
+
if (detectedFormats.length > 0) {
|
|
313
|
+
effectiveFormats = [...new Set(detectedFormats)]; // Dedupe
|
|
314
|
+
log(`Auto-detected AI tools from existing files: ${effectiveFormats.join(", ")}`);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// Priority 3: Fall back to default (claude only)
|
|
318
|
+
if (effectiveFormats.length === 0) {
|
|
319
|
+
effectiveFormats = formats;
|
|
320
|
+
log("No AI tools detected, defaulting to claude");
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
for (const format of effectiveFormats) {
|
|
264
324
|
const config = DOTFILE_CONFIGS[format];
|
|
265
325
|
if (!config)
|
|
266
326
|
continue;
|
|
@@ -426,4 +486,176 @@ async function syncTelemetry(projectSlug, dryRun, verbose) {
|
|
|
426
486
|
}
|
|
427
487
|
}
|
|
428
488
|
}
|
|
489
|
+
export async function syncPlans(projectSlug, options = {}) {
|
|
490
|
+
const fetchPlans = options.fetchPlans ?? getPlans;
|
|
491
|
+
const pushPlan = options.pushPlan ?? updatePlan;
|
|
492
|
+
const result = { pulled: 0, pushed: 0, conflicts: [] };
|
|
493
|
+
const cwd = process.cwd();
|
|
494
|
+
const plansDir = join(cwd, ".convext", "plans");
|
|
495
|
+
// Ensure plans directory exists
|
|
496
|
+
mkdirSync(plansDir, { recursive: true });
|
|
497
|
+
// Fetch plans from server
|
|
498
|
+
const { plans: serverPlans } = await fetchPlans(projectSlug);
|
|
499
|
+
// Load existing local plans for comparison
|
|
500
|
+
const localPlans = new Map();
|
|
501
|
+
if (existsSync(plansDir)) {
|
|
502
|
+
for (const serverPlan of serverPlans) {
|
|
503
|
+
const localPath = join(plansDir, `${serverPlan.id}.json`);
|
|
504
|
+
if (existsSync(localPath)) {
|
|
505
|
+
try {
|
|
506
|
+
const content = readFileSync(localPath, "utf-8");
|
|
507
|
+
localPlans.set(serverPlan.id, JSON.parse(content));
|
|
508
|
+
}
|
|
509
|
+
catch {
|
|
510
|
+
// Ignore invalid JSON
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
for (const serverPlan of serverPlans) {
|
|
516
|
+
const localPlan = localPlans.get(serverPlan.id);
|
|
517
|
+
const localPath = join(plansDir, `${serverPlan.id}.json`);
|
|
518
|
+
if (!localPlan) {
|
|
519
|
+
// No local plan - pull from server
|
|
520
|
+
writeFileSync(localPath, JSON.stringify(serverPlan, null, 2), "utf-8");
|
|
521
|
+
result.pulled++;
|
|
522
|
+
}
|
|
523
|
+
else if (localPlan._local_modified) {
|
|
524
|
+
// Local was modified - check for conflict
|
|
525
|
+
const originalServerTime = localPlan._server_updated_at;
|
|
526
|
+
const currentServerTime = serverPlan.updated_at;
|
|
527
|
+
if (originalServerTime && originalServerTime !== currentServerTime) {
|
|
528
|
+
// Both changed - conflict!
|
|
529
|
+
if (options.resolveConflict) {
|
|
530
|
+
const resolution = await options.resolveConflict(localPlan, serverPlan);
|
|
531
|
+
if (resolution === "local") {
|
|
532
|
+
// Force push local changes
|
|
533
|
+
const { plan: updatedPlan } = await pushPlan(localPlan);
|
|
534
|
+
writeFileSync(localPath, JSON.stringify(updatedPlan, null, 2), "utf-8");
|
|
535
|
+
result.pushed++;
|
|
536
|
+
}
|
|
537
|
+
else if (resolution === "server") {
|
|
538
|
+
// Discard local, pull server
|
|
539
|
+
writeFileSync(localPath, JSON.stringify(serverPlan, null, 2), "utf-8");
|
|
540
|
+
result.pulled++;
|
|
541
|
+
}
|
|
542
|
+
else {
|
|
543
|
+
// Abort - keep as conflict
|
|
544
|
+
result.conflicts.push({ id: serverPlan.id, title: serverPlan.title });
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
else {
|
|
548
|
+
// No resolver - report as conflict
|
|
549
|
+
result.conflicts.push({ id: serverPlan.id, title: serverPlan.title });
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
else {
|
|
553
|
+
// No conflict - push local changes to server
|
|
554
|
+
const { plan: updatedPlan } = await pushPlan(localPlan);
|
|
555
|
+
// Update local file with server response (clears _local_modified)
|
|
556
|
+
writeFileSync(localPath, JSON.stringify(updatedPlan, null, 2), "utf-8");
|
|
557
|
+
result.pushed++;
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
else {
|
|
561
|
+
// No local modifications - check if server is newer
|
|
562
|
+
const localTime = new Date(localPlan.updated_at).getTime();
|
|
563
|
+
const serverTime = new Date(serverPlan.updated_at).getTime();
|
|
564
|
+
if (serverTime > localTime) {
|
|
565
|
+
// Server is newer - pull
|
|
566
|
+
writeFileSync(localPath, JSON.stringify(serverPlan, null, 2), "utf-8");
|
|
567
|
+
result.pulled++;
|
|
568
|
+
}
|
|
569
|
+
// Otherwise, already in sync
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
return result;
|
|
573
|
+
}
|
|
574
|
+
export async function syncTasks(planId, options = {}) {
|
|
575
|
+
const fetchTasksFn = options.fetchTasks ?? getTasks;
|
|
576
|
+
const pushTaskFn = options.pushTask ?? updateTask;
|
|
577
|
+
const result = { pulled: 0, pushed: 0, conflicts: [] };
|
|
578
|
+
const cwd = process.cwd();
|
|
579
|
+
const tasksDir = join(cwd, ".convext", "tasks");
|
|
580
|
+
// Ensure tasks directory exists
|
|
581
|
+
mkdirSync(tasksDir, { recursive: true });
|
|
582
|
+
// Fetch tasks from server
|
|
583
|
+
const { tasks: serverTasks } = await fetchTasksFn(planId);
|
|
584
|
+
// Find the most recent task update timestamp
|
|
585
|
+
const latestServerUpdate = serverTasks.reduce((latest, task) => {
|
|
586
|
+
const taskTime = new Date(task.updated_at).getTime();
|
|
587
|
+
return taskTime > latest ? taskTime : latest;
|
|
588
|
+
}, 0);
|
|
589
|
+
const localPath = join(tasksDir, `${planId}.json`);
|
|
590
|
+
// Load existing local tasks for comparison
|
|
591
|
+
let localTasksFile = null;
|
|
592
|
+
if (existsSync(localPath)) {
|
|
593
|
+
try {
|
|
594
|
+
const content = readFileSync(localPath, "utf-8");
|
|
595
|
+
localTasksFile = JSON.parse(content);
|
|
596
|
+
}
|
|
597
|
+
catch {
|
|
598
|
+
// Ignore invalid JSON
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
if (!localTasksFile) {
|
|
602
|
+
// No local file - pull from server
|
|
603
|
+
const newFile = {
|
|
604
|
+
plan_id: planId,
|
|
605
|
+
updated_at: new Date(latestServerUpdate).toISOString(),
|
|
606
|
+
tasks: serverTasks,
|
|
607
|
+
};
|
|
608
|
+
writeFileSync(localPath, JSON.stringify(newFile, null, 2), "utf-8");
|
|
609
|
+
result.pulled = serverTasks.length;
|
|
610
|
+
}
|
|
611
|
+
else if (localTasksFile._local_modified) {
|
|
612
|
+
// Local was modified - check for conflict
|
|
613
|
+
const originalServerTime = localTasksFile._server_updated_at
|
|
614
|
+
? new Date(localTasksFile._server_updated_at).getTime()
|
|
615
|
+
: 0;
|
|
616
|
+
if (originalServerTime && latestServerUpdate > originalServerTime) {
|
|
617
|
+
// Server changed since we pulled - conflict!
|
|
618
|
+
result.conflicts.push({ id: planId, title: `Tasks for plan ${planId}` });
|
|
619
|
+
}
|
|
620
|
+
else {
|
|
621
|
+
// No conflict - push local changes to server
|
|
622
|
+
const updatedTasks = [];
|
|
623
|
+
for (const localTask of localTasksFile.tasks) {
|
|
624
|
+
const { task: updatedTask } = await pushTaskFn(localTask);
|
|
625
|
+
updatedTasks.push(updatedTask);
|
|
626
|
+
result.pushed++;
|
|
627
|
+
}
|
|
628
|
+
// Update local file with server responses (clears _local_modified)
|
|
629
|
+
const newFile = {
|
|
630
|
+
plan_id: planId,
|
|
631
|
+
updated_at: new Date().toISOString(),
|
|
632
|
+
tasks: updatedTasks,
|
|
633
|
+
};
|
|
634
|
+
writeFileSync(localPath, JSON.stringify(newFile, null, 2), "utf-8");
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
else {
|
|
638
|
+
// No local modifications - check if server is newer
|
|
639
|
+
const localTime = new Date(localTasksFile.updated_at).getTime();
|
|
640
|
+
if (latestServerUpdate > localTime) {
|
|
641
|
+
// Server is newer - pull
|
|
642
|
+
const newFile = {
|
|
643
|
+
plan_id: planId,
|
|
644
|
+
updated_at: new Date(latestServerUpdate).toISOString(),
|
|
645
|
+
tasks: serverTasks,
|
|
646
|
+
};
|
|
647
|
+
writeFileSync(localPath, JSON.stringify(newFile, null, 2), "utf-8");
|
|
648
|
+
result.pulled = 1;
|
|
649
|
+
}
|
|
650
|
+
// Otherwise, already in sync
|
|
651
|
+
}
|
|
652
|
+
// Update active_task.json if there's an in_progress task
|
|
653
|
+
const tasksToCheck = localTasksFile?._local_modified ? localTasksFile.tasks : serverTasks;
|
|
654
|
+
const activeTask = tasksToCheck.find((t) => t.status === "in_progress");
|
|
655
|
+
const activeTaskPath = join(cwd, ".convext", "active_task.json");
|
|
656
|
+
if (activeTask) {
|
|
657
|
+
writeFileSync(activeTaskPath, JSON.stringify(activeTask, null, 2), "utf-8");
|
|
658
|
+
}
|
|
659
|
+
return result;
|
|
660
|
+
}
|
|
429
661
|
//# sourceMappingURL=sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type Task, type StartTaskResponse } from "../api.js";
|
|
2
|
+
interface TaskStartOptions {
|
|
3
|
+
taskId: number;
|
|
4
|
+
startTask?: (taskId: number) => Promise<StartTaskResponse>;
|
|
5
|
+
}
|
|
6
|
+
export declare function taskStartCommand(options: TaskStartOptions): Promise<void>;
|
|
7
|
+
interface TaskCompleteOptions {
|
|
8
|
+
commitSha: string;
|
|
9
|
+
pullRequestUrl?: string;
|
|
10
|
+
completeTask?: (taskId: number, commitSha: string, pullRequestUrl?: string) => Promise<{
|
|
11
|
+
task: Task;
|
|
12
|
+
compliance: {
|
|
13
|
+
score: number;
|
|
14
|
+
};
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
17
|
+
export declare function taskCompleteCommand(options: TaskCompleteOptions): Promise<void>;
|
|
18
|
+
interface TaskListOptions {
|
|
19
|
+
planId: number;
|
|
20
|
+
getTasks?: (planId: number) => Promise<{
|
|
21
|
+
tasks: Task[];
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
interface TaskListResult {
|
|
25
|
+
total: number;
|
|
26
|
+
completed: number;
|
|
27
|
+
in_progress: number;
|
|
28
|
+
pending: number;
|
|
29
|
+
}
|
|
30
|
+
export declare function taskListCommand(options: TaskListOptions): Promise<TaskListResult>;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,IAAI,EACT,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAC;AAEnB,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC5D;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C/E;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QACrF,IAAI,EAAE,IAAI,CAAC;QACX,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/B,CAAC,CAAC;CACJ;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCrF;AAED,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAiDvF"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, unlinkSync, mkdirSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import { startTask as apiStartTask, completeTask as apiCompleteTask, getTasks as apiGetTasks, } from "../api.js";
|
|
5
|
+
export async function taskStartCommand(options) {
|
|
6
|
+
const startTaskFn = options.startTask ?? apiStartTask;
|
|
7
|
+
const cwd = process.cwd();
|
|
8
|
+
console.log(chalk.bold(`Starting task ${options.taskId}...\n`));
|
|
9
|
+
const response = await startTaskFn(options.taskId);
|
|
10
|
+
const { task, checklist, rules, next_workflow_step } = response;
|
|
11
|
+
// Write active_task.json
|
|
12
|
+
const convextDir = join(cwd, ".convext");
|
|
13
|
+
mkdirSync(convextDir, { recursive: true });
|
|
14
|
+
const activeTaskPath = join(convextDir, "active_task.json");
|
|
15
|
+
writeFileSync(activeTaskPath, JSON.stringify(task, null, 2), "utf-8");
|
|
16
|
+
// Display task info
|
|
17
|
+
console.log(chalk.green(`✓ Task started: ${task.title}`));
|
|
18
|
+
console.log(chalk.gray(` ID: ${task.id}`));
|
|
19
|
+
console.log(chalk.gray(` Status: ${task.status}`));
|
|
20
|
+
console.log(chalk.gray(` Workflow state: ${task.workflow_state}`));
|
|
21
|
+
// Display checklist
|
|
22
|
+
if (checklist.length > 0) {
|
|
23
|
+
console.log("\n" + chalk.bold("Checklist:"));
|
|
24
|
+
for (const item of checklist) {
|
|
25
|
+
console.log(chalk.cyan(` ☐ ${item}`));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Display applicable rules
|
|
29
|
+
if (rules.length > 0) {
|
|
30
|
+
console.log("\n" + chalk.bold("Applicable Rules:"));
|
|
31
|
+
for (const rule of rules) {
|
|
32
|
+
const severityColor = rule.severity === "critical" ? chalk.red :
|
|
33
|
+
rule.severity === "high" ? chalk.yellow :
|
|
34
|
+
chalk.gray;
|
|
35
|
+
console.log(` ${severityColor(`[${rule.severity}]`)} ${rule.title}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Show next step
|
|
39
|
+
console.log("\n" + chalk.bold("Next Step:"));
|
|
40
|
+
console.log(chalk.cyan(` → ${next_workflow_step}`));
|
|
41
|
+
}
|
|
42
|
+
export async function taskCompleteCommand(options) {
|
|
43
|
+
const completeTaskFn = options.completeTask ?? apiCompleteTask;
|
|
44
|
+
const cwd = process.cwd();
|
|
45
|
+
const activeTaskPath = join(cwd, ".convext", "active_task.json");
|
|
46
|
+
// Check for active task
|
|
47
|
+
if (!existsSync(activeTaskPath)) {
|
|
48
|
+
throw new Error("No active task. Start a task first with: convext task start <task-id>");
|
|
49
|
+
}
|
|
50
|
+
const activeTask = JSON.parse(readFileSync(activeTaskPath, "utf-8"));
|
|
51
|
+
console.log(chalk.bold(`Completing task ${activeTask.id}...\n`));
|
|
52
|
+
const response = await completeTaskFn(activeTask.id, options.commitSha, options.pullRequestUrl);
|
|
53
|
+
const { task, compliance } = response;
|
|
54
|
+
// Remove active_task.json
|
|
55
|
+
unlinkSync(activeTaskPath);
|
|
56
|
+
// Display completion info
|
|
57
|
+
console.log(chalk.green(`✓ Task completed: ${task.title || activeTask.title}`));
|
|
58
|
+
console.log(chalk.gray(` Commit: ${options.commitSha}`));
|
|
59
|
+
if (options.pullRequestUrl) {
|
|
60
|
+
console.log(chalk.gray(` PR: ${options.pullRequestUrl}`));
|
|
61
|
+
}
|
|
62
|
+
// Display compliance score
|
|
63
|
+
const scoreColor = compliance.score >= 90 ? chalk.green :
|
|
64
|
+
compliance.score >= 70 ? chalk.yellow :
|
|
65
|
+
chalk.red;
|
|
66
|
+
console.log("\n" + chalk.bold("Compliance Score:"));
|
|
67
|
+
console.log(` ${scoreColor(`${compliance.score}/100`)}`);
|
|
68
|
+
}
|
|
69
|
+
export async function taskListCommand(options) {
|
|
70
|
+
const getTasksFn = options.getTasks ?? apiGetTasks;
|
|
71
|
+
const { tasks } = await getTasksFn(options.planId);
|
|
72
|
+
const result = {
|
|
73
|
+
total: tasks.length,
|
|
74
|
+
completed: tasks.filter(t => t.status === "completed").length,
|
|
75
|
+
in_progress: tasks.filter(t => t.status === "in_progress").length,
|
|
76
|
+
pending: tasks.filter(t => t.status === "pending").length,
|
|
77
|
+
};
|
|
78
|
+
console.log(chalk.bold(`Tasks for Plan ${options.planId}:\n`));
|
|
79
|
+
if (tasks.length === 0) {
|
|
80
|
+
console.log(chalk.gray(" No tasks found."));
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
// Group tasks by status
|
|
84
|
+
const statuses = ["in_progress", "pending", "completed"];
|
|
85
|
+
for (const status of statuses) {
|
|
86
|
+
const statusTasks = tasks.filter(t => t.status === status);
|
|
87
|
+
if (statusTasks.length === 0)
|
|
88
|
+
continue;
|
|
89
|
+
const statusIcon = status === "completed" ? chalk.green("✓") :
|
|
90
|
+
status === "in_progress" ? chalk.yellow("●") :
|
|
91
|
+
chalk.gray("○");
|
|
92
|
+
const statusLabel = status === "completed" ? chalk.green("Completed") :
|
|
93
|
+
status === "in_progress" ? chalk.yellow("In Progress") :
|
|
94
|
+
chalk.gray("Pending");
|
|
95
|
+
console.log(`${statusIcon} ${statusLabel} (${statusTasks.length}):`);
|
|
96
|
+
for (const task of statusTasks.sort((a, b) => a.position - b.position)) {
|
|
97
|
+
const workflowState = task.workflow_state ? chalk.gray(` [${task.workflow_state}]`) : "";
|
|
98
|
+
console.log(` ${task.id}. ${task.title}${workflowState}`);
|
|
99
|
+
}
|
|
100
|
+
console.log("");
|
|
101
|
+
}
|
|
102
|
+
// Summary
|
|
103
|
+
console.log(chalk.bold("Summary:"));
|
|
104
|
+
console.log(` ${chalk.green(`${result.completed}`)} completed, ${chalk.yellow(`${result.in_progress}`)} in progress, ${chalk.gray(`${result.pending}`)} pending`);
|
|
105
|
+
return result;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface PreCommitHookOptions {
|
|
2
|
+
projectSlug: string;
|
|
3
|
+
requireActiveTask?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function generatePreCommitHook(options: PreCommitHookOptions): string;
|
|
6
|
+
interface InstallOptions extends PreCommitHookOptions {
|
|
7
|
+
force?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function installPreCommitHook(options: InstallOptions): Promise<string>;
|
|
10
|
+
export declare function listInstalledHooks(): string[];
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=preCommitHook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preCommitHook.d.ts","sourceRoot":"","sources":["../../src/utils/preCommitHook.ts"],"names":[],"mappings":"AAGA,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAuC3E;AAED,UAAU,cAAe,SAAQ,oBAAoB;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBnF;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAsB7C"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { existsSync, writeFileSync, chmodSync, readdirSync, renameSync, mkdirSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
export function generatePreCommitHook(options) {
|
|
4
|
+
const { projectSlug, requireActiveTask = false } = options;
|
|
5
|
+
const activeTaskCheck = requireActiveTask
|
|
6
|
+
? `
|
|
7
|
+
# Check for active task
|
|
8
|
+
if [ ! -f ".convext/active_task.json" ]; then
|
|
9
|
+
echo "❌ No active task found."
|
|
10
|
+
echo " Start a task before committing: convext task start <task-id>"
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
`
|
|
14
|
+
: `
|
|
15
|
+
# Optional: Check for active task (warning only)
|
|
16
|
+
if [ ! -f ".convext/active_task.json" ]; then
|
|
17
|
+
echo "⚠️ No active task. Consider starting one: convext task start <task-id>"
|
|
18
|
+
fi
|
|
19
|
+
`;
|
|
20
|
+
return `#!/bin/bash
|
|
21
|
+
# Convext Pre-Commit Hook
|
|
22
|
+
# Generated for project: ${projectSlug}
|
|
23
|
+
#
|
|
24
|
+
# This hook ensures Convext workflow compliance before commits.
|
|
25
|
+
# To skip this hook once: git commit --no-verify
|
|
26
|
+
|
|
27
|
+
set -e
|
|
28
|
+
|
|
29
|
+
echo "🔍 Running Convext pre-commit checks..."
|
|
30
|
+
${activeTaskCheck}
|
|
31
|
+
# Verify active_task.json exists and show current task
|
|
32
|
+
if [ -f ".convext/active_task.json" ]; then
|
|
33
|
+
TASK_ID=$(cat .convext/active_task.json | grep -o '"id":[0-9]*' | head -1 | grep -o '[0-9]*')
|
|
34
|
+
TASK_TITLE=$(cat .convext/active_task.json | grep -o '"title":"[^"]*"' | head -1 | sed 's/"title":"\\(.*\\)"/\\1/')
|
|
35
|
+
echo "✓ Active task: #$TASK_ID - $TASK_TITLE"
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
echo "✓ Pre-commit checks passed"
|
|
39
|
+
`;
|
|
40
|
+
}
|
|
41
|
+
export async function installPreCommitHook(options) {
|
|
42
|
+
const cwd = process.cwd();
|
|
43
|
+
const hooksDir = join(cwd, ".git", "hooks");
|
|
44
|
+
const hookPath = join(hooksDir, "pre-commit");
|
|
45
|
+
// Ensure hooks directory exists
|
|
46
|
+
mkdirSync(hooksDir, { recursive: true });
|
|
47
|
+
// Backup existing hook if present
|
|
48
|
+
if (existsSync(hookPath)) {
|
|
49
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
50
|
+
const backupPath = join(hooksDir, `pre-commit.backup.${timestamp}`);
|
|
51
|
+
renameSync(hookPath, backupPath);
|
|
52
|
+
}
|
|
53
|
+
// Generate and write hook
|
|
54
|
+
const hookContent = generatePreCommitHook(options);
|
|
55
|
+
writeFileSync(hookPath, hookContent, "utf-8");
|
|
56
|
+
// Make executable
|
|
57
|
+
chmodSync(hookPath, 0o755);
|
|
58
|
+
return hookPath;
|
|
59
|
+
}
|
|
60
|
+
export function listInstalledHooks() {
|
|
61
|
+
const cwd = process.cwd();
|
|
62
|
+
const hooksDir = join(cwd, ".git", "hooks");
|
|
63
|
+
if (!existsSync(hooksDir)) {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
const files = readdirSync(hooksDir);
|
|
67
|
+
const convextHooks = files.filter((f) => {
|
|
68
|
+
if (f.includes(".backup") || f.includes(".sample"))
|
|
69
|
+
return false;
|
|
70
|
+
const hookPath = join(hooksDir, f);
|
|
71
|
+
try {
|
|
72
|
+
const { readFileSync } = require("node:fs");
|
|
73
|
+
const content = readFileSync(hookPath, "utf-8");
|
|
74
|
+
return content.includes("Convext");
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
return convextHooks;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=preCommitHook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preCommitHook.js","sourceRoot":"","sources":["../../src/utils/preCommitHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAC;AAO1C,MAAM,UAAU,qBAAqB,CAAC,OAA6B;IACjE,MAAM,EAAE,WAAW,EAAE,iBAAiB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAE3D,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC;;;;;;;CAOL;QACG,CAAC,CAAC;;;;;CAKL,CAAC;IAEA,OAAO;;2BAEkB,WAAW;;;;;;;;EAQpC,eAAe;;;;;;;;;CAShB,CAAC;AACF,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAuB;IAChE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE9C,gCAAgC;IAChC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,kCAAkC;IAClC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,qBAAqB,SAAS,EAAE,CAAC,CAAC;QACpE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,0BAA0B;IAC1B,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACnD,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAE9C,kBAAkB;IAClB,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE3B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACtC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC"}
|