но у гита есть возможность выполнять сценарии по некоторым событиям
stdin
не всегда используется исключительно для получения консольного ввода. Это просто пайп входящих данных. Через него в твой процесс может залиться все что угодно, включая какой-нибудь bson, msgpack или cbor бинарный формат.
Лично мне нужна полностью другая функциональность, ее до сих пор не предоставляет ни одна надстройка над JNI, включая jni.hpp. Поэтому мне пришлось создать свою небольшую надстройку над JNI, средствами 14го стандарта.