Part of #222.
When elastic <name> is called and <name> is not a built-in command, look up elastic-<name> in the extension registry and exec it, forwarding all remaining argv and the context env vars.
- Module at
src/extension/runner.ts with a runExtension(ext, args, env) export
- In
cli.ts, before program.parseAsync, check firstArg against the set of known built-ins; if unknown, attempt extension dispatch
- Exit with the extension process exit code
- If no matching extension found, let Commander handle the unknown command error normally
Depends on: #293, #294, #296
Part of #222.
When
elastic <name>is called and<name>is not a built-in command, look upelastic-<name>in the extension registry and exec it, forwarding all remaining argv and the context env vars.src/extension/runner.tswith arunExtension(ext, args, env)exportcli.ts, beforeprogram.parseAsync, checkfirstArgagainst the set of known built-ins; if unknown, attempt extension dispatchDepends on: #293, #294, #296