UNPKG

@terzitech/reqtext

Version:

Reqtext is a Git-native, CLI first requirements and documentation framework meant to bring requirement management directly into your workflow. Human -and AI- readable.

40 lines (37 loc) 1.36 kB
#!/usr/bin/env node // CLI command to generate README.md from .reqt.json import { getReadmeItems } from '../src/services/getReadmeItems.js'; import { generateReadmeMarkdown } from '../src/services/generateReadmeMarkdown.js'; import { getCurrentReqtFilePath } from '../src/utils/getCurrentReqtFilePath.js'; import fs from 'fs/promises'; import path from 'path'; async function main() { let jsonPath; try { jsonPath = await getCurrentReqtFilePath(); } catch (err) { console.error('Error: ' + err.message); process.exit(1); } const outPath = path.resolve('README.md'); let meta = ''; try { const items = await getReadmeItems(jsonPath); // Optionally, add meta info (date, version, repo link) let version = ''; try { const getVersion = (await import('../src/utils/getVersion.js')).default; version = await getVersion(); } catch {} meta = `Generated by ReqText v${version || 'unknown'} on ${new Date().toISOString()}\n[GitHub](https://github.com/joseph-terzi/reqtext)`; const md = generateReadmeMarkdown(items, { meta }); await fs.writeFile(outPath, md, 'utf8'); console.log(`README.md generated successfully.`); } catch (err) { console.error('Error generating README.md:', err.message); process.exit(1); } } if (import.meta.url === `file://${process.argv[1]}`) { main(); }