plugins/_plugin_validator/webui/plugin-validator-guidance.md
<template x-if="$store.myStore"> and mount cleanup on the inner element.createStore from /js/AlpineStore.js; do not register Alpine stores inline in HTML or via alpine:init.toastFrontendError, toastFrontendSuccess, or backend notification helpers; do not render inline error boxes.extensions/python/<point>/ for named lifecycle hooks and extensions/python/_functions/<module>/<qualname>/<start|end>/ for implicit @extensible hooks. The flattened extensions/python/<module>_<qualname>_<start|end>/ layout is stale and should be flagged.ApiHandler and return a dict or Response.Tool from helpers.tool.from agent import AgentContext, AgentContextType, never helpers.context.sys.executable only for framework runtime work and /opt/venv/bin/python for agent-runtime installs.main() and end with if __name__ == "__main__": sys.exit(main()).^[a-z0-9_]+$, match the directory name, and stay unique in the published index.LICENSE at the plugin root is optional for local-only plugins but required at the repository root before Plugin Index submission; if missing, rate Structure Validation as warning (not pass) and state that clearly in findings.