mirror of
https://github.com/affaan-m/ECC.git
synced 2026-08-17 21:15:40 +02:00
* feat: add retention feedback loop * test: retire obsolete README parity row guard * fix: harden public feedback guidance * fix: let feedback CLI output flush * test: keep feedback help coverage focused
66 lines
1.4 KiB
JavaScript
66 lines
1.4 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
const {
|
|
FEEDBACK_ROUTES,
|
|
getFeedbackPayload,
|
|
} = require('./lib/feedback-links');
|
|
|
|
function showHelp() {
|
|
process.stdout.write(`
|
|
Usage: ecc feedback [--json] [--help|-h]
|
|
|
|
Print ECC's low-friction public feedback routes. This command never uploads
|
|
diagnostics or reads project files.
|
|
`);
|
|
}
|
|
|
|
function parseArgs(argv) {
|
|
return argv.slice(2).reduce((parsed, arg) => {
|
|
if (arg === '--json') {
|
|
return { ...parsed, json: true };
|
|
}
|
|
|
|
if (arg === '--help' || arg === '-h') {
|
|
return { ...parsed, help: true };
|
|
}
|
|
|
|
throw new Error(`Unknown argument: ${arg}`);
|
|
}, { json: false, help: false });
|
|
}
|
|
|
|
function printHuman() {
|
|
process.stdout.write([
|
|
'ECC feedback',
|
|
'',
|
|
`Install or runtime problem:\n${FEEDBACK_ROUTES.problem}`,
|
|
'',
|
|
`Quick feedback (public GitHub issue):\n${FEEDBACK_ROUTES.feedback}`,
|
|
'',
|
|
`Feature idea:\n${FEEDBACK_ROUTES.feature}`,
|
|
'',
|
|
'ECC does not upload diagnostics or read project files. Redact sensitive information before posting publicly.',
|
|
'',
|
|
].join('\n'));
|
|
}
|
|
|
|
function main() {
|
|
try {
|
|
const options = parseArgs(process.argv);
|
|
if (options.help) {
|
|
showHelp();
|
|
return;
|
|
}
|
|
|
|
if (options.json) {
|
|
process.stdout.write(`${JSON.stringify(getFeedbackPayload(), null, 2)}\n`);
|
|
} else {
|
|
printHuman();
|
|
}
|
|
} catch (error) {
|
|
process.stderr.write(`Error: ${error.message}\n`);
|
|
process.exitCode = 1;
|
|
}
|
|
}
|
|
|
|
main();
|