How saghosh8/ai-devops-release-assistant works
This is an AI DevOps release assistant that grew from Gemini runbook Q&A into a tool-using agent, while retaining a separate RAG path for repository history. Users enter through the CLI or MCP; the agent plans investigations, invokes GitHub and analysis capabilities, applies safety checks, and returns an answer or proposed action. The RAG path ingests GitHub material, indexes it, retrieves relevant chunks, and grounds answers with Ollama. Several links rely on the SOURCE INDEX or README because the corresponding implementation was not excerpted; they are cited only where those references establish the relationship.
Main entry points: agent.py Planning agent · retriever.py Retriever · ask_rag.py RAG question entry · client.py Gemini client
Components 25
User interfaces
- Command CLI
devops_assistant/cli.py - MCP server
devops_assistant/mcp_server.py - RAG question entry
devops_assistant/rag/ask_rag.py
Agent investigation
- Planning agent
devops_assistant/agent.py - GitHub tools
devops_assistant/github_tools.py - CI analysis
devops_assistant/analysis/ci_failure_analysis.py - Commit analysis
devops_assistant/analysis/commit_analysis.py - Deployment troubleshooting
devops_assistant/analysis/deployment_troubleshooting.py - PR review
devops_assistant/analysis/pr_review.py - Log analysis
devops_assistant/analysis/log_analysis.py
Repository knowledge
- GitHub ingestion
devops_assistant/rag/ingest.py - Document chunking
devops_assistant/rag/chunking.py - Embedding model
devops_assistant/rag/embeddings.py - Retriever
devops_assistant/rag/retriever.py - FAISS vector store
devops_assistant/rag/vectorstore.py - Grounded answer
devops_assistant/rag/rag_client.py
Safety and telemetry
- Guardrails
devops_assistant/security.py - Cost and latency
devops_assistant/observability.py
Language models
- Prompt templates
devops_assistant/prompts.py - Gemini client
devops_assistant/client.py
Other components
- DevOps user
- GitHub API
- Ollama
- Gemini API
- Structured runbook
Connections 29
- DevOps user → Command CLI: asks through
README.md - Command CLI → Planning agent: runs agent
devops_assistant/cli.py - Command CLI → Gemini client: sends Q&A
devops_assistant/cli.py - Gemini client → Prompt templates: uses prompts
devops_assistant/client.py - Gemini client → Gemini API: calls API
devops_assistant/client.py - Gemini client → Structured runbook: returns structured
README.md - DevOps user → MCP server: requests tools
README.md - MCP server → Planning agent: invokes agent
devops_assistant/mcp_server.py - Planning agent → GitHub tools: calls tools
devops_assistant/agent.py - GitHub tools → GitHub API: reads and writes
devops_assistant/github_tools.py - Planning agent → CI analysis: analyzes failures
devops_assistant/agent.py - Planning agent → Commit analysis: analyzes commits
devops_assistant/agent.py - Planning agent → Deployment troubleshooting: troubleshoots
devops_assistant/agent.py - Planning agent → PR review: reviews PRs
devops_assistant/agent.py - CI analysis → Log analysis: extracts errors
devops_assistant/analysis/ci_failure_analysis.py - Planning agent → Guardrails: validates results
devops_assistant/agent.py - Planning agent → Cost and latency: records metrics
devops_assistant/agent.py - DevOps user → RAG question entry: asks repository question
README.md - RAG question entry → Retriever: retrieves context
devops_assistant/rag/ask_rag.py - RAG question entry → GitHub ingestion: builds index
devops_assistant/rag/ask_rag.py - GitHub ingestion → GitHub API: fetches repository data
devops_assistant/rag/ingest.py - Retriever → GitHub ingestion: loads documents
devops_assistant/rag/retriever.py - Retriever → Document chunking: chunks documents
devops_assistant/rag/retriever.py - Retriever → Embedding model: embeds chunks
devops_assistant/rag/retriever.py - Retriever → FAISS vector store: builds and searches
devops_assistant/rag/retriever.py - RAG question entry → Grounded answer: requests answer
devops_assistant/rag/ask_rag.py - Grounded answer → Retriever: retrieves chunks
devops_assistant/rag/rag_client.py - Grounded answer → Ollama: generates answer
devops_assistant/rag/rag_client.py - Planning agent → Retriever: searches history
devops_assistant/agent.py