#!/usr/bin/env node
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const trackerPath = path.join(__dirname, '../templates/INSTANCE_TRACKER.json');
function getNextInstanceNumber() {
if (!fs.existsSync(trackerPath)) {
return 1;
}
const tracker = JSON.parse(fs.readFileSync(trackerPath, 'utf8'));
return tracker.currentInstance + 1;
}
function updateInstanceTracker(instanceNumber, details) {
const tracker = JSON.parse(fs.readFileSync(trackerPath, 'utf8'));
tracker.previousInstance = tracker.currentInstance;
tracker.currentInstance = instanceNumber;
if (details) {
tracker.instanceHistory.push({
...details,
instanceNumber,
startDate: new Date().toISOString().split('T')[0],
status: 'completed'
});
}
fs.writeFileSync(trackerPath, JSON.stringify(tracker, null, 2));
console.log(`✅ Handoff #${instanceNumber} verified and updated`);
}
const args = process.argv.slice(2);
const command = args[0];
if (command === 'get-next') {
console.log(getNextInstanceNumber());
} else if (command === 'update') {
const instanceNumber = parseInt(args[1]);
const mission = args[2] || 'Development work';
const achievements = args[3] || 'Tasks completed';
const quality = args[4] || '100%';
updateInstanceTracker(instanceNumber, {
mission,
achievements,
handoffQuality: quality
});
} else {
console.log('Usage:');
console.log(' node verify-instance-number.js get-next');
console.log(' node verify-instance-number.js update <number> <mission> <achievements> <quality>');
}