mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-07 01:33:31 +08:00
- Fix read-after-write in session-start.mjs: read prevSession BEFORE
overwriting current-session.json so unsaved-session detection fires
- Fix shell injection in resume.mjs: replace execSync shell string with
fs.existsSync for directory existence check
- Fix shell injection in shared.mjs gitSummary: replace nested \$(git ...)
subshell with a separate runGit() call to get rev count
- Fix displayName never shown: render functions now use ctx.displayName
?? ctx.name so user-supplied names show instead of the slug
- Fix renderListTable: uses context.displayName ?? entry.name
- Fix init.mjs: use path.basename() instead of cwd.split('/').pop()
- Fix save.mjs confirmation: show original name, not contextDir slug
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37 lines
946 B
JavaScript
37 lines
946 B
JavaScript
#!/usr/bin/env node
|
|
/**
|
|
* ck — Context Keeper v2
|
|
* resume.mjs — full project briefing
|
|
*
|
|
* Usage: node resume.mjs [name|number]
|
|
* stdout: bordered briefing box
|
|
* exit 0: success exit 1: not found
|
|
*/
|
|
|
|
import { existsSync } from 'fs';
|
|
import { resolveContext, renderBriefingBox } from './shared.mjs';
|
|
|
|
const arg = process.argv[2];
|
|
const cwd = process.env.PWD || process.cwd();
|
|
|
|
const resolved = resolveContext(arg, cwd);
|
|
if (!resolved) {
|
|
const hint = arg ? `No project matching "${arg}".` : 'This directory is not registered.';
|
|
console.log(`${hint} Run /ck:init to register it.`);
|
|
process.exit(1);
|
|
}
|
|
|
|
const { context, projectPath } = resolved;
|
|
|
|
// Attempt to cd to the project path
|
|
if (projectPath && projectPath !== cwd) {
|
|
if (existsSync(projectPath)) {
|
|
console.log(`→ cd ${projectPath}`);
|
|
} else {
|
|
console.log(`⚠ Path not found: ${projectPath}`);
|
|
}
|
|
}
|
|
|
|
console.log('');
|
|
console.log(renderBriefingBox(context));
|