mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-11 02:33:51 +08:00
Enhance project management workflow by introducing dual file system for project guidelines and tech analysis
- Updated workflow initialization to create `.workflow/project-tech.json` and `.workflow/project-guidelines.json` for comprehensive project understanding. - Added mandatory context reading steps in various commands to ensure compliance with user-defined constraints and technology stack. - Implemented a new command `/workflow:session:solidify` to capture session learnings and solidify them into project guidelines. - Introduced a detail action in issue management to retrieve task details without altering status. - Enhanced documentation across multiple workflow commands to reflect changes in project structure and guidelines.
This commit is contained in:
@@ -1192,6 +1192,48 @@ async function nextAction(itemId: string | undefined, options: IssueOptions): Pr
|
||||
}, null, 2));
|
||||
}
|
||||
|
||||
/**
|
||||
* detail - Get task details by item_id (READ-ONLY, does NOT change status)
|
||||
* Used for parallel execution: orchestrator gets dag, then dispatches with detail <id>
|
||||
*/
|
||||
async function detailAction(itemId: string | undefined, options: IssueOptions): Promise<void> {
|
||||
if (!itemId) {
|
||||
console.log(JSON.stringify({ status: 'error', message: 'item_id is required' }));
|
||||
return;
|
||||
}
|
||||
|
||||
const queue = readActiveQueue();
|
||||
const queueItem = queue.tasks.find(t => t.item_id === itemId);
|
||||
|
||||
if (!queueItem) {
|
||||
console.log(JSON.stringify({ status: 'error', message: `Task ${itemId} not found` }));
|
||||
return;
|
||||
}
|
||||
|
||||
// Load task definition from solution
|
||||
const solution = findSolution(queueItem.issue_id, queueItem.solution_id);
|
||||
const taskDef = solution?.tasks.find(t => t.id === queueItem.task_id);
|
||||
|
||||
if (!taskDef) {
|
||||
console.log(JSON.stringify({ status: 'error', message: 'Task definition not found in solution' }));
|
||||
return;
|
||||
}
|
||||
|
||||
// Return full task info (READ-ONLY - no status update)
|
||||
console.log(JSON.stringify({
|
||||
item_id: queueItem.item_id,
|
||||
issue_id: queueItem.issue_id,
|
||||
solution_id: queueItem.solution_id,
|
||||
status: queueItem.status,
|
||||
task: taskDef,
|
||||
context: solution?.exploration_context || {},
|
||||
execution_hints: {
|
||||
executor: queueItem.assigned_executor,
|
||||
estimated_minutes: taskDef.estimated_minutes || 30
|
||||
}
|
||||
}, null, 2));
|
||||
}
|
||||
|
||||
/**
|
||||
* done - Mark task completed or failed
|
||||
*/
|
||||
@@ -1333,6 +1375,9 @@ export async function issueCommand(
|
||||
case 'next':
|
||||
await nextAction(argsArray[0], options);
|
||||
break;
|
||||
case 'detail':
|
||||
await detailAction(argsArray[0], options);
|
||||
break;
|
||||
case 'done':
|
||||
await doneAction(argsArray[0], options);
|
||||
break;
|
||||
@@ -1370,7 +1415,8 @@ export async function issueCommand(
|
||||
console.log(chalk.gray(' retry [issue-id] Retry failed tasks'));
|
||||
console.log();
|
||||
console.log(chalk.bold('Execution Endpoints:'));
|
||||
console.log(chalk.gray(' next [item-id] Get task by ID or next ready task (JSON)'));
|
||||
console.log(chalk.gray(' next [item-id] Get & mark task executing (JSON)'));
|
||||
console.log(chalk.gray(' detail <item-id> Get task details (READ-ONLY, for parallel)'));
|
||||
console.log(chalk.gray(' done <item-id> Mark task completed'));
|
||||
console.log(chalk.gray(' done <item-id> --fail Mark task failed'));
|
||||
console.log();
|
||||
|
||||
Reference in New Issue
Block a user