The Circuit Playground Classic is 'natively' supported in the Arduino IDE so its really easy to set up!
Download the latest Arduino IDE, version 1.8.5 or greater is required!
You can also use Arduino Create, in which case the IDE is already the latest version
When you plug in the board, you'll need to possibly install a driver
Select Circuit Playground from the Tools -> Board dropdown menul
Plug in the Circuit Playground and wait for it to be recognized by the OS (just takes a few seconds). It will create a serial/COM port, you can now select it from the dropdown, it'll even be 'indicated' as a Circuit Playground board!
And click upload! That's it, you will be able to see the LED blink rate change as you adapt the delay() calls.
Once it is in bootloader mode, you can select the newly created COM/Serial port and re-try uploading.
If you ever get in a 'weird' spot with the bootloader, or you have uploaded code that crashes and doesn't auto-reboot into the bootloader, click the RESET button twice (like a double-click) to get back into the bootloader.
The red LED will pulse so you know that its in bootloader mode.
In the Arduino IDE, re-select the Serial Port to the new port that has been created for the bootloader.
Then upload Blink - make sure that works!
Once that works, go back and re-select the 'normal' USB serial port next time you want to use the normal upload.
Note if you're using Ubuntu 15.04 (or perhaps other more recent Linux distributions) there is an issue with the modem manager service which causes the Bluefruit LE micro to be difficult to program. If you run into errors like "device or resource busy", "bad file descriptor", or "port is busy" when attempting to program then you are hitting this issue.
The fix for this issue is to make sure Adafruit's custom udev rules are applied to your system. One of these rules is made to configure modem manager not to touch the Feather board and will fix the programming difficulty issue. Follow the steps for installing Adafruit's udev rules on this page.