Specificare tutte le opzioni necessarie al vero xindy è molto difficile, e di solito non serve per lingue semplici come l’italiano. Ma per rispondere al tuo problema, dire che hai commesso un pio di errori; questo file a me funziona benissimo (senza arara ma xon –shell-escape specificato nella linea comando- io non uso mai arara, non perché mi dia fastidio, ma perché sul Mac mi posso permettere di avere –shell-escape in permanenza):`% arara: xelatex: { shell : yes }
\documentclass{article}
\usepackage{imakeidx}
\makeindex[program=truexindy]
\begin{document}
\index{Ciao}Ciao
rete\index{rete\dots}
\printindex
\end{document}`
Constati che il punto esclamativo preceduto dal doppio apice funziona benissimo e che \dots esce come deve uscire. Il file pdf te lo conferma e il file .log dice esattamente come è stato eseguito xindi (in realtà texindy, che è lo script che specifica le opzioni giuste per un file da compilare in italiano o in una lingua occidentale in alfabeto latino.
L’unica vera incompatibilità di xindy, anche tramite lo script texindy, è l’uso della barra verticale | che accetta i semplici mark-up per le paigne, ma non accetta il mark up delle pagine creato da hyperref per i link alle pagine dove si trova qualcosa di interessante a proposito dei singoli lemmi; in sostanza hyperref divente inefficace con una indice analitico creato con xindy.
Se vai in texmf-dist/scripts/xindy/ e apri texindy.pl (è uno script in perl) con TeXworks o altro editor testuale puoi leggere senza troppa fatica (malgrado il mark up perl) la documentazione e trovi scritto quanto ho detto sopra. La compatibilità con makeindex è quidi quasi totale, salvo la barra verticale dove la compatibilità è parziale, se usi texindy perché carica automaticamente i molti moduli che sarebbe necessario caricare a mano se si usasse truexindy.