If you don't know what a smart contract is, learn about it here.
Every Solidity file needs:
1. License Identifier: A comment at the top declaring the license.
Write: // SPDX-License-Identifier: MIT
2. Pragma Statement: Tells the compiler which Solidity version to use.
Write: pragma solidity ^0.8.0;
(The ^ means "0.8.0 or higher, but not 0.9.0+")
3. Contract Definition: Like a class in other languages.
Write: contract TicTacToe { }
Everything part of the contract will go inside the curly braces { }.