- API-level docs: consumers of the software (library users, API consumers, etc)
- Onboarding Docs: Potential Contributors (this is high-level info in README... stuff in WIKIS like design docs, etc..., CONTRIBUTING.md files...)
- READMEs: Good starting points to get different folks directed to different places (i.e. link consumers to API docs and install instructions, link potential contributors to contribution guidelines and high level design docs, style guides, etc.)
Ultimately contributors do just have to reference the code itself at some point... although the code doesn't tell the whole story, particularly for software that's meant to be consumed by other software (libraries, APIs, microservices, etc...)
Tons of other kinds of docs with writing... just a small sample.