/** * Validates a GitHub repository URL or shorthand format * TODO: Share this validation logic with repomix core (src/cli/actions/remoteAction.ts) */ export function isValidRemoteValue(remoteValue: string): boolean { // Check the short form of the GitHub URL. e.g. yamadashy/repomix const namePattern = '[a-zA-Z0-9](?:[a-zA-Z0-9._-]*[a-zA-Z0-9])?'; const shortFormRegex = new RegExp(`^${namePattern}/${namePattern}$`); if (shortFormRegex.test(remoteValue)) { return true; } // Check the direct form of the GitHub URL. e.g. https://github.com/yamadashy/repomix or https://gist.github.com/yamadashy/1234567890abcdef try { new URL(remoteValue); return true; } catch { return false; } }