feat(pierre): add diff chunking and configurable review settings

This commit is contained in:
u80864958
2026-02-13 16:18:49 +01:00
parent 2cb64194b9
commit 61d538d4a5
8 changed files with 261 additions and 24 deletions

View File

@@ -37,7 +37,14 @@ type LLMConfig struct {
Model string `help:"Model to use" env:"LLM_MODEL"`
}
type ReviewConfig struct {
MaxChunkChars int `help:"Maximum diff chunk size in characters (default 60000)" default:"60000"`
Guidelines []string `help:"Project-specific review guidelines"`
DisableComments bool `help:"Do not post comments to the Git provider (dryrun mode)"`
}
type Config struct {
Review ReviewConfig `embed:"" prefix:"review-"`
GitProvider string `help:"Git provider (bitbucket or gitea)" env:"GIT_PROVIDER"`
Bitbucket BitbucketConfig `embed:"" prefix:"bitbucket-"`
Gitea GiteaConfig `embed:"" prefix:"gitea-"`
@@ -117,7 +124,7 @@ func main() {
log.Fatalf("Error initializing AI: %v", err)
}
pierreService := pierre.New(ai, git)
pierreService := pierre.New(ai, git, cfg.Review.MaxChunkChars, cfg.Review.Guidelines, cfg.Review.DisableComments)
if err := pierreService.MakeReview(context.Background(), cfg.Repo.Owner, cfg.Repo.Repo, cfg.Repo.PRID); err != nil {
log.Fatalf("Error during review: %v", err)
}