The big problem is that you need to track which way the player is looking, and to have room descriptions change, depending on that.
You are in a room with a TV in front of you, the door to the hall is behind you and a door to the kitchen to the left.
LEFT
You are in a room with a TV to your right, the door to the hall is left and a door to the kitchen ahead.
FORWARD
You are in the kitchen; the door is behind you.
LEFT
You are in the kitchen; the door is to the left.
LEFT
You are in the kitchen; the door is ahead.
FORWARD
You are in a room with a TV to the left, the door to the hall is right and a door to the kitchen behind you.
Perhaps the player types left to turn left and go that way. That would be more natural, but could be more confusing.
You are in a room with a TV in front of you, the door to the hall is behind you and a door to the kitchen to the left.
LEFT
You are in the kitchen; the door is behind you.
BACK
You are in a room with a TV to the left, the door to the hall is right and a door to the kitchen behind you.
It is certainly doable. The system HK describes is not going to work because it is not dynamic; you need exits to change as the player changes direction.
I would abandon the compass rose; that is going to be very tricking. Make your rooms with compass exits as normal, and then create new commands, LEFT, RIGHT, FORWARD and BACK, and have them calculate the compass direction, and act accordingly.