Add a Script
Two steps, independently. Below, {domain} is one of build / file / git / process / misc / system, and {name} is your script name.
1. Put business logic in lib/commands/{domain}/{name}.py
Domains: build / file / git / process / misc / system. New domain needs lib/commands/{domain}/__init__.py.
2. Add thin entrypoint bin/{name}
Done. No registry/list to update.
Alias Scripts (multiple names, same logic, different args)
See merge_canary / merge_develop / ...: expose run(target, argv) in lib/commands/git/merge.py, each thin entrypoint passes a fixed target: