MCPcopy Create free account
hub / github.com/diillson/chatcli / reviewChangesScript

Function reviewChangesScript

cli/agent/workers/agents_git.go:154–190  ·  view source on GitHub ↗

reviewChangesScript provides a comprehensive diff review.

(ctx context.Context, input map[string]string, _ *engine.Engine)

Source from the content-addressed store, hash-verified

152
153// reviewChangesScript provides a comprehensive diff review.
154func reviewChangesScript(ctx context.Context, input map[string]string, _ *engine.Engine) (string, error) {
155 var results strings.Builder
156
157 commands := []struct {
158 name string
159 cmd string
160 args []string
161 }{
162 {"Changed Files", "git-changed", []string{}},
163 {"Full Diff", "git-diff", []string{}},
164 {"Recent Commits", "git-log", []string{"--limit", "5"}},
165 }
166
167 for _, c := range commands {
168 var buf bytes.Buffer
169 outWriter := engine.NewStreamWriter(func(line string) {
170 buf.WriteString(line)
171 buf.WriteString("\n")
172 })
173 errWriter := engine.NewStreamWriter(func(line string) {
174 buf.WriteString(line)
175 buf.WriteString("\n")
176 })
177
178 eng := engine.NewEngine(outWriter, errWriter, "")
179 err := eng.Execute(ctx, c.cmd, c.args)
180 outWriter.Flush()
181 errWriter.Flush()
182
183 fmt.Fprintf(&results, "### %s\n%s\n", c.name, buf.String())
184 if err != nil {
185 fmt.Fprintf(&results, "Error: %v\n", err)
186 }
187 }
188
189 return results.String(), nil
190}

Callers 1

TestReviewChangesScriptFunction · 0.85

Calls 5

ExecuteMethod · 0.95
FlushMethod · 0.95
NewStreamWriterFunction · 0.92
NewEngineFunction · 0.92
StringMethod · 0.45

Tested by 1

TestReviewChangesScriptFunction · 0.68