> For the complete documentation index, see [llms.txt](https://werkhause.gitbook.io/firmware-uploader-terminal/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://werkhause.gitbook.io/firmware-uploader-terminal/sample-automatic-uploader.md).

# Sample automatic uploader (shell script based simple UI)

&#x20;&#x20;

The mental Model of a programmer script:

```
Press 'P':
    Enters the firmware directory.
    If git exists, it pulls the latest firmware. 
Press 's':
    Presents users a list of available serial / upload ports. 
    Select 1
Press 'u':
      It uploads the code based on the arduino-cli comamnd in 
      the script which uses the fuses and other info as mentioned 
      in the programmer_settings.yaml 
```
