The easiest way to do it is to copy an existing bundle, rename it, and edit it.
Here’s the official manual on that: TextMate Manual → Bundles.
5.2 Editing Default Bundles / Items
Some of the default items may not be to your exact liking, for example
the coding style in snippets may differ from yours, so you may want
other tab triggers, key equivalents, or similar modifications.
If you edit a default item the difference will be stored in
~/Library/Application Support/TextMate/Bundles. These are then merged
with the default version so your changes will be effective even after
upgrading TextMate. All new items you create also end up in this
Bundles or bundle items which you install by dragging them to TextMate
or double clicking will be installed in
Support/TextMate/Pristine Copy/Bundles. Editing these will also result
in only the differences being stored in
Support/TextMate/Bundles, meaning that if you later get a new version
of this third party bundle, you can safely install this one on top of
the old one (by dragging it to TextMate) and again your changes will
If you want to discard local changes then currently the only option is
to delete these from
Alternatively, here’s a more visual guide (lots of screenshots): How to create a TextMate bundle.