Added a command field to project commands as an alternative to url. Previously, if you wanted to run a terminal command like cargo build --release from the project switcher, you had to use the url field and hope no browser was configured — which was confusing and fragile. Now there’s explicit intent: command always runs in the terminal, url always opens in a browser.

The config validation enforces mutual exclusivity — you can’t set both url and command on the same entry, and command can’t be paired with browser since that wouldn’t make sense. The args field works with both: for command entries it appends to the shell invocation, for url entries it gets URL-encoded and appended to the URL. Also extracted a merge_args helper to deduplicate the argument merging logic that was repeated in a few places.