Bitcoin
Is there any reliable documentation on how to generate a P2WPKH address?

I found some BIPs on Google, but looking at bitcoincore.org I couldn’t find any documentation about the process for generating P2WPKH addresses.
Looking at other random articles, I can see that the process is roughly as follows:
- Start with compressed public key
- Perform SHA-256 followed by RIPEMD-160 hashing.
- Add watchdog version byte
- Encode using Bech32
Again, these are random internet articles, so they may not be reliable and may be missing steps and/or important details.
So where can you find something authoritative? If the source does not exist, how do I implement the steps required to create it?