Loading repository data…
Loading repository data…
Nevin100 / repository
DevDocxAI is a production-grade multi-agent AI system that automatically generates, maintains, and updates engineering documentation by deeply understanding you…DevDocAI is a production-grade multi-agent AI system that automatically generates, maintains, and updates doc. by understanding deeply.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
DevDocxAi is a production-grade multi-agent LangGraph system that automatically generates and updates engineering documentation from your GitHub codebase.
Every engineering team has the same dirty secret — the docs are lying.
Not intentionally. Code moves fast, documentation doesn't.
DevDocAI fixes this.
START
↓
codebase_parser ← AST-level parsing of GitHub repo
↓
doc_generator ← LLM generates structured docs per module/function
↓
brave_researcher ← enriches with external context (libraries, best practices)
↓
HITL checkpoint ← dev reviews generated docs before publish
↓
doc_publisher ← saves to DB + updates vector store
↓
pr_watcher ← GitHub webhook re-triggers on every PR merge
↓
END
Parallel → onboarding_chatbot ← RAG over vector store for new devs
| Layer |
|---|
| Technology |
|---|
| Agent Framework | LangGraph (multi-agent, HITL, checkpointing) |
| Backend | FastAPI + Python 3.12 |
| Frontend | Next.js + Tailwind CSS |
| LLM | Groq — llama-3.3-70b-versatile |
| Embeddings | Cohere embed-english-v3.0 |
| Vector DB | Qdrant |
| Database | PostgreSQL (Neon prod / Docker dev) |
| Cache | Redis (Upstash) |
| Storage | AWS S3 |
| Web Search | Brave Search API |
| Observability | LangSmith |
| Tool Protocol | MCP (Model Context Protocol) |
| Auth | JWT + GitHub OAuth |
| Package Manager | uv |
| Deployment | AWS ECR + ECS Fargate |
| CI/CD | GitHub Actions |
devdocai/
├── backend/
│ ├── auth/
│ │ ├── jwt.py ← JWT create/verify
│ │ ├── github_oauth.py ← GitHub OAuth flow
│ │ └── routes.py ← HTTP layer only
│ ├── db/
│ │ ├── database.py ← async PostgreSQL engine
│ │ └── models.py ← SQLAlchemy ORM models
│ ├── repositories/
│ │ └── user_repository.py ← all DB queries isolated here
│ ├── schemas/
│ │ └── auth_schemas.py ← Pydantic v2 request/response models
│ ├── services/
│ │ └── auth_service.py ← business logic layer
│ ├── utils/
│ │ ├── helper_auth.py ← bcrypt password helpers
│ │ └── encryption.py ← Fernet encryption for tokens
│ ├── mcp/
│ │ └── github_server.py ← GitHub tools for LangGraph agents
│ ├── agents/
│ │ ├── codebase_parser.py
│ │ ├── doc_generator.py
│ │ ├── brave_researcher.py
│ │ ├── doc_publisher.py
│ │ └── onboarding_chatbot.py
│ ├── graph/
│ │ ├── state.py
│ │ ├── pipeline.py
│ │ └── hitl.py
│ ├── webhooks/
│ │ └── github_pr.py ← PR merge webhook handler
│ ├── cache/
│ │ └── redis_client.py ← Upstash Redis caching
│ ├── vectorstore/
│ │ ├── embeddings.py
│ │ └── qdrant_store.py
│ ├── config.py ← all env vars, pydantic-settings
│ └── main.py ← FastAPI app entry point
├── frontend/ ← Phase 6
│ ├── app/
│ │ ├── dashboard/
│ │ ├── review/ ← HITL review panel
│ │ └── chat/ ← onboarding chatbot UI
└── .github/
└── workflows/
└── deploy.yml ← Phase 7
Clean layered architecture — every layer has one job:
Route → HTTP only (request / response)
↓
Service → Business logic
↓
Repository → DB queries only
↓
Database
git clone https://github.com/Nevin100/DevDocxAI.git
cd DevDocxAI/backend
uv venv
# Windows
.venv\Scripts\activate
# Mac/Linux
source .venv/bin/activate
uv add -r requirements.txt
cp .env.example .env
# Fill in your actual values in .env
# JWT Secret
python -c "import secrets; print(secrets.token_hex(32))"
# Fernet Encryption Key
python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
docker run -d \
--name devdocai_postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=devpassword \
-e POSTGRES_DB=devdocai \
-p 5432:5432 \
-v devdocai_pgdata:/var/lib/postgresql/data \
postgres:16
# Windows
.venv\Scripts\python.exe -m uvicorn main:app --reload
# Mac/Linux
uvicorn main:app --reload
http://localhost:8000/docs
| Variable | Required Now | Description |
|---|---|---|
DATABASE_URL | ✅ | PostgreSQL connection string with +asyncpg |
JWT_SECRET_KEY | ✅ | Random secret for JWT signing |
ENCRYPTION_KEY | ✅ | Fernet key for token encryption |
GROQ_API_KEY | ✅ | From console.groq.com |
LANGCHAIN_API_KEY | ✅ | From smith.langchain.com |
GITHUB_CLIENT_ID | ✅ | GitHub OAuth App |
GITHUB_CLIENT_SECRET | ✅ | GitHub OAuth App |
COHERE_API_KEY | ✅ | From cohere.com |
BRAVE_SEARCH_API_KEY | ✅ | From brave.com/search/api |
REDIS_URL | ✅ | Upstash Redis URL |
AWS_ACCESS_KEY_ID | ⏳ Phase 7 | S3 storage |
User
└── Repository
├── Document (DocStatus: PENDING → APPROVED → PUBLISHED)
└── PipelineRun (trigger: manual | pr_merge | webhook)
| Phase | What | Status |
|---|---|---|
| Phase 1 | Backend Foundation (FastAPI, DB, Auth, JWT) | ✅ Complete |
| Phase 2 | GitHub OAuth + MCP Server | ✅ Complete |
| Phase 3 | LangGraph Core (State, Pipeline, HITL) | ✅ Complete |
| Phase 4 | Agents (Parser, Generator, Researcher, Chatbot) | ✅ Complete |
| Phase 5 | Webhooks + Redis Cache | ✅ Complete |
| Phase 6 | Next.js Frontend | 🔨 In Progress |
| Phase 7 | Docker + ECR/ECS Fargate + CI/CD | 🔜 Soon |
Following the build in public on dev.to:
This project is under active development. Feel free to open issues or PRs.