From 2034d8ac0eb41287499aa33664e4a69596aa40be Mon Sep 17 00:00:00 2001 From: Sirac Ozmen Date: Mon, 2 Nov 2026 23:12:13 +0300 Subject: [PATCH] docs(conventions): write command words in their language's own letters --- docs/internals/uxm-conventions.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/internals/uxm-conventions.md b/docs/internals/uxm-conventions.md index 0908c8b..5535f52 100644 --- a/docs/internals/uxm-conventions.md +++ b/docs/internals/uxm-conventions.md @@ -127,6 +127,7 @@ A word in `config.conf` is a defect, and a slot number in `messages/` is a defec - Built with uxmLib's annotation DSL on Paper's Brigadier lifecycle. Each handler is `@FromConfig`, never also `@Command`. - One root per plugin, named after the plugin (`/uxmcrates`), plus a short alias in the shipped `commands.conf` (`/crates`). Every command and subcommand is renameable, aliasable, disableable and takes localized aliases from `commands.conf`. +- A command word is written in its language's own letters (`/yardım`, `/règles`, `/правила`); any letter of any script is a valid word. A plain-letter spelling kept for keyboards without those letters goes in the setup's `tab-completion.hidden`, so it runs but the command list does not show it twice. A line that names a command names the reader's own word. - Subcommand names are one lower-case word, a verb where the branch acts (`give`, `reset`) and a noun where it lists or opens (`list`, `menu`). - The root always runs: it opens the menu, shows the list, or sends one line that points to help. Every intermediate word runs too. A player never sees Brigadier's own error text. - Standard admin branches in every plugin: `reload`, `lang set-player `, `lang reset-player `, and `help`.