🗃️ "@
" Commands
How it works
@
Commands provide extra context (i.e. extra information) that can be included with your prompt to give the LLM more awareness of your work environment. To use this, type '@' inside the PearAI chat to see a dropdown containing a list of context options. Each context provider is a plugin, allowing you to reference an extra piece of information.
As an example, you are having trouble running an app locally, and there's a bunch of errors in the terminal. You can use @terminal
to include the error logs and further use @files
to include package.json
to immediately start debugging the problem. PearAI streamlines the debugging process by allowing you to gather a complete context all in one place.
!
Built-in Context Providers
PearAI comes with a few useful context providers ready to use out of the box. If you wish to remove or add context providers, you can do so in config.json
, under the contextProviders
list.
@Files
Allows you to specify a file as context.
{
"contextProviders": [
{
"name": "files"
}
]
}
@Codebase
Allows you to provide the codebase as context. Please note that depending on the size of your codebase, this may consume a lot of credits.
{
"contextProviders": [
{
"name": "codebase"
}
]
}
@Code
Allows you to specify functions/classes.
{
"contextProviders": [
{
"name": "code"
}
]
}
@Docs
Allows you to specify a documentation site as context.
{
"contextProviders": [
{
"name": "docs"
}
]
}
@Git Diff
This provides as context all the changes you've made on the current branch in reference to main. Use this to get a summary of your current work or to get a code review.
{
"contextProviders": [
{
"name": "diff"
}
]
}
@Terminal
Add your current terminal content as context.
{
"contextProviders": [
{
"name": "terminal"
}
]
}
@Problems
Adds the problems in your current file as context.
{
"contextProviders": [
{
"name": "problems"
}
]
}
@Folder
Reference everything within the specified folder as context.
{
"contextProviders": [
{
"name": "folder"
}
]
}
@Directory Structure
Provides the project's directory structure as context. You can use this context to let the LLM know of any changes you've made to the directory.
{
"contextProviders": [
{
"name": "directory"
}
]
}