
andreasjansson/github-code-understander
Agent that reads a public github repo and analyzes it based on a prompt
Public
4
runs
Run andreasjansson/github-code-understander with an API
Use one of our client libraries to get started quickly. Clicking on a library will take you to the Playground tab where you can tweak different inputs, see the results, and copy the corresponding code to use in your own project.
Input schema
The fields you can use to run this model with an API. If you don't give a value for a field its default value will be used.
Field | Type | Default value | Description |
---|---|---|---|
github_url |
string
|
GitHub URL to clone and analyze
|
|
prompt |
string
|
Analysis prompt for the code
|
{
"type": "object",
"title": "Input",
"required": [
"github_url",
"prompt"
],
"properties": {
"prompt": {
"type": "string",
"title": "Prompt",
"x-order": 1,
"description": "Analysis prompt for the code"
},
"github_url": {
"type": "string",
"title": "Github Url",
"x-order": 0,
"description": "GitHub URL to clone and analyze"
}
}
}
Output schema
The shape of the response you’ll get when you run this model with an API.
Schema
{
"type": "string",
"title": "Output"
}
Example API response
View prediction
('Short list of things that make this repo stand out (vs. Cursor / Windsurf):\n'
'\n'
'- Native Emacs-first design\n'
' - The entire chat is an editable Emacs buffer (markdown-like), not a '
'locked UI panel — you can edit assistant output, thinking blocks, tool '
'calls, save chats as files and continue them.\n'
' - Tree‑sitter grammar for the chat format: syntax/highlighting, folding, '
'clickable citations/URLs, TAB-based expansion.\n'
'\n'
'- Tooling as Emacs Lisp\n'
' - Tools are ordinary Emacs Lisp functions you register; you can write and '
'register arbitrary tools (file ops, ripgrep, shell, web read/search, etc.) '
'and pass buffer/callback/metadata/streaming hooks.\n'
' - Server tools (e.g., web_search) are modeled and registered too (JSON '
'schema strings).\n'
'\n'
'- Safe, auditable file editing workflow\n'
' - File edits are done by explicit named tools (str-replace, replace-file, '
'write-new-file, etc.) with checks (e.g., paren-balance for .el).\n'
' - Greger stages/commits changes to git automatically (and can commit the '
'chat file) so every agent edit has git provenance.\n'
'\n'
'- Streaming + tool execution model\n'
' - Assistant text is streamed incrementally; tool calls are recognized and '
'executed (in parallel) with placeholders inserted and streaming/tool '
'callbacks that fill results back into the buffer.\n'
' - Terminal/control‑sequence processing so CLI progress bars and streaming '
'outputs render sensibly in the buffer.\n'
'\n'
'- Rich UI transformations\n'
' - Tool inputs/results get syntax highlighting (creates a temp buffer with '
'appropriate major-mode based on file path), unified-diff generation for '
'str-replace, and “undiff” parsing back to original/new content.\n'
' - Folding/invisibility of tags, citation folding, and clickable links all '
'implemented with tree‑sitter + text properties.\n'
'\n'
'- Claude & Anthropic features baked in\n'
' - Built specifically for Claude models, uses prompt-caching/ephemeral '
'cache-control, explicit "thinking" blocks (separable internal reasoning '
'budget).\n'
' - Uses curl-based streaming client with fine-grained content-block '
'callbacks.\n'
'\n'
'- Security / UX choices\n'
' - Shell-command tool asks for permission unless a safe-command allowlist '
'or allow-all flag is set; metadata carries safe-shell-commands.\n'
' - Minimal external deps (only curl + common CLI tools) — Emacs-native '
'instead of requiring a separate service.\n'
'\n'
'- Extensibility & tests\n'
' - Easy to add custom tools (three-step process) and many examples.\n'
' - Large test suite and emphasis on correctness (parsing, diffing, tool '
'plumbing).\n'
'\n'
'In short: Greger is built as an Emacs-native, fully-text, tree‑sitter‑aware '
'agent framework where tools are first‑class Emacs Lisp functions and every '
'change is tracked and reviewable in git. That combination (editable '
'chat-as-file, Emacs Lisp tool extensibility, tree‑sitter UI/diffing, git '
'provenance, and streaming/tool plumbing) is the repo’s primary '
'differentiator compared to web/IDE‑centric agents like Cursor or Windsurf.')