Adjusts the readmes and cursor rule.
This commit is contained in:
@@ -11,6 +11,7 @@ alwaysApply: true
|
|||||||
- Select tasks based on dependencies (all marked 'done'), priority level, and ID order
|
- Select tasks based on dependencies (all marked 'done'), priority level, and ID order
|
||||||
- Clarify tasks by checking task files in tasks/ directory or asking for user input
|
- Clarify tasks by checking task files in tasks/ directory or asking for user input
|
||||||
- Break down complex tasks using `node scripts/dev.js expand --id=<id>` with appropriate flags
|
- Break down complex tasks using `node scripts/dev.js expand --id=<id>` with appropriate flags
|
||||||
|
- Clear existing subtasks if needed using `node scripts/dev.js clear-subtasks --id=<id>` before regenerating
|
||||||
- Implement code following task details, dependencies, and project standards
|
- Implement code following task details, dependencies, and project standards
|
||||||
- Verify tasks according to test strategies before marking as complete
|
- Verify tasks according to test strategies before marking as complete
|
||||||
- Mark completed tasks with `node scripts/dev.js set-status --id=<id> --status=done`
|
- Mark completed tasks with `node scripts/dev.js set-status --id=<id> --status=done`
|
||||||
@@ -33,6 +34,7 @@ alwaysApply: true
|
|||||||
- Use `--prompt="<context>"` to provide additional context when needed
|
- Use `--prompt="<context>"` to provide additional context when needed
|
||||||
- Review and adjust generated subtasks as necessary
|
- Review and adjust generated subtasks as necessary
|
||||||
- Use `--all` flag to expand multiple pending tasks at once
|
- Use `--all` flag to expand multiple pending tasks at once
|
||||||
|
- If subtasks need regeneration, clear them first with `clear-subtasks` command
|
||||||
|
|
||||||
- **Implementation Drift Handling**
|
- **Implementation Drift Handling**
|
||||||
- When implementation differs significantly from planned approach
|
- When implementation differs significantly from planned approach
|
||||||
@@ -126,6 +128,21 @@ alwaysApply: true
|
|||||||
- Example: `node scripts/dev.js analyze-complexity --research`
|
- Example: `node scripts/dev.js analyze-complexity --research`
|
||||||
- Notes: Report includes complexity scores, recommended subtasks, and tailored prompts.
|
- Notes: Report includes complexity scores, recommended subtasks, and tailored prompts.
|
||||||
|
|
||||||
|
- **Command Reference: clear-subtasks**
|
||||||
|
- Syntax: `node scripts/dev.js clear-subtasks --id=<id>`
|
||||||
|
- Description: Removes subtasks from specified tasks to allow regeneration
|
||||||
|
- Parameters:
|
||||||
|
- `--id=<id>`: ID or comma-separated IDs of tasks to clear subtasks from
|
||||||
|
- `--all`: Clear subtasks from all tasks
|
||||||
|
- Examples:
|
||||||
|
- `node scripts/dev.js clear-subtasks --id=3`
|
||||||
|
- `node scripts/dev.js clear-subtasks --id=1,2,3`
|
||||||
|
- `node scripts/dev.js clear-subtasks --all`
|
||||||
|
- Notes:
|
||||||
|
- Task files are automatically regenerated after clearing subtasks
|
||||||
|
- Can be combined with expand command to immediately generate new subtasks
|
||||||
|
- Works with both parent tasks and individual subtasks
|
||||||
|
|
||||||
- **Task Structure Fields**
|
- **Task Structure Fields**
|
||||||
- **id**: Unique identifier for the task (Example: `1`)
|
- **id**: Unique identifier for the task (Example: `1`)
|
||||||
- **title**: Brief, descriptive title (Example: `"Initialize Repo"`)
|
- **title**: Brief, descriptive title (Example: `"Initialize Repo"`)
|
||||||
|
|||||||
@@ -300,6 +300,18 @@ or
|
|||||||
npm run dev -- expand --all --research
|
npm run dev -- expand --all --research
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Clear Subtasks
|
||||||
|
```bash
|
||||||
|
# Clear subtasks from a specific task
|
||||||
|
npm run dev -- clear-subtasks --id=<id>
|
||||||
|
|
||||||
|
# Clear subtasks from multiple tasks
|
||||||
|
npm run dev -- clear-subtasks --id=1,2,3
|
||||||
|
|
||||||
|
# Clear subtasks from all tasks
|
||||||
|
npm run dev -- clear-subtasks --all
|
||||||
|
```
|
||||||
|
|
||||||
## Task Structure
|
## Task Structure
|
||||||
|
|
||||||
Tasks in tasks.json have the following structure:
|
Tasks in tasks.json have the following structure:
|
||||||
@@ -348,6 +360,11 @@ What's the next task I should work on? Please consider dependencies and prioriti
|
|||||||
I'd like to implement task 4. Can you help me understand what needs to be done and how to approach it?
|
I'd like to implement task 4. Can you help me understand what needs to be done and how to approach it?
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Managing subtasks
|
||||||
|
```
|
||||||
|
I need to regenerate the subtasks for task 3 with a different approach. Can you help me clear and regenerate them?
|
||||||
|
```
|
||||||
|
|
||||||
### Handling changes
|
### Handling changes
|
||||||
```
|
```
|
||||||
We've decided to use MongoDB instead of PostgreSQL. Can you update all future tasks to reflect this change?
|
We've decided to use MongoDB instead of PostgreSQL. Can you update all future tasks to reflect this change?
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ In an AI-driven development process—particularly with tools like [Cursor](http
|
|||||||
5. **Set task status**—mark tasks as `done`, `pending`, or `deferred` based on progress.
|
5. **Set task status**—mark tasks as `done`, `pending`, or `deferred` based on progress.
|
||||||
6. **Expand** tasks with subtasks—break down complex tasks into smaller, more manageable subtasks.
|
6. **Expand** tasks with subtasks—break down complex tasks into smaller, more manageable subtasks.
|
||||||
7. **Research-backed subtask generation**—use Perplexity AI to generate more informed and contextually relevant subtasks.
|
7. **Research-backed subtask generation**—use Perplexity AI to generate more informed and contextually relevant subtasks.
|
||||||
|
8. **Clear subtasks**—remove subtasks from specified tasks to allow regeneration or restructuring.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
@@ -56,6 +57,7 @@ The script can be configured through environment variables in a `.env` file at t
|
|||||||
- `generate`: Create individual task files
|
- `generate`: Create individual task files
|
||||||
- `set-status`: Change a task's status
|
- `set-status`: Change a task's status
|
||||||
- `expand`: Add subtasks to a task or all tasks
|
- `expand`: Add subtasks to a task or all tasks
|
||||||
|
- `clear-subtasks`: Remove subtasks from specified tasks
|
||||||
|
|
||||||
Run `node scripts/dev.js` without arguments to see detailed usage information.
|
Run `node scripts/dev.js` without arguments to see detailed usage information.
|
||||||
|
|
||||||
@@ -148,12 +150,26 @@ node scripts/dev.js expand --id=3 --research
|
|||||||
node scripts/dev.js expand --all --research
|
node scripts/dev.js expand --all --research
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Clearing Subtasks
|
||||||
|
|
||||||
|
The `clear-subtasks` command allows you to remove subtasks from specified tasks:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Clear subtasks from a specific task
|
||||||
|
node scripts/dev.js clear-subtasks --id=3
|
||||||
|
|
||||||
|
# Clear subtasks from multiple tasks
|
||||||
|
node scripts/dev.js clear-subtasks --id=1,2,3
|
||||||
|
|
||||||
|
# Clear subtasks from all tasks
|
||||||
|
node scripts/dev.js clear-subtasks --all
|
||||||
|
```
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
- Tasks marked as 'done' or 'completed' are always skipped
|
- After clearing subtasks, task files are automatically regenerated
|
||||||
- By default, tasks that already have subtasks are skipped unless `--force` is used
|
- This is useful when you want to regenerate subtasks with a different approach
|
||||||
- Subtasks include title, description, dependencies, and acceptance criteria
|
- Can be combined with the `expand` command to immediately generate new subtasks
|
||||||
- The `--research` flag uses Perplexity AI to generate more informed and contextually relevant subtasks
|
- Works with both parent tasks and individual subtasks
|
||||||
- If Perplexity API is unavailable, the script will fall back to using Anthropic's Claude
|
|
||||||
|
|
||||||
## AI Integration
|
## AI Integration
|
||||||
|
|
||||||
|
|||||||
@@ -300,6 +300,18 @@ or
|
|||||||
npm run dev -- expand --all --research
|
npm run dev -- expand --all --research
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Clear Subtasks
|
||||||
|
```bash
|
||||||
|
# Clear subtasks from a specific task
|
||||||
|
npm run dev -- clear-subtasks --id=<id>
|
||||||
|
|
||||||
|
# Clear subtasks from multiple tasks
|
||||||
|
npm run dev -- clear-subtasks --id=1,2,3
|
||||||
|
|
||||||
|
# Clear subtasks from all tasks
|
||||||
|
npm run dev -- clear-subtasks --all
|
||||||
|
```
|
||||||
|
|
||||||
## Task Structure
|
## Task Structure
|
||||||
|
|
||||||
Tasks in tasks.json have the following structure:
|
Tasks in tasks.json have the following structure:
|
||||||
@@ -348,6 +360,11 @@ What's the next task I should work on? Please consider dependencies and prioriti
|
|||||||
I'd like to implement task 4. Can you help me understand what needs to be done and how to approach it?
|
I'd like to implement task 4. Can you help me understand what needs to be done and how to approach it?
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Managing subtasks
|
||||||
|
```
|
||||||
|
I need to regenerate the subtasks for task 3 with a different approach. Can you help me clear and regenerate them?
|
||||||
|
```
|
||||||
|
|
||||||
### Handling changes
|
### Handling changes
|
||||||
```
|
```
|
||||||
We've decided to use MongoDB instead of PostgreSQL. Can you update all future tasks to reflect this change?
|
We've decided to use MongoDB instead of PostgreSQL. Can you update all future tasks to reflect this change?
|
||||||
|
|||||||
102
templates/dev.js
102
templates/dev.js
@@ -19,7 +19,7 @@
|
|||||||
* 4) set-status --id=4 --status=done
|
* 4) set-status --id=4 --status=done
|
||||||
* -> Updates a single task's status to done (or pending, deferred, in-progress, etc.).
|
* -> Updates a single task's status to done (or pending, deferred, in-progress, etc.).
|
||||||
* -> Supports comma-separated IDs for updating multiple tasks: --id=1,2,3,1.1,1.2
|
* -> Supports comma-separated IDs for updating multiple tasks: --id=1,2,3,1.1,1.2
|
||||||
*
|
* -> If you set the status of a parent task to done, all its subtasks will be set to done.
|
||||||
* 5) list
|
* 5) list
|
||||||
* -> Lists tasks in a brief console view (ID, title, status).
|
* -> Lists tasks in a brief console view (ID, title, status).
|
||||||
*
|
*
|
||||||
@@ -52,6 +52,11 @@
|
|||||||
* --file, -f <path>: Use alternative tasks.json file instead of default
|
* --file, -f <path>: Use alternative tasks.json file instead of default
|
||||||
* --research, -r: Use Perplexity AI for research-backed complexity analysis
|
* --research, -r: Use Perplexity AI for research-backed complexity analysis
|
||||||
*
|
*
|
||||||
|
* 8) clear-subtasks
|
||||||
|
* -> Clears subtasks from specified tasks
|
||||||
|
* -> Supports comma-separated IDs for clearing multiple tasks: --id=1,2,3,1.1,1.2
|
||||||
|
* -> Use --all to clear subtasks from all tasks
|
||||||
|
*
|
||||||
* Usage examples:
|
* Usage examples:
|
||||||
* node dev.js parse-prd --input=sample-prd.txt
|
* node dev.js parse-prd --input=sample-prd.txt
|
||||||
* node dev.js parse-prd --input=sample-prd.txt --tasks=10
|
* node dev.js parse-prd --input=sample-prd.txt --tasks=10
|
||||||
@@ -67,6 +72,7 @@
|
|||||||
* node dev.js analyze-complexity --output=custom-report.json
|
* node dev.js analyze-complexity --output=custom-report.json
|
||||||
* node dev.js analyze-complexity --threshold=6 --model=claude-3.7-sonnet
|
* node dev.js analyze-complexity --threshold=6 --model=claude-3.7-sonnet
|
||||||
* node dev.js analyze-complexity --research
|
* node dev.js analyze-complexity --research
|
||||||
|
* node dev.js clear-subtasks --id=1,2,3 --all
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
@@ -527,6 +533,11 @@ async function updateTasks(tasksPath, fromId, prompt) {
|
|||||||
|
|
||||||
writeJSON(tasksPath, data);
|
writeJSON(tasksPath, data);
|
||||||
log('info', "Tasks updated successfully.");
|
log('info', "Tasks updated successfully.");
|
||||||
|
|
||||||
|
// Add call to generate task files
|
||||||
|
log('info', "Regenerating task files...");
|
||||||
|
await generateTaskFiles(tasksPath, path.dirname(tasksPath));
|
||||||
|
|
||||||
} catch (parseError) {
|
} catch (parseError) {
|
||||||
log('error', "Failed to parse Claude's response as JSON:", parseError);
|
log('error', "Failed to parse Claude's response as JSON:", parseError);
|
||||||
log('debug', "Response content:", fullResponse);
|
log('debug', "Response content:", fullResponse);
|
||||||
@@ -665,6 +676,10 @@ function setTaskStatus(tasksPath, taskIdInput, newStatus) {
|
|||||||
writeJSON(tasksPath, data);
|
writeJSON(tasksPath, data);
|
||||||
log('info', `Updated subtask ${parentId}.${subtaskId} status from '${oldStatus}' to '${newStatus}'`);
|
log('info', `Updated subtask ${parentId}.${subtaskId} status from '${oldStatus}' to '${newStatus}'`);
|
||||||
|
|
||||||
|
// Add call to generate task files
|
||||||
|
log('info', "Regenerating task files...");
|
||||||
|
generateTaskFiles(tasksPath, path.dirname(tasksPath));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -700,6 +715,10 @@ function setTaskStatus(tasksPath, taskIdInput, newStatus) {
|
|||||||
// Save the changes
|
// Save the changes
|
||||||
writeJSON(tasksPath, data);
|
writeJSON(tasksPath, data);
|
||||||
log('info', `Updated task ${taskId} status from '${oldStatus}' to '${newStatus}'`);
|
log('info', `Updated task ${taskId} status from '${oldStatus}' to '${newStatus}'`);
|
||||||
|
|
||||||
|
// Add call to generate task files
|
||||||
|
log('info', "Regenerating task files...");
|
||||||
|
generateTaskFiles(tasksPath, path.dirname(tasksPath));
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -1711,6 +1730,36 @@ async function main() {
|
|||||||
await analyzeTaskComplexity(options);
|
await analyzeTaskComplexity(options);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
program
|
||||||
|
.command('clear-subtasks')
|
||||||
|
.description('Clear subtasks from specified tasks')
|
||||||
|
.option('-f, --file <file>', 'Path to the tasks file', 'tasks/tasks.json')
|
||||||
|
.option('-i, --id <ids>', 'Task IDs (comma-separated) to clear subtasks from')
|
||||||
|
.option('--all', 'Clear subtasks from all tasks')
|
||||||
|
.action(async (options) => {
|
||||||
|
const tasksPath = options.file;
|
||||||
|
const taskIds = options.id;
|
||||||
|
const all = options.all;
|
||||||
|
|
||||||
|
if (!taskIds && !all) {
|
||||||
|
console.error(chalk.red('Error: Please specify task IDs with --id=<ids> or use --all to clear all tasks'));
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (all) {
|
||||||
|
// If --all is specified, get all task IDs
|
||||||
|
const data = readJSON(tasksPath);
|
||||||
|
if (!data || !data.tasks) {
|
||||||
|
console.error(chalk.red('Error: No valid tasks found'));
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
const allIds = data.tasks.map(t => t.id).join(',');
|
||||||
|
clearSubtasks(tasksPath, allIds);
|
||||||
|
} else {
|
||||||
|
clearSubtasks(tasksPath, taskIds);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
await program.parseAsync(process.argv);
|
await program.parseAsync(process.argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2321,6 +2370,57 @@ function findTaskInComplexityReport(report, taskId) {
|
|||||||
return report.complexityAnalysis.find(task => task.taskId === taskId);
|
return report.complexityAnalysis.find(task => task.taskId === taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Clear subtasks from tasks
|
||||||
|
//
|
||||||
|
function clearSubtasks(tasksPath, taskIds) {
|
||||||
|
log('info', `Reading tasks from ${tasksPath}...`);
|
||||||
|
const data = readJSON(tasksPath);
|
||||||
|
if (!data || !data.tasks) {
|
||||||
|
log('error', "No valid tasks found.");
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle multiple task IDs (comma-separated)
|
||||||
|
const taskIdArray = taskIds.split(',').map(id => id.trim());
|
||||||
|
let clearedCount = 0;
|
||||||
|
|
||||||
|
taskIdArray.forEach(taskId => {
|
||||||
|
const id = parseInt(taskId, 10);
|
||||||
|
if (isNaN(id)) {
|
||||||
|
log('error', `Invalid task ID: ${taskId}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const task = data.tasks.find(t => t.id === id);
|
||||||
|
if (!task) {
|
||||||
|
log('error', `Task ${id} not found`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!task.subtasks || task.subtasks.length === 0) {
|
||||||
|
log('info', `Task ${id} has no subtasks to clear`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const subtaskCount = task.subtasks.length;
|
||||||
|
task.subtasks = [];
|
||||||
|
clearedCount++;
|
||||||
|
log('info', `Cleared ${subtaskCount} subtasks from task ${id}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (clearedCount > 0) {
|
||||||
|
writeJSON(tasksPath, data);
|
||||||
|
log('info', `Successfully cleared subtasks from ${clearedCount} task(s)`);
|
||||||
|
|
||||||
|
// Regenerate task files to reflect changes
|
||||||
|
log('info', "Regenerating task files...");
|
||||||
|
generateTaskFiles(tasksPath, path.dirname(tasksPath));
|
||||||
|
} else {
|
||||||
|
log('info', "No subtasks were cleared");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
main().catch(err => {
|
main().catch(err => {
|
||||||
log('error', err);
|
log('error', err);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ alwaysApply: true
|
|||||||
- Select tasks based on dependencies (all marked 'done'), priority level, and ID order
|
- Select tasks based on dependencies (all marked 'done'), priority level, and ID order
|
||||||
- Clarify tasks by checking task files in tasks/ directory or asking for user input
|
- Clarify tasks by checking task files in tasks/ directory or asking for user input
|
||||||
- Break down complex tasks using `node scripts/dev.js expand --id=<id>` with appropriate flags
|
- Break down complex tasks using `node scripts/dev.js expand --id=<id>` with appropriate flags
|
||||||
|
- Clear existing subtasks if needed using `node scripts/dev.js clear-subtasks --id=<id>` before regenerating
|
||||||
- Implement code following task details, dependencies, and project standards
|
- Implement code following task details, dependencies, and project standards
|
||||||
- Verify tasks according to test strategies before marking as complete
|
- Verify tasks according to test strategies before marking as complete
|
||||||
- Mark completed tasks with `node scripts/dev.js set-status --id=<id> --status=done`
|
- Mark completed tasks with `node scripts/dev.js set-status --id=<id> --status=done`
|
||||||
@@ -33,6 +34,7 @@ alwaysApply: true
|
|||||||
- Use `--prompt="<context>"` to provide additional context when needed
|
- Use `--prompt="<context>"` to provide additional context when needed
|
||||||
- Review and adjust generated subtasks as necessary
|
- Review and adjust generated subtasks as necessary
|
||||||
- Use `--all` flag to expand multiple pending tasks at once
|
- Use `--all` flag to expand multiple pending tasks at once
|
||||||
|
- If subtasks need regeneration, clear them first with `clear-subtasks` command
|
||||||
|
|
||||||
- **Implementation Drift Handling**
|
- **Implementation Drift Handling**
|
||||||
- When implementation differs significantly from planned approach
|
- When implementation differs significantly from planned approach
|
||||||
@@ -126,6 +128,21 @@ alwaysApply: true
|
|||||||
- Example: `node scripts/dev.js analyze-complexity --research`
|
- Example: `node scripts/dev.js analyze-complexity --research`
|
||||||
- Notes: Report includes complexity scores, recommended subtasks, and tailored prompts.
|
- Notes: Report includes complexity scores, recommended subtasks, and tailored prompts.
|
||||||
|
|
||||||
|
- **Command Reference: clear-subtasks**
|
||||||
|
- Syntax: `node scripts/dev.js clear-subtasks --id=<id>`
|
||||||
|
- Description: Removes subtasks from specified tasks to allow regeneration
|
||||||
|
- Parameters:
|
||||||
|
- `--id=<id>`: ID or comma-separated IDs of tasks to clear subtasks from
|
||||||
|
- `--all`: Clear subtasks from all tasks
|
||||||
|
- Examples:
|
||||||
|
- `node scripts/dev.js clear-subtasks --id=3`
|
||||||
|
- `node scripts/dev.js clear-subtasks --id=1,2,3`
|
||||||
|
- `node scripts/dev.js clear-subtasks --all`
|
||||||
|
- Notes:
|
||||||
|
- Task files are automatically regenerated after clearing subtasks
|
||||||
|
- Can be combined with expand command to immediately generate new subtasks
|
||||||
|
- Works with both parent tasks and individual subtasks
|
||||||
|
|
||||||
- **Task Structure Fields**
|
- **Task Structure Fields**
|
||||||
- **id**: Unique identifier for the task (Example: `1`)
|
- **id**: Unique identifier for the task (Example: `1`)
|
||||||
- **title**: Brief, descriptive title (Example: `"Initialize Repo"`)
|
- **title**: Brief, descriptive title (Example: `"Initialize Repo"`)
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ In an AI-driven development process—particularly with tools like [Cursor](http
|
|||||||
5. **Set task status**—mark tasks as `done`, `pending`, or `deferred` based on progress.
|
5. **Set task status**—mark tasks as `done`, `pending`, or `deferred` based on progress.
|
||||||
6. **Expand** tasks with subtasks—break down complex tasks into smaller, more manageable subtasks.
|
6. **Expand** tasks with subtasks—break down complex tasks into smaller, more manageable subtasks.
|
||||||
7. **Research-backed subtask generation**—use Perplexity AI to generate more informed and contextually relevant subtasks.
|
7. **Research-backed subtask generation**—use Perplexity AI to generate more informed and contextually relevant subtasks.
|
||||||
|
8. **Clear subtasks**—remove subtasks from specified tasks to allow regeneration or restructuring.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
@@ -56,6 +57,7 @@ The script can be configured through environment variables in a `.env` file at t
|
|||||||
- `generate`: Create individual task files
|
- `generate`: Create individual task files
|
||||||
- `set-status`: Change a task's status
|
- `set-status`: Change a task's status
|
||||||
- `expand`: Add subtasks to a task or all tasks
|
- `expand`: Add subtasks to a task or all tasks
|
||||||
|
- `clear-subtasks`: Remove subtasks from specified tasks
|
||||||
|
|
||||||
Run `node scripts/dev.js` without arguments to see detailed usage information.
|
Run `node scripts/dev.js` without arguments to see detailed usage information.
|
||||||
|
|
||||||
@@ -148,12 +150,26 @@ node scripts/dev.js expand --id=3 --research
|
|||||||
node scripts/dev.js expand --all --research
|
node scripts/dev.js expand --all --research
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Clearing Subtasks
|
||||||
|
|
||||||
|
The `clear-subtasks` command allows you to remove subtasks from specified tasks:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Clear subtasks from a specific task
|
||||||
|
node scripts/dev.js clear-subtasks --id=3
|
||||||
|
|
||||||
|
# Clear subtasks from multiple tasks
|
||||||
|
node scripts/dev.js clear-subtasks --id=1,2,3
|
||||||
|
|
||||||
|
# Clear subtasks from all tasks
|
||||||
|
node scripts/dev.js clear-subtasks --all
|
||||||
|
```
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
- Tasks marked as 'done' or 'completed' are always skipped
|
- After clearing subtasks, task files are automatically regenerated
|
||||||
- By default, tasks that already have subtasks are skipped unless `--force` is used
|
- This is useful when you want to regenerate subtasks with a different approach
|
||||||
- Subtasks include title, description, dependencies, and acceptance criteria
|
- Can be combined with the `expand` command to immediately generate new subtasks
|
||||||
- The `--research` flag uses Perplexity AI to generate more informed and contextually relevant subtasks
|
- Works with both parent tasks and individual subtasks
|
||||||
- If Perplexity API is unavailable, the script will fall back to using Anthropic's Claude
|
|
||||||
|
|
||||||
## AI Integration
|
## AI Integration
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user