Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically detect and send files that are mentioned in the prompt #41

Merged
merged 15 commits into from
May 29, 2023

Conversation

ferrislucas
Copy link
Owner

@ferrislucas ferrislucas commented May 28, 2023

This PR adds an "auto-context" feature. The feature is on by default, but the user can use -dac or --disable-auto-context to turn it off. The feature looks at the user's input and automatically includes any files referenced by the user as additional context to be sent with the request to the model.

For example, if the prompt is "Add comments for the class defined in /src/services/Something.js" then Something.js will be included with the request as if the user had specified the path to Something.js as an argument.

The commits below were produced with promptr - the prompts are included in the commit message:

Prompt:
Modify the AutoContext.call method in src/services/AutoContext.js
Make AutoContext.call return an array of file paths. The file paths should be parsed from the prompt argument which is expected to be a string.
The prompt string may contain paths that look like absolute file paths, for example: /src/services/test.js
The prompt string may contain paths that look like relative file paths, for example: src/services/test.js
There can be multiple paths contained in the prompt argument.
Prompt:
Add comments to the class defined in src/services/AutoContext.js - make the comments Doxygen style
@ferrislucas ferrislucas changed the title Auto context Automatically detect and send files that are mentioned in the prompt May 28, 2023
Prompt:
Modify the PromptContext.call method in src/services/promptContext.js
Sometimes FileService.load will return null. If this happens then don't add anything to context.files.
Add mocha tests for these changes in test/PromptContext.test.js
Prompt:
Modify the FileService.load method in src/services/fileService.js
If the file does not exist then return null.
Add mocha tests for these changes in test/FileService.test.js
Use assert in the tests - not expect.
@ferrislucas ferrislucas marked this pull request as ready for review May 29, 2023 04:23
@ferrislucas ferrislucas merged commit 6a3eb04 into main May 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant