counter-of-shinuwa/.codex-home/skills/.system/plugin-creator/scripts/identifier_validation.py
Shinuwa 07eb6dc053
Some checks failed
Build / build (push) Has been cancelled
Initial commit
2026-09-18 14:54:32 +02:00

20 lines
784 B
Python

"""Validate plugin and marketplace identifiers before using them in commands."""
import re
def validate_plugin_identifier(plugin_name: str) -> None:
if re.fullmatch(r"[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)*", plugin_name) is None:
raise ValueError(
"Plugin name may only contain ASCII letters, digits, `.`, `_`, and `-`, "
"with dots separating non-empty name segments."
)
def validate_marketplace_name(marketplace_name: str) -> None:
if not marketplace_name:
raise ValueError("Marketplace name must include at least one letter or digit.")
if re.fullmatch(r"[A-Za-z0-9_-]+", marketplace_name) is None:
raise ValueError(
"Marketplace name may only contain ASCII letters, digits, `_`, and `-`."
)