It's a feature called required components. Basically, you can use #require(components list here) attribute to say that when a component is inserted, also insert required components. I don't know if there's a documentation for it, or specifically what component requires what, personally when I'm looking for required components I'm looking at component's source and they'll be listed there (Sprite, for example https://docs.rs/bevy_sprite/0.16.0/src/bevy_sprite/sprite.rs.html#20)
Note that required components work recursively: when component requires a component that has it's own requirements, they'll also be inserted