ESP8266 Programmer for uploading via WIFI

How do I go about creating a programmer that can be selected from the Arduino Programmer list that would allow uploading sketches and bootloaders to boards which are properly connected to an ESP8266 modules. Including another ESP8266?

I understand too, that a program or library, must also run on the ESP8266.

Currently I'm using "ARDUINO IDE ESP8266" for programming the ESP8266.

Any input would be great, thanks.