How do people work with KV locally?

I am trying to get a dev workflow set up that uses KV. So far, I have gathered that there’s no simple/standard way for local instances (wrangler pages dev) to get access to remote KV resources – please correct me if I’m wrong.

One way I’ve learned to work with KV locally is to manually seed it using put(key, value), which stores the data in .wrangler. I am doing this through a special dev endpoint/function that I just hit via a browser once to seed the local KV directory. The entire process seems very hacky to me.

Maybe my doc game is bad, I have not found any blog/doc/forum posts that explain a “standard” way to work with KV during development. How do people usually work with KV locally?

You can use the wrangler commands for KV and add --local so it works with the local KV namespace.
Example: npx wrangler kv:key put key value --binding <your binding here>