A git clone is just step 1 for setting up my work area. I have submodules to recursively update, remotes to setup (so I can merge upstream updates).
I keep a config/project.yml file that describes my remotes:
Then a git-setup script in my $PATH that will recursively apply "git setup" to git submodules and set up remotes. Combine that with a custom "git update" to git fetch, pull, --tags.
I'm considering how to execute a bin/setup for each submodule, but haven't worked out the trust issues. That way "git setup" can bundle, npm, git remote prune. Instead of a bin/setup in external projects, a git-setup-xxx plugin can be applied to all of them, so I'd have git-setup-bundler, git-setup-deploy.