Tip to the OP: Take some book on linear algebra and read about bilinear forms and "Sylvester's Law" of inertia and the signature of fundamental forms (pseudo-metrics or metrics of pseudo-Euclidean and Euclidean vector spaces):
https://en.wikipedia.org/wiki/Sylvester's_law_of_inertia
Then note that in the Ricci calculus it is crucial whether you have upper and lower indices. The place of the index indicates how it transforms under changes of the basis of the vector space and its co-basis.
For differential geometry in pseudo-Riemann spaces and General Relativity you consider tangent and co-tangent spaces. For holonomous bases the transformation laws for tensor components are easy to remember. If you change from coordinates ##q^{\mu}## to ##\tilde{q}^{\mu}## contravariant tensors transform like the increments ##\mathrm{d} q^{\mu}##:
$$\mathrm{d} \tilde{q}^{\mu} = \mathrm{d} q^{\nu} \frac{\partial \tilde{q}^{\mu}}{\partial q_{\nu}},$$
i.e., contravariant vector components transform like
$$\tilde{V}^{\mu} = \frac{\partial \tilde{q}^{\mu}}{\partial q_{\nu}} V^{\nu} ={T^{\mu}}_{\nu} V^{\nu}.$$
As you see ##{T^{\mu}}_{\nu}## forms the Jacobian matrix of the coordinate transformation (local diffeommorphism).
Covariant vector components (i.e., components of a one-form) transform as the partial derivatives of a scalar field, i.e., because of
$$\tilde{\partial}_{\mu} \Phi:=\frac{\partial \Phi}{\partial \tilde{q}^{\mu}} = \frac{\partial \Phi}{\partial q^{\nu}} \frac{\partial q^{\nu}}{\partial \tilde{q}^{\mu}},$$
i.e., covariant vector components transform like
$$\tilde{V}_{\mu} = V_{\nu} \frac{\partial q^{\nu}}{\partial \tilde{q}^{\mu}}=V_{\nu} {U^{\nu}}_{\mu}.$$
Now ##{U^{\nu}}_{\mu}## is the inverse Jacobian, because
$${T^{\mu}}_{\nu} {U^{\nu}}_{\rho} = \frac{\partial \tilde{q}^{\mu}}{\partial q^{\nu}} \frac{\partial q^{\nu}}{\partial \tilde{q}^{\rho}} = \frac{\partial \tilde{q}^{\mu}}{\partial \tilde{q}^{\rho}} = {\delta^{\mu}}_{\rho}.$$
The contravariant and covariant vector components transform contragrediently to each other, as it must be, because you want the contraction between a 1-form and a vector, i.e., ##V_{\mu} W^{\mu}## to be a scalar, i.e.,
$$V_{\mu} W^{\mu} = \tilde{V}^{\mu} \tilde{W}_{\mu}.$$
The transformation laws for higher-rank tensor follow now immideately by the definition that the transform like Kronecker products of vectors and 1-forms.