Mix the flour and salt into a bowl and rub in the ghee. Start adding the warm water and jaggery and knead in the bowl to form a soft, smooth dough. The longer you knead the dough the softer the roti will be. Divide the dough into 8 equal balls. Cover and set aside to rest for half an hour.
Toast and grind the coriander seeds and dried chilli.
Heat the ghee in a pan over high heat. Add the garlic and fry until it just starts to colour, then add the ground coriander and chilli. Next, add the tomatoes and stir well. Turn down the heat and fry for about 10 minutes, until the tomatoes reduce down to a pulp.
Add the turmeric, chopped ginger, green chilli and half the coriander leaves to the tomato mix and stir well. Continue cooking for a few minutes. Increase the heat and add the chicken pieces to the pan. Season with the salt and fry, stirring for about 10 minutes until the chicken has cooked through.
Once the chicken has cooked, add the shredded ginger, the remaining coriander leaves and the garam masala. Stir well and keep warm while you finish preparing each roll.
Roll each of the roti balls into a small, thin flat disk.
Put a small frying pan on medium heat and add a little oil. Pour two tablespoons of lightly beaten egg into the pan, cook for a moment, stirring, then place a roti on top, cook for a minute to set the egg before turning it over to cook through.
Once roti is cooked, put it on a plate, spoon some of the chicken mix down the centre. Add some of the sliced red onions and roll the roti over the filling. Wrap each roll in aluminium foil to keep them warm and intact. Repeat with the remaining rotis and serve.