- A working CI pipeline.
- Comprehensive tests.
- Enforced linting/formatting.
- A script (or at least documentation) to set up a dev env from scratch (including resetting it if it already exists).
- Documentation of things which would take days or weeks to discover when working without the original developers, such as high-level trade-offs, code style which is not enforceable using linting (such as "Use Foo.frobnicate rather than the built-in frobnicator because …") references to issue trackers, former non-committing project-related people such as business analysts, separate documentation, credentials etc.
That said, I keep getting more and more picky about what it means to have a good code base, so in a few years I'm sure this list will be woefully incomplete.