pub fn git_diff() -> Result<String>Expand description
Get the diff of all changes (unstaged and staged).
Returns a formatted diff string suitable for LLM analysis.
This is similar to git diff HEAD.
Handles the case of an empty repository (no commits yet) by diffing against an empty tree using a read-only approach.