Cabal project

I am checking cardano smart contract in github.
There are cabal.project & hie.yaml files.
When do these files be created?
How can I create empty cabal project?