As far as I know all this will be relevant next year.
This project is sample code that would go in your bot file.
The program runner will look at the directory you select when starting up the server and will need the run.bat file to know where the api is located. The run.sh version would be used in a Linux environment. I am positive that the run.py script which controls your bot has to be named run.py because the UI does not ask you the name of the script to run for your bot.
Because of the way Python packages work pycharm won't know where the battlecode api is located if you set your project location as the directory where your bot is located. However you can set two or more content roots with pycharm https://www.jetbrains.com/help/pycharm/configuring-content-roots.html. You can also find a tour to Pycharm here: https://www.jetbrains.com/help/pycharm/guided-tour-around-the-user-interface.html if you have never used it before. It is an incredibly powerful IDE. One of the most useful features in Pycharm is the documentation popup box. If your cursor is on an identifier then you can use ctrl + q to pull up documentation about that identifier if it exists.