When programming an Arduino microcontroller board for the first time, most people use the Arduino IDE, a graphical development environment. However, if you prefer the command line, you have a powerful alternative: Arduino CLI.
The Arduino  project was initially created in 2005 at the Interaction Design Institute Ivrea in Italy as an educational tool to teach students how to create and program interactive devices with sensors and actuators. Over time, the project expanded beyond its academic origins and became the go-to platform for hobbyists interested in programming microcontroller boards.
The Arduino graphical integrated development environment (IDE)  (Figure 1) has played a significant role in Arduino’s success. It’s easy to learn, without too many bells and whistles, but with all the basics you need. If you’re satisfied with the Arduino IDE or if you use another IDE for Arduino, such as Visual Studio Code  with PlatformIO , feel free to continue using them. However, many developers have a command-line-centric workflow because it allows them to work more efficiently, while making it possible to check automatically whether an Arduino sketch still compiles correctly after a code or dependency update.
Fortunately, if you prefer a command-line environment for Arduino development, you have an official solution: Arduino CLI . Although its API is still considered unstable until a 1.0 release, it’s already an integral part of the Arduino IDE. The command-line interface (CLI) is used by the IDE as a back end for tasks such as detecting boards, compiling sketches, uploading firmware to boards, installing cores and libraries, and more.
Use Express-Checkout link below to read the full article (PDF).