Skip to content

Instantly share code, notes, and snippets.

@InTEGr8or
Last active January 29, 2025 01:35
Show Gist options
  • Save InTEGr8or/922607c0f1f2301630bc9bac1d42b8ca to your computer and use it in GitHub Desktop.
Save InTEGr8or/922607c0f1f2301630bc9bac1d42b8ca to your computer and use it in GitHub Desktop.
Restart Cline with up-to-date project status.
function displayImplementationStatus(progress, showOnlyIncomplete) {
const branch = 'current-branch'; // placeholder
console.log(`
VSCode Context Client Implementation Status (Branch: ${branch})
${showOnlyIncomplete ? '(Showing only incomplete items)' : ''}
=========================================================
`);
progress.sections.forEach((section) => {
// Filter incomplete items for each subsection
const incompleteSubsections = section.subsections
.map((subsection) => ({
title: subsection.title,
items: subsection.items.filter((item) =>
showOnlyIncomplete ? item.status !== 'completed' : true,
),
}))
.filter((subsection) => subsection.items.length > 0);
// Skip section if no incomplete items and we're only showing incomplete
if (showOnlyIncomplete && incompleteSubsections.length === 0) {
return;
}
console.log(` ${section.title}`);
console.log(` ----------------------------`);
incompleteSubsections.forEach((subsection) => {
console.log(` ${subsection.title}:`);
subsection.items.forEach((item) => {
let statusIcon = '';
if (item.status === 'completed') {
statusIcon = '✅';
} else if (item.status === 'not implemented') {
statusIcon = '❌';
} else if (item.status === 'partially implemented') {
statusIcon = '⚠️';
}
console.log(` ${statusIcon} ${item.description} (${item.status})`);
});
});
console.log('');
});
}
async function main() {
try {
// Validate repository access before proceeding
validateRepositories();
const progress = await getChecklistProgress(IMPLEMENTATION_STATUS_PATH);
if (progress && progress.error) {
throw new Error(`Failed to get checklist progress: ${progress.error}`);
}
displayImplementationStatus(progress, showOnlyIncomplete);
} catch (error) {
console.error(
'Error:',
error instanceof Error ? error.message : String(error),
);
process.exit(1);
}
}
// Run the script
main().catch((error) => {
console.error(
'Unhandled error:',
error instanceof Error ? error.message : String(error),
);
process.exit(1);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment