aider-script
aider-script is a CLI tool that streamlines using aider for common tasks, by allowing you to use reusable prompts templates which support being passed arguments when run.
- Define reusable prompt templates in Markdown
- Use variables in your prompt templates
- Specify in your template which files should automatically be loaded into context when running the prompt
- Commit the prompt templates to your repo to share with your team and refine them over time
For example you might have a template which adds an API route to your backend server, and it could take the URL pattern as an argument. You might have another template to add unit tests for a React component given the component name, and another which generates mock data for a third-party API call given the object schema name.
Table of Contents
Usage
Basic Usage
Example Template
Each prompt template is a markdown document with a frontmatter section (in YAML) which configures:
args: the names of any arguments to be passed into the templateread: files to be added to the LLM’s context as read-onlyedit: files to be edited by aider
All of the config options are optional.
args:
- - -
Inspect the type definition for {{ QUERY_NAME }} and create some...
Running the Template
# Basic usage
Arguments should be passed to the CLI
Preview the generated message
The --preview-message lets you see the message that will be passed to aider without actually running it (handy for double checking you’ve got the template right).
# Preview without running
# Generate mock data for ListMyFavouritesQuery
Template Syntax
Templates use tera templating syntax (see the example above). You can use variables from template arguments in your markdown.
Frontmatter Configuration
The template's frontmatter can specify:
args: Required template argumentsread: Files to be passed as read-only to aideredit: Files to be edited by aider
These are all optional.
Installation
Make sure you've installed and set up aider first.
Install using Cargo:
Contributing
Contributions are welcome! Please submit pull requests or open issues on the GitHub repository.