A Vagrantfile is the main way of configuring a Vagrant environment. This file has no extension as such; it is simply found on your system as Vagrantfile , not .Vagrantfile or vagrantfile.Vagrantfile.
Using a Vagrantfile allows you to manage your Vagrant environment dependencies and settings. It is a best practice to have one Vagrantfile per Vagrant project, and to include the Vagrantfile in your source control.
One of the main benefits of using a Vagrantfile is the ability to share that file with any other developer that has Vagrant installed. They will be able to simply run the vagrant up command to pull in any dependencies, such as boxes, and to set up any configuration to get the same Vagrant environment up and running as you.