improve prompt templates to get response in yaml format and make parsing easier
also add debug file functionality so that exact input, prompts, and output can be easily seen for every request
* Parsing issue into llm request moved to `vc` package
* Converted "issue ID" string to "issue number" int
* Added config struct to `pullpal/common.go`
* Added multi-repo config support
* Added support for custom base branches for PRs
* Added configurable wait time
* Bot should comment on pull requests and threads when running into an
error
add a section of the main loop that checks for comments on PRs that the
bot has opened
reworks git logic and adds debug commands for git and llm stuff
changes a bunch of other stuff too
focus on fully automated as basic/default functionality. remove unnecessary commands except for local git debug. remove unnecessary interfaces and code. remove local git functionality from github client. probably some other stuff too
* Add configurable users to list issues from
* Add configurable labels to require on issues
* Add a CLI subcommand that lists issues according to the criteria and
does nothing else
* Update existing CLI REPL to list issues according to the new criteria
* Clean up and reorganize config code a little
* Add some basic types and function signature for listing comments on
code change requests
Implement cobra and stuff
Right now there is just one root command
You can set a config file, or pass flags in via CLI
Haven't figured out how to use env variables yet
But if you run the root command,
It'll check the repo for issues, and generate an LLM prompt
You can copy-paste it to the LLM chat, then copy-paste the response to a
different file
Then press enter in the CLI tool, and it will parse the response and
open a PR with the change
* Retrieving the current state (i.e. contents) of file at path in local
repo
* Starting a commit
* Updating the contents (or creating) file at path in local repo and
updating the "started" commit
* Finishing a commit
* Pushing commit to new remote branch (as part of creating a PR)
* Removing local repository on "shutdown"
Added "version control client" interface and created a Github
implementation of it. Right now it only creates pull requests and lists
issues.
Restructued some code. Idk if it will be permanent.
Next I plan to add behavior around replacing files in the local repo,
and creating commits.