Fix a smooth map $f : \mathbb{R}^m \rightarrow \mathbb{R}^n$. Clearly this induces a pullback $f^\ast : C^\infty(\mathbb{R}^n) \rightarrow C^\infty(\mathbb{R}^m)$. Since $C^\infty(\mathbb{R}^n) = \Omega^0(\mathbb{R}^n)$ (the space of zero-forms) by definition, we consider this as a map $f^\ast : \Omega^0(\mathbb{R}^n) \rightarrow \Omega^0(\mathbb{R}^m)$. We want to extend $f^\ast$ to the rest of the de Rham complex in such a way that $d f^\ast = f^\ast d$.
Bott and Tu claim (Section I.2, right before Prop 2.1), without elaboration, that this is enough to determine $f^\ast$ . I can see why this forces e.g.
$\displaystyle\sum_{i=1}^n f^\ast \left[ \frac{\partial g}{\partial y_i} d y_i \right] = \sum_{i=1}^n f^* \left[ \frac{\partial g}{\partial y_i}\right] d(y_i \circ f)$,
but I don't see why this forces each term of the LHS to agree with each term of the RHS -- it's not like you can just pick some $g$ where $\partial g/\partial y_i$ is some given function and the other partials are zero.