I know that the goal is to make it human readable but don't forget that we also want to write CI jobs where we have to use scripting. Would it be possible to get rid of: - white spaces ` ` (requires escaping and often resolves into several paths but not dangerous) - `()` (sub-shell) - `$` (variables) - `!` (events) - `|` (pipes) - `<>` (output redirection) - `&` (run on background) - `/` (path delimiter on UNIX) - `\` (path delimited on Windows) - `;` (shell token) - \` (sub-shell) Example of OK characters: - `+` - `*` (better to not use it because path globbing but still not dangerous for shell) - `=` - `_` - `.` - `~` - `@` - `:` - `,` (better to no use it because confusing) - `[]` - `{}`