[T-Mobile HTC One (M9)] DunningKrugerEffect:
For RUUs, stock recoveries, stock Nandroids (in case you need to return to stock, unrooted), TWRP links, and other important tools, please check this thread by Rydah805. It has the stuff you want.

Note: S-Off link at the bottom of the OP. You'll need the HTCDev unlock method completed first and you'll need root access to make it work. So once you're done with this little guide (or the noob friendly one in the HTC One international forums here), you can hop right on over to Sunshine (linked at the bottom) to get that done if you don't mind the $25 fee.

I can confirm this works on the following:

Android 5.0.2

HTC Sense Version 7.0

Software Number 1.32.531.25 (tested and working with software update 1.32.531.33)

Kernel Version 3.10.49-g7ea0c90and@AABM #1 SMP PREEMPT

Baseband version 01.01_U11440251_64.04.50312G_2_F

Build Number 1.32.531.25 CL505029 release-keys

As usual, you do this at your own risk. It's not my fault if you mess things up :) (although I sympathize completely if you do). I cannot confirm this works on any other version than this one, although I've seen this work on the AT&T, Verizon, Sprint, and International variants. Feel free to link there or just copy paste the whole damn thing and post it over in those forums to make it easier for those folks. I really, honestly don't mind.

It took me a while so I figured i'd make a thread on it to make it easier for our fellow T-Mobile M9 peoples. This is essentially a link dump so you can get to the places you need to go faster. Before continuing, please read this advice from Rydah805 because it's invaluable. Thankfully, we won't be using the 2.8.5.0 version of TWRP in this quick tutorial but the important part of the message is that you should make a nandroid of the unmodified stock ROM BEFORE rooting. Otherwise you will have many problems down the line. If you have thanks to give, give them to the posters of all these various threads. I did nothing special, just went through the steps to see how it worked.

Please note, if you're using Mac or Linux, I don't use those things and couldn't try/test/use the root method on those platforms. I assume Linux works pretty much the same way as Windows (you'll have to get ADB/Fastboot a different way of course).

Let's get started :)

Pre-requisites:

1. You'll need SuperSU by Chainfire. You can download it here. Put this on your device where you can find it later. I've seen people say it needs to be on an external SD card, but I've seen it work from both internal and external.

2. You'll need a modified version of 2.8.6.0 of TWRP. You can download that here. The link is at the bottom of the post where it says "Beta version with system backup fixed...". That's the one you want.

3. You will need ADB and Fastboot. I recommend Minimal ADB and Fastboot. You can find that here. Install it like any other Windows application AND MAKE SURE TO LET IT CREATE A DESKTOP ICON. This will make finding it later much easier. Linux users will need to find a different way to get ADB/Fastboot. Probably just downloading the SDK...although if you're running Linux you know all this already so let's just move on.

4. You'll need the HTC One drivers. I did this by installing HTC Sync Manager and it worked fine for me. You can download the HTC Sync Manager here.

Okay now for the actual root method.

1. First you'll need to unlock the bootloader using HTDdev.com. Follow this tutorial to do that.

2. Once your bootloader is unlocked. You'll want to flash the TWRP recovery to your HTC One M9. Rename the TWRP file you downloaded in the pre-requisits it to "recovery" (no quotes, and the .img shouldn't be visible) and place it in the Minimal ADB and Fastboot folder on your COMPUTER. For windows, this is usually under your C drive > Program Files (x86) > Minimal ADB and Fastboot.

3. On your One M9, turn it off. Press the volume down key and power simultaneously and you'll get a black screen. Using the volume keys to scroll, go to Download Mode and click the power button to confirm.

4. On your computer, open Minimal ADB and Fastboot using the icon I told you make earlier (you listened, right? :P ). If you renamed the TWRP image you downloaded earlier to "recovery" and put it in the proper folder as I stated earlier, then all you need to do is type the following:

fastboot flash recovery recovery.img

5. At this point the recovery should flash successfully. HOWEVER, in my experience, you may get some silly errors (unknown error, Fastboot crashed, too many links, etc). If this is the case, don't panic. Turn the device off, re-enter download mode again, close the command window and re-open Minimal ADB and Fastboot and try again. All I did to get it to work was try a couple of times over again. Sometimes it goes, sometimes it doesn't. Silly Windows being silly I presume.

6. Okay, you should now have recovery. Enter recovery by pressing and holding volume up and volume down while pressing power to enter bootloader mode. Scroll using the volume keys to "Recovery" and hit the power button. You should now be in a weird looking TWRP. This is normal.

7. CREATE A FREAKING NANDROID BACKUP RIGHT NOW. According to some recognized members of the community, HTC updates only work on an unmodified system. If you ever want to receive official updates from HTC, you HAVE to create a NANDROID RIGHT NOW. Do it. I'll wait.

8. Did you create a Nandroid yet? No? You naught boy/girl, go do that now please.

9. But no really, create a Nandroid please.

10. Once your Nandroid is complete and you have an unmodified, unrooted system backed up, we can actually root the damn thing. You should have SuperSU on your device (as per the pre-requisites). If not, go download that using the link I provided above and put it on your device. Anywhere should be fine.

11. Okay now here's the tricky part. TWRP boots into recovery as Read Only but ONLY on unmodified systems. The reason for this is because HTC updates can't install if the recovery is read/write enabled. Since you're not yet rooted, your TWRP is booting up to Read Only. That means even if you flash SuperSU right now, it won't actually do anything because TWRP can't write to /system (yes, it will say it flashed successfully, it's a liar liar pants on fire).

12. To overcome this, you'll need to follow the instructions in this post.

13. Once you have manually mounted the system partition using the post I linked above (did you thank him? I think you should've thanked him), you may now flash SuperSU.zip as you normally would.

14. Reboot, and you should now be rooted. Don't forget to install BusyBox (search "busybox" in the Google Play Store, download the one developed by Stephen (Stericson). Once installed, open it, give it Superuser permission, then just hit install). Once busybox is installed, you will have the full root experience and can use apps like Titanium Backup.

And that should do it folks. Again, don't thank me, all I did was gather links and put the steps in order. The other people deserve your praise.

Now as for updating, I don't know how it will work yet, but this is how I believe it'll work in theory.

If you have a system update:

1. Create a titanium backup of all of your apps (trust me).

2. Reboot to recovery, restore your unrooted, unmodified Nandroid that I told you literally 5 times to make.

3. Reboot, then check for updates. Install the system update.

4. Re-root your device using the steps above (by then I'm sure there will be a more stable TWRP, make sure you always have the most updated one!)

5. Restore your apps via Titanium Backup.

Again, that's how I believe it should work in theory but I won't know for sure until I receive a system update.

IF YOU HAVE PROBLEMS, please contact the smarter people in the threads I linked who are actively working on helping people with issues. I suppose you can post them here, but as you can see by my post count, I rarely pay much attention :)

Enjoy!

*Edit*

Bonus points: Our device is compatible with the S-Off method brought by Sunshine. It's a $25 purchase but it does work (tested) and I've seen people report that it works on the .33 update as well. Click here to check out Sunshine.