If you used fluxcd you could remove the need for terraform and keeping the state. Validation can be done with kubeval. The issue would be connecting fluxcd with the local bare repo, but it could be exposed with a reverse tunnel.
Only the development environment is local.