feat: Improved the CLI user interface to suggest generating a complexity report if it is missing, instead of showing an error. (#1043)

* feat: fix CLI UI error when trying to display non-existent complexity report

* chore: fix git issue

* chore: run format

* Update .changeset/thick-squids-attend.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update .changeset/thick-squids-attend.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update .changeset/thick-squids-attend.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
Ralph Khreish
2025-07-24 16:50:18 +03:00
parent 722b6c5836
commit 1bb81b7053
2 changed files with 9 additions and 10 deletions

View File

@@ -0,0 +1,5 @@
---
"task-master-ai": minor
---
Prompt to generate a complexity report when it is missing

View File

@@ -9,6 +9,7 @@ import boxen from 'boxen';
import ora from 'ora';
import Table from 'cli-table3';
import gradient from 'gradient-string';
import readline from 'readline';
import {
log,
findTaskById,
@@ -1682,18 +1683,15 @@ async function displayComplexityReport(reportPath) {
)
);
const readline = require('readline').createInterface({
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const answer = await new Promise((resolve) => {
readline.question(
chalk.cyan('Generate complexity report? (y/n): '),
resolve
);
rl.question(chalk.cyan('Generate complexity report? (y/n): '), resolve);
});
readline.close();
rl.close();
if (answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes') {
// Call the analyze-complexity command
@@ -1974,8 +1972,6 @@ async function confirmTaskOverwrite(tasksPath) {
)
);
// Use dynamic import to get the readline module
const readline = await import('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
@@ -2463,8 +2459,6 @@ async function displayMultipleTasksSummary(
)
);
// Use dynamic import for readline
const readline = await import('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout