--- nav_order: 900 description: You can script aider via the command line or python. --- # Scripting aider You can script aider via the command line or python. ## Command line Aider takes a `--message` argument, where you can give it a natural language instruction. It will do that one thing, apply the edits to the files and then exit. So you could do: ```bash aider --message "make a script that prints hello" hello.js ``` Or you can write simple shell scripts to apply the same instruction to many files: ```bash for FILE in *.py ; do aider --message "add descriptive docstrings to all the functions" $FILE done ``` User `aider --help` to see all the command line options, but these are useful for scripting: ``` --stream, --no-stream Enable/disable streaming responses (default: True) [env var: AIDER_STREAM] --message COMMAND, --msg COMMAND, -m COMMAND Specify a single message to send GPT, process reply then exit (disables chat mode) [env var: AIDER_MESSAGE] --message-file MESSAGE_FILE, -f MESSAGE_FILE Specify a file containing the message to send GPT, process reply, then exit (disables chat mode) [env var: AIDER_MESSAGE_FILE] --yes Always say yes to every confirmation [env var: AIDER_YES] --auto-commits, --no-auto-commits Enable/disable auto commit of GPT changes (default: True) [env var: AIDER_AUTO_COMMITS] --dirty-commits, --no-dirty-commits Enable/disable commits when repo is found dirty (default: True) [env var: AIDER_DIRTY_COMMITS] --dry-run, --no-dry-run Perform a dry run without modifying files (default: False) [env var: AIDER_DRY_RUN] --commit Commit all pending changes with a suitable commit message, then exit [env var: AIDER_COMMIT] ``` ## Python You can also script aider from python: ```python from aider.coders import Coder from aider.models import Model # This is a list of files to add to the chat fnames = ["greeting.py"] model = Model("gpt-4-turbo") # Create a coder object coder = Coder.create(main_model=model, fnames=fnames) # This will execute one instruction on those files and then return coder.run("make a script that prints hello world") # Send another instruction coder.run("make it say goodbye") ``` See the [Coder.create() and Coder.__init__() methods](https://github.com/paul-gauthier/aider/blob/main/aider/coders/base_coder.py) for all the supported arguments. It can also be helpful to set the equivalend of `--yes` by doing this: ``` from aider.io import InputOutput io = InputOutput(yes=True) # ... coder = Coder.create(model=model, fnames=fnames, io=io) ```