How codedog-ai/codedog works
Codedog retrieves GitHub/GitLab pull-request data, prepares changed-file inputs, generates per-file summaries and review feedback with LLM chains, then formats a Markdown report. The README also documents commit-triggered reviews, developer evaluation, scoring, multilingual output, and email notifications. Those secondary capabilities are represented at subsystem level; their wiring is not fully established by the sampled source.
Main entry points: run_codedog.py CLI workflow · pull_request.py Markdown reporting · github_retriever.py GitHub retriever · gitlab_retriever.py GitLab retriever
Components 20
Entry and orchestration
- CLI workflow
run_codedog.py - PR processor
codedog/processors/pull_request_processor.py
Change retrieval
- GitHub retriever
codedog/retrievers/github_retriever.py - GitLab retriever
codedog/retrievers/gitlab_retriever.py - PR data models
codedog/models/pull_request.py
LLM analysis
- PR summary chain
codedog/chains/pr_summary/base.py - Code review chain
codedog/chains/code_review/base.py - Review translation
codedog/chains/code_review/translate_code_review_chain.py - Review prompts
codedog/chains/code_review/prompts.py - Language templates
codedog/templates/template_en.py
Reports and extensions
- Markdown reporting
codedog/actors/reporters/pull_request.py - Review scoring
codedog/actors/reporters/code_review.py - Email notifications
codedog/utils/email_utils.py - Commit review trigger
codedog/utils/git_hooks.py - Developer evaluation
codedog/utils/code_evaluator.py - Repository analyzer
codedog/utils/remote_repository_analyzer.py
Other components
- Developer
- GitHub
- GitLab
- LLM provider
Connections 25
- Developer → CLI workflow: starts review
- CLI workflow → GitHub retriever: selects platform
- CLI workflow → GitLab retriever: selects platform
- GitHub retriever → GitHub: fetches changes
- GitLab retriever → GitLab: fetches changes
- GitHub retriever → PR data models: builds PR data
- GitLab retriever → PR data models: builds PR data
- CLI workflow → PR processor: prepares changes
- CLI workflow → PR summary chain: requests summary
- CLI workflow → Code review chain: requests review
- PR summary chain → LLM provider: generates summaries
- Code review chain → LLM provider: reviews changes
- Code review chain → Review prompts: uses prompts
- Review translation → LLM provider: translates feedback
- Review translation → PR processor: processes PR
- CLI workflow → Markdown reporting: formats report
- Markdown reporting → Language templates: renders language
- Markdown reporting → Review scoring: includes review
- Review scoring → Review prompts: extracts scores
- Markdown reporting → Email notifications: may notify
- Developer → Commit review trigger: triggers review
- Developer → Developer evaluation: requests evaluation
- Developer evaluation → Repository analyzer: analyzes commits
- Repository analyzer → GitHub: reads repository
- Repository analyzer → GitLab: reads repository