It looks like you get little to no parameterization of commands. [edit] There is a "description" field for commands, but the recommended way to show command usage is to run an invalid command?[/edit] As it stands, it's a half-baked command runner.
The other main feature is basically grep presets, but they are too limiting. It looks like you can extract lines, but cannot get preceding/following lines, cannot specify a start/end inclusion pattern, or anything like that. Trivial example: I want line starting with "[ERROR]" and all following lines that start with a space (this is a typical log-line-continuation format).
So, maybe when refining this, drop the command runner support entirely and integrate with an existing one. For example, "aex npm test -- tests/foo.test.ts" is a wrapper around that command, and aex now has enough information to select which grep preset to use (the "npm test" one). And then extend what I can actually do with that preset.
Good luck!