Sample initramfs init scripts
Project is here.
In short: it takes in a list of \n separated files, tries to recognize them and auto includes dependencies. You are then in control of which files to include. I've managed to create gzipped initramfs cpio image of a size of about 1.5MiB. Quite a smaller than what dracut created by default which is around 40MiB.
While the size isn't the point (for some it is), since most of us have SSDs nowdays and loading initramfs image takes probably less time than loading the kernel, the main idea behind mkircpio is the simplicity to customize initramfs image.
In simplest form it takes list of files, directories, modules and firmware files and transforms them into compressed cpio and spits it out via stdout. Simple stdin -> stdout principle.