  We present and discuss an algorithm and its implementation that is capable of
directly determining Fourier expansions of any vector-valued modular form of
weight at least $2$ associated with representations whose kernel is a
congruence subgroup. It complements two available algorithms that are limited
to inductions of Dirichlet characters and to Weil representations, thus
covering further applications like Moonshine or Jacobi forms for congruence
subgroups. We examine the calculation of invariants in specific representations
via techniques from permutation groups, which greatly aids runtime performance.
We explain how a generalization of cusp expansions of classical modular forms
enters our implementation. After a heuristic consideration of time complexity,
we relate the formulation of our algorithm to the two available ones, to
highlight the compromises between level of generality and performance that each
them makes.
