Included with previous versions of TextMate was a shell command named tm which is absent from the recent update (for those who don’t read the release notes).
The command is now located in the actual TextMate application bundle (under Contents/Resources), and is named mate (since some mistyped tm and got rm instead).
What you are supposed to do is, create a symbolic link from your bin directory to the shell command inside the application bundle. So assuming you installed TextMate under /Applications and you want the mate command in ~/bin, you would (from Terminal) run:
ln -s /Applications/TextMate.app/Contents/Resources/mate ~/bin/mate
Since this only creates a symbolic link, updating TextMate in the future should keep the shell command up-to-date as well.
I plan to allow TextMate to create this symbolic link for you, just need to figure out the best way to do so.
On the subject of the mate shell command, setting your path to include ~/bin needs (for bash) to be done like this:
It is important that you use $HOME instead of ~, since the tilde is not expanded inside strings (the line should be placed in e.g. ~/.bash_profile).
One purpose of the mate command is so that you can use TextMate as your editor for Subversion commit messages and similar (for the few times you do not commit from within TextMate :) ), for this to work, mate should be called with the -w option, and for most applications you can include that in the EDITOR variable, e.g.:
export EDITOR="$HOME/bin/mate -w"
There is one command though, which doesn’t support that. It is crontab, and in this case you can either do a wrapper (script) for mate which adds the -w argument (that is what the previously included tm_wait script did), or you can create another symbolic link to the mate executable, which has _wait as suffix, e.g.:
ln -s mate ~/bin/mate_wait
When the shell command is called with that suffix, it will automatically set the -w flag.
If you do not plan to use crontab (which I guess is obsolete now that we have launchd), you can ignore all this.