@@ -36,9 +36,9 @@ const { buildSnapshot, validateStructure, loadSnapshot, saveSnapshot, compareSna
3636const SKILL_DIR = resolve ( __dirname , ".." ) ;
3737const FORMATTER_MODULE = join ( SKILL_DIR , "src" , "format-content.mjs" ) ;
3838const NODE_RUNTIME_MIN_VERSION = 24 ;
39- const LONG_FLAGS = new Set ( [ "check" , "fix" , "all" , "guard" , "verify" , "fences" , "validate" , "doctor" , "dry-run" , "audit-tables" , "no-repair" , "help" ] ) ;
39+ const LONG_FLAGS = new Set ( [ "check" , "fix" , "all" , "guard" , "verify" , "fences" , "validate" , "doctor" , "dry-run" , "audit-tables" , "no-repair" , "help" , "version" ] ) ;
4040const SHORT_FLAGS = { h : "help" , n : "dry-run" } ;
41- const READ_ONLY_FLAGS = new Set ( [ "check" , "validate" , "fences" , "verify" , "doctor" , "help" , "dry-run" , "audit-tables" ] ) ;
41+ const READ_ONLY_FLAGS = new Set ( [ "check" , "validate" , "fences" , "verify" , "doctor" , "help" , "dry-run" , "audit-tables" , "version" ] ) ;
4242const MARKDOWN_EXTENSIONS = new Set ( [ ".md" , ".markdown" , ".mdx" ] ) ;
4343
4444/**
@@ -48,10 +48,10 @@ const MARKDOWN_EXTENSIONS = new Set([".md", ".markdown", ".mdx"]);
4848 * Throws on unknown flags. The -- separator stops flag parsing.
4949 *
5050 * @param {string[] } argv - Process argv array (e.g. process.argv).
51- * @returns {{ _: string[], check: boolean, fix: boolean, all: boolean, guard: boolean, verify: boolean, fences: boolean, validate: boolean, doctor: boolean, 'dry-run': boolean, 'audit-tables': boolean, 'no-repair': boolean, help: boolean } }
51+ * @returns {{ _: string[], check: boolean, fix: boolean, all: boolean, guard: boolean, verify: boolean, fences: boolean, validate: boolean, doctor: boolean, 'dry-run': boolean, 'audit-tables': boolean, 'no-repair': boolean, help: boolean, version: boolean } }
5252 */
5353function parseArgs ( argv ) {
54- const args = { _ : [ ] , check : false , fix : false , all : false , guard : false , verify : false , fences : false , validate : false , doctor : false , "dry-run" : false , "audit-tables" : false , "no-repair" : false , help : false } ;
54+ const args = { _ : [ ] , check : false , fix : false , all : false , guard : false , verify : false , fences : false , validate : false , doctor : false , "dry-run" : false , "audit-tables" : false , "no-repair" : false , help : false , version : false } ;
5555
5656 for ( let i = 2 ; i < argv . length ; i ++ ) {
5757 const arg = argv [ i ] ;
@@ -95,6 +95,7 @@ Options:
9595 --dry-run, -n Run pipe-safety preflight, then preview changes
9696 --audit-tables Print table row cell counts and pipe hazards without writing
9797 --no-repair In write modes, report repairable table issues instead of modifying them
98+ --version Print version number and exit
9899 --help, -h Show this help
99100
100101File exclusion:
@@ -1016,6 +1017,11 @@ function processFile(filePath, args) {
10161017 */
10171018function main ( argv = process . argv ) {
10181019 const args = parseArgs ( argv ) ;
1020+ if ( args . version ) {
1021+ const pkg = JSON . parse ( readFileSync ( join ( SKILL_DIR , "package.json" ) , "utf8" ) ) ;
1022+ console . log ( pkg . version ) ;
1023+ return 0 ;
1024+ }
10191025 if ( args . doctor ) return runDoctor ( ) ? 0 : 1 ;
10201026 if ( args . help || ( args . _ . length === 0 && ! args . all ) ) {
10211027 printHelp ( ) ;
0 commit comments