#!/usr/bin/env node /** * Add a guild entry to the discord-guilds SKILL.md table * Usage: add-guild */ import fs from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const SKILL_PATH = path.resolve(__dirname, "../SKILL.md"); function main() { const args = process.argv.slice(2); if (args.length < 2) { console.error("Usage: add-guild "); process.exit(1); } const guildId = args[0]; const description = args.slice(1).join(" "); // Validate guild ID is numeric if (!/^\d+$/.test(guildId)) { console.error("Error: guild-id must be numeric (Discord snowflake)"); process.exit(1); } // Read existing SKILL.md let content = fs.readFileSync(SKILL_PATH, "utf8"); // Find the table and insert new row const newRow = `| ${guildId} | ${description} |`; // Look for the table pattern and insert after the header const tablePattern = /(\| guild-id \| description \|\n\|[-\s|]+\|)/; if (!tablePattern.test(content)) { console.error("Error: Could not find guild table in SKILL.md"); process.exit(1); } // Insert new row after the table header content = content.replace(tablePattern, `$1\n${newRow}`); // Write back fs.writeFileSync(SKILL_PATH, content, "utf8"); console.log(`✓ Added guild: ${guildId} - ${description}`); } main();