943acbc573
Durcit la convention de nommage des projets (dérive constatée : 'Sliding Automation', 'code_versioning'... au lieu des formes canoniques). - trilium_api.py : projets_canoniques() lit le référentiel = valeurs du label projet sur les notes de type=projet (source unique, pas de constante en dur). Note-projet CodeVersioning créée (manquait). - mcp_server.py : _valider_projet() branché dans les 6 tools de création (add_decision/history/backlog, new_conversation, create_entite, add_skill). Refuse un projet non canonique (suggestion si faute) ou inconnu (renvoi au processus de création de projet). Ne verrouille pas si référentiel illisible. - lint_audit.py : VAL-nommage aligné sur le référentiel (attrape casse, espace ET snake_case ; l'ancien 'contient un espace' ratait code_versioning). - Données : 79 notes ré-étiquetées vers les 3 formes canoniques. Quality by design : l'erreur de nommage devient impossible à l'écriture, le Lint n'est plus que le filet de sécurité.
41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
from optparse import Values
|
|
|
|
from pip._internal.cli.base_command import Command
|
|
from pip._internal.cli.status_codes import SUCCESS
|
|
from pip._internal.exceptions import CommandError
|
|
|
|
|
|
class HelpCommand(Command):
|
|
"""Show help for commands"""
|
|
|
|
usage = """
|
|
%prog <command>"""
|
|
ignore_require_venv = True
|
|
|
|
def run(self, options: Values, args: list[str]) -> int:
|
|
from pip._internal.commands import (
|
|
commands_dict,
|
|
create_command,
|
|
get_similar_commands,
|
|
)
|
|
|
|
try:
|
|
# 'pip help' with no args is handled by pip.__init__.parseopt()
|
|
cmd_name = args[0] # the command we need help for
|
|
except IndexError:
|
|
return SUCCESS
|
|
|
|
if cmd_name not in commands_dict:
|
|
guess = get_similar_commands(cmd_name)
|
|
|
|
msg = [f'unknown command "{cmd_name}"']
|
|
if guess:
|
|
msg.append(f'maybe you meant "{guess}"')
|
|
|
|
raise CommandError(" - ".join(msg))
|
|
|
|
command = create_command(cmd_name)
|
|
command.parser.print_help()
|
|
|
|
return SUCCESS
|