BOOT0 should be always low to let the micro start with your application in flash. But unless you already have flashed some code, I assume that it is still empty. But all this is only relevant if you want to flash code using DFU. If you plan to always flash the device via SWD, then you can directly tie that pin to GND.
SWD is always available (independent from BOOTx) unless it is being disabled from your application code (be careful with that, since that can lock up the micro :-)
Your STlink header is lacking the 3.3V supply. It depends on what programmer you have, but many of them have VDD sensing, and need to be able to probe the target board's supply voltage for level translation. My guess would be that it works after you add another lead for VDD, going to the STlink.
Also, these devices have an internal power supply supervisor that generates a proper reset sequence when VCC ramps up. Your RC at the reset pin is not necessary, you can try leaving that pin unconnected. This also helps the STlink reset the micro, which would otherwise not be possible.