Covariant derivatives for bundle maps Suppose that $M$ is a smooth manifold and $\nabla$ is an affine connection on it (in my case it is the Levi-Civita connection of a Riemannian metric, but probably this is not relevant). If $E$ and $F$ are linear bundles over $M$, I call a bundle map a smooth map $E \to F$ that covers the identity map on $M$. Also, $M$ can be seen as a trivial bundle over itself.
A vector field $X$ can be interpreted as a bundle map $M \to T^1M$. Then $\nabla X$ is a bundle map $M \to T^1_1M$, and the same construction can be repeated for tensors of any order.
What I would like to do is to use $\nabla$ to differentiate bundle maps between tensor spaces, i.e., maps of the type $G \colon T^k_hM \to T^p_qM$. Is there some reference that lays the theoretical foundations for this operation and the basic properties? In particular, I would like to have a chain-rule-like formula: if $X \colon M \to T^1M$ and $G \colon T^1M \to T^1M$, what is $\nabla(G \circ X)$ in terms of $\nabla X$ and the derivatives of $G$?
 A: I've begrudgingly used normal coordinates for this kind of thing in the past, but it's always bothered me. I've been thinking about it again recently, and here are my thoughts on how to do this geometrically, which became clear after taking the Ehresmann perspective. This is probably all standard, but I'm not aware of any reference that spells things out in quite this way.
Let $V,H$ be the vertical and horizontal subbundles of $TTM$, with $H$ defined by the connection $\nabla$. These are both isomorphic to $p^* TM$ (where $p : TM \to M$ is the bundle projection), so we have a splitting $$TTM = H \oplus V \simeq p^*TM \oplus p^*TM.$$ Don't get too hung up on the pullback here: it just means that we have a separate copy of $T_{p(v)} M$ sitting over each base point $v \in TM.$ Fiberwise this is simply $$T_v TM = H_v \oplus V_v \simeq T_{p(v)} M \oplus T_{p(v)} M.$$
I will let $\pi_H$ and $\pi_V$ denote the corresponding projections $TTM \to TM$, and sometimes write an element $\xi \in TTM$ as the ordered pair $(\pi_H \xi, \pi_V \xi)$.  Note that $\pi_H = D p$ and $\nabla X= \pi_V (DX)$ for any vector field $X$.
The chain rule for smooth maps tells us that for any $G: TM \to TM$ we have $D(G(X)) = DG\circ DX;$ so we have $$\begin{align}\nabla (G(X)) &= \pi_V(DG(DX)) \\&= \pi_V(DG(\pi_H DX, \nabla X)) \\ &= \pi_V(DG(0, \nabla X)) + \pi_V(DG(\pi_H DX, 0)).\tag{1}\end{align}$$
The question now is how to sensibly interpret the parts of $DG$ occurring in these two components. Since $G$ is a bundle map, we know that vertical variation of the input produces vertical variation of the output; so (with respect to the splitting $H \oplus V$) its derivative must take the form $$DG = \left(\begin{matrix} \pi_H DG|_H & 0 \\ \pi_V DG|_H & \pi_V DG|_V\end{matrix}\right).\tag{2}$$
This also implies the vertical derivative $D^V G := \pi_V DG|_V$ is in fact defined independently of the connection, even though $\pi_V$ is not. Via the identification $V \simeq p^*TM$ it can be thought of as a linear bundle map $D^V G\in \Gamma(\mathrm{End}(p^* TM))$ and we see that $G$ is linear if and only if $D^V G_v$ depends only on $p(v)$, in which case $D^V G$ is just the $p$-lift of $G\in \Gamma(\mathrm{End}(TM))$.
Another thing to note is that $\pi_H DG|_H$ is the identity map of $p^* TM$. To see this, let $V(t) \in T_{\gamma(t)}M$ be a horizontal curve in $TM$ (so that $V'(t) = (\gamma'(t),0)$ and note that $G(V(t)) \in T_{\gamma(t)} M,$ so from  the chain rule we see $$\pi_H(DG(V'))=Dp(DG(DV(d/dt)))=(p\circ G \circ V)'(t)=\gamma'(t).$$ Thus $(2)$ becomes $$DG = \left(\begin{matrix} \mathrm{id} & 0 \\ \nabla^H G & D^V G\end{matrix}\right)$$ where we define $\nabla^H G = \pi_V DG|_H$, which we can identify as another section of $\mathrm{End}(p^* TM).$ Reassuringly, the two interesting components of $DG$ we have left are exactly those that appear in the chain rule $(1)$, which we can now write as $$\nabla(G(X)) = D^V G (\nabla X) + \nabla^H G (\pi_H DX).$$ Since $X: M\to TM$ is a section, we see $$\pi_H DX = Dp(DX) = D(p \circ X) = D \mathrm{id}_{M} = I$$ is just the identity endomorphism of $TM$; so we have a covariant chain rule $$\nabla(G(X)) = D^V G(\nabla X) + \nabla^H G,$$ or perhaps more transparently $$\nabla_v (G(X)) = D^V G(\nabla_v X) + \nabla^H G(v).\tag{3}$$ 
This is certainly of the form we expect - in the flat case $M = \mathbb R^n$ with standard coordinates $(x^i, X^i=dx^i)$ on $TM$ this is exactly the multivariable chain rule $\def\p{\partial}$ $$\frac{\p}{\p x^i} \left(G^k(x, X(x))\right) = \frac{\p G^k}{\p X^j}\frac{\p X^j}{\p x^i} + \frac{\p G^k}{\p x^i}.$$ Even in the curved case, if we evaluate at the origin of a normal coordinate system then the coordinate calculation looks exactly the same, since we are only taking first derivatives. In general coordinates we have
$$\begin{align}
\nabla_i (G \circ X)^j &= \partial_i (G^j(X,x)) + \Gamma^j_{ik} G^k \\
&= \frac{\p G^k}{\p X^j} \frac{\p X^j}{\p x^i} + \frac{\p G^k}{\p x^i}  + \Gamma^j_{ik} G^k\\
&= \underbrace{\frac{\p G^k}{\p X^j}}_{\displaystyle(D^V G)_j^k} \nabla_i X^j \,\underbrace{-\,\frac{\p G^k}{\p X^j}\Gamma^j_{il}X^l + \frac{\p G^k}{\p x^i}  + \Gamma^j_{ik} G^k}_{\displaystyle(\nabla^H G)_i^j}.
\end{align}$$
To verify that this mess at the end really is $dx^j(\nabla^H G(\partial_i))$, remember that we are allowing $\nabla^H G = \pi_V DG|_H$ to act on $T_xM$ by identifying the tangent space with the $\nabla$-horizontal subspace $H$ sitting above it in $T_XTM$; so what we really mean by $DG|_H(\partial_i \in T_x M)$ is
$$\nabla^H G(\partial_i) = \pi_V DG\left(\frac{\p}{\p x^i} - \Gamma_{ij}^k X^j \frac{\p}{\p X^k}\right)$$
 since the parenthesized term is the unique $\nabla$-horizontal vector projecting to $\partial_i$. Evaluating the differential in terms of partial derivatives of $G$ (remembering that $G$ is a bundle map) this becomes $$\nabla^H G(\partial_i)=\pi_V \left( \frac{\p G^l}{\p x^i} \frac{\p}{\p X^l} + \frac{\p}{\p x^i} -
 \Gamma_{ij}^k X^j \frac{\p G^l}{\p X^k} \frac{\p}{\p X^l}\right),$$ where these vectors are all based at the point $G(X(x))$ since they have been through $DG.$ Since the $\p/\p X^i$ are already vertical and the vertical projection of $\p/\p x^i|_{G(X)}$ is $\Gamma_{ik}^jG^k\p/\p x^j$, we are done.
While I wrote all this for the special case of vector fields, it works exactly the same for a linear connection on any vector bundle: to get this working with a bundle $E \to M$, you just need to carefully replace all the identifications $V \simeq p^*TM$ with $V \simeq p^*E$. I also believe it should also extend in an obvious way to maps $G : E \to F$ between different bundles with different connections, which should allow you to handle your general tensor maps $G: T^k_h M \to T^p_q M$. You should end up with $D^V G \in \Gamma(\mathrm{Hom}(T^k_hM,T^p_qM))$ and $\nabla^H G \in \Gamma(\mathrm{Hom}(TM,T^p_qM))$ satisfying the same chain rule $(3)$.
