Repository: qodo-ai/open-aware
Branch: main
Commit: 68976a9dd957
Files: 6
Total size: 18.1 KB
Directory structure:
gitextract_mnivde17/
├── .gitignore
├── LICENSE
├── README.md
├── gemini-extension/
│ └── GEMINI.md
├── gemini-extension.json
└── indexed_repositories.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
node_modules/
.env
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2025 Qodo
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# Open Aware
**Open Aware** brings code intelligence directly to your AI assistant through **MCP** (Model Context Protocol). Go beyond keyword search, understand code semantically across multiple repositories with daily updated indexes.
---
## 📚 Table of Contents
- [Open Aware vs Qodo Aware](#open-aware-vs-qodo-aware)
- [Features](#features)
- [Integration with MCP](#-integration-with-mcp)
- [🧰 Agents](#-agents)
- [Context Retrieval (`get_context`)](#-context-retrieval-get_context-)
- [Deep Research (`deep_research`)](#-deep-research-deep_research-)
- [Context Ask (`ask`)](#-context-ask-ask-)
- [🤖 Prompts](#-prompts)
- [🔬 Examples](#-examples)
- [🏗️ Architecture](#️-architecture)
- [⚠️ Disclaimer](#️-disclaimer)
- [📤 Connect with Us](#-connect-with-us)
---
## Open Aware vs Qodo Aware
### Open Aware (This Repository) - Free Public Access
✅ **What you get:**
* Code intelligence tools (`get_context`, `deep_research`, `ask`), for pre-indexed popular open source libraries
* Daily updated indexes of popular OSS libraries (see `indexed_repositories.json`)
* Community support and documentation
* Free, and limited (currently ~10 calls/minutes)
⚙️ **What's limited:**
* No access to private repositories
* No customization of indexing or tools
### Qodo Aware - Enterprise Solution
✅ **What you get (everything above plus):**
* Private repository indexing and analysis
* Custom repository indexing schedules
* Advanced code intelligence features
* Enhanced privacy with zero data retention
* Enterprise-grade security and compliance
* Enterprise plans for high/unlimited usage
**👨💻 Developer Recommendation:** Start with Open Aware if you want to experiment with code intelligence on popular open source repositories for free. Choose Qodo Aware if you need to analyze private repositories, require enterprise features, or want dedicated support and infrastructure.
---
## 📋 Features
Compare **Open Aware** capabilities with standard agents:
| Category | Open Aware | CLI/Vibe Coding Agents | Why Open Aware is Different |
|----------|------------|-------------------|------------------------------|
| 🔍 **Advanced context** | ✅ Semantic understanding across entire repositories | ⚠️ Limited to open files/folders | Pre-indexed semantic search vs scanning local files |
| 🤖 **Agentic** | ✅ Researches complex deep architectural tasks | ⚠️ Code completion/generation focused | Answers "broad/deep" not just a "summary of local files" |
| 🛠️ **Aware engine** | ✅ Enterprise code intelligence via MCP | ❌ Consumer-grade autocomplete | Industrial analysis vs IDE suggestions |
| 🚀 **Cross-repo intelligence** | ✅ Analyzes multiple repos simultaneously | ❌ Single repo/workspace only | Understands interactions across repos |
| 🎯 **Up to date** | ✅ Daily indexed popular OSS libraries | ⚠️ Only your local version | Knows latest Flask/React/FastAPI changes globally |
---
## 🔌 Integration with MCP
Both tools are exposed through the **Model Context Protocol (MCP)**, making them easily accessible to any MCP-compatible AI assistant or development environment.
### Streamable HTTP (Recommended)
```json
{
"mcpServers": {
"open-aware": {
"url": "https://open-aware.qodo.ai/mcp"
}
}
}
```
### Streamable HTTP via remote proxy
```bash
npm install -g mcp-remote
```
```json
{
"mcpServers": {
"open-aware": {
"command": "npx",
"args": [
"mcp-remote",
"https://open-aware.qodo.ai/mcp"
]
}
}
}
```
---
## 🧰 Agents
The open-aware MCP server provides three powerful tools that can be integrated into your AI workflows:
🔨 Context Retrieval (get_context)
This tool performs **semantic search** across codebase(s) to find relevant code snippets.
**Key Features:**
- **Semantic Search**: Uses vector embeddings to find conceptually similar code, not just keyword matches.
- **Multi-Repository Support**: Search across multiple repositories simultaneously.
- **Language Filtering**: Filter results by programming language (Python, JavaScript, TypeScript, etc.).
- **Intelligent Ranking**: Returns results ranked by relevance with configurable result limits.
**Example Usage:**
```json
{
"tool": "get_context",
"parameters": {
"query": "authentication middleware implementation",
"repositories": ["backend/api", "frontend/app"], // Target specific repos
"language": ["python", "typescript"], // Filter by language
"max_results": 10 // Limit number of results
}
}
```
🔨 Deep Research (deep_research)
A **deep context agent** that can answer/plan/research complex queries about codebase(s) by analyzing code structure, patterns, and relationships.
**Key Features:**
- **Code Understanding**: Comprehends code logic, architecture, and design patterns.
- **Cross-Repository Analysis**: Can analyze relationships between different parts of your codebase.
- **Implementation Planning**: Helps plan new features based on existing code patterns.
- **Best Practice Recommendations**: Suggests improvements based on codebase analysis.
- **Architecture Insights**: Provides high-level understanding of system design.
**Example Usage:**
```json
{
"tool": "deep_research",
"parameters": {
"input": "How does the authentication flow work across our microservices? What security measures are in place?",
"repositories": ["backend/api", "frontend/app"], // Repos to analyze
"session_id": "analysis-123" // Track conversation context
}
}
```
🔨 Context Ask (ask)
A **Basic coding questions agent** that accepts query and provides details answer for selected coding repositories.
**Example Usage:**
```json
{
"tool": "ask",
"parameters": {
"input": "Explain about these repositories",
"repositories": ["backend/api", "frontend/app"], // Check impact across repos
"session_id": "analysis-123" // Track conversation context
}
}
```
---
## 🤖 Prompts
Learn how to effectively use Open Aware with these prompt examples:
```note
🚨🚨🚨 NOTE: Adding the repository name in the prompt helps the agent to focus and highly recommended.
Also, answering queries for repositories that are not in the index will not work.
See the supported repositories in the "indexed_repositories.json" file.
Dident found your favorite repos? open a pull request and add them to indexed repositories.json
```
### Example 1: Let your agent reason to select aware tools
```text
Use open-aware to:
repositories = [""]
```
### Example 2: Specifically use deep-research / get-context
```text
Use deep-research to:
repositories = [""]
```
```text
Use get-context to:
repositories = [""]
```
### Example 3: Granular search per repository/repositories
```text
Use open-aware to:
repositories = ["", "", ...]
```
---
## 🔬 Examples
### Comparison Based on Code Behavior
Make informed decisions based on actual implementation rather than just documentation:
```text
use deep_research:
Investigate repositories ["langchain-ai/langchain", "BerriAI/litellm"].
I don't know which one to use for LLM API calling. Create a comparison and help me decide.
```
**Expected Output:** Detailed comparison of both libraries' implementation approaches, performance characteristics, and suitability for your use case.
### Research for Implementation and Planning
Sometimes you need a feature that doesn't exist in a repository. This example shows how to research and plan a contribution:
```text
use deep_research:
Investigate repository ["pallets/flask"], is there capability to manage requests queue?
If not, I'd like to submit a PR for the Flask repo to suggest adding a queue for requests.
Therefore, investigate and plan how to do it and create a .md file plan for me to execute.
```
**What this does:**
1. First, the agent verifies if the requested feature already exists
2. If not, it analyzes the codebase to understand current implementation patterns
3. Creates a detailed plan aligned with the project's architecture
4. Ensures the changes won't break existing functionality
📖 More Use Cases
### Domain Categories:
| Scenario | Tool | Example Query | Expected Outcome | |
|----------|------|---------------|------------------|:---:|
| 🏛️ Understanding system architecture | `deep_research` | "Explain how our microservices communicate and what protocols they use" | Detailed explanation of service communication patterns, protocols, and data flow | 🏗️ |
| 🎨 Finding design patterns | `get_context` | "singleton pattern implementation" | Code examples of singleton patterns used in the codebase | 🏗️ |
| 🚨 Locating error handling patterns | `get_context` | "try catch error handling with logging" | Examples of error handling patterns with logging | 🔍 |
| 💰 Understanding business logic | `deep_research` | "How is pricing calculated for premium users?" | Detailed explanation of pricing logic and rules | 🔍 |
| 🔐 Analyzing authentication flow | `deep_research` | "Trace the complete OAuth2 authentication flow" | Step-by-step authentication process across services | 🛡️ |
| ⚠️ Identifying security vulnerabilities | `issues` | [code diff with auth changes] | Potential security issues in authentication changes | 🛡️ |
| ⚡ Planning feature additions | `deep_research` | "Where should we add caching for better performance?" | Strategic caching recommendations | 🚀 |
| 🔥 Understanding error sources | `deep_research` | "What could cause a 500 error in the checkout process?" | Potential failure points and error conditions | 🐛 |
| 🔌 Planning third-party integrations | `get_context` | "stripe payment integration" | Existing integration patterns and implementations | 🔗 |
| ✅ Validating best practices | `deep_research` | "Are we following REST best practices in our API design?" | Analysis of REST compliance and recommendations | 📝 |
🏗️ **Architecture & Design**
🔍 **Code Discovery & Learning**
🛡️ **Security & Authentication**
🚀 **Feature Development**
🐛 **Debugging & Troubleshooting**
🔗 **Integration & Migration**
📝 **Code Review & Quality**
---
## 🏗️ Architecture
---
## ⚠️ Disclaimer
**Important Notice**: The aware-open system indexes and analyzes publicly available code libraries and repositories.
- **No Warranty**: All code suggestions, analysis, and recommendations are provided "AS IS" without warranty of any kind.
- **Your Responsibility**: You are solely responsible for reviewing, testing, and validating any code before moving it to production.
- **No Liability**: We assume no liability for any damages, security issues, or problems that may arise from using code found through this system.
- **License Compliance**: Ensure you comply with the original licenses of any code you use or reference.
- **Security Review**: Always perform thorough security reviews and testing before deploying any code to production environments.
**Remember**: This tool is designed to assist in code discovery and analysis. Professional judgment, thorough testing, and security reviews are essential before using any code in production systems.
---
## 📤 Connect with Us
Join our community to get support, share feedback, and stay updated with the latest features!
[](https://discord.com/channels/1057273017547378788/1404804854265675867)
- 💬 **Get Help**: Ask questions and get support from our community.
- 🐛 **Report Issues**: Share bugs and help us improve.
- 💡 **Feature Requests**: Suggest new features and capabilities.
- 🚀 **Stay Updated**: Be the first to know about new releases.
- 👥 **Connect**: Meet other developers using aware-open.
================================================
FILE: gemini-extension/GEMINI.md
================================================
# Open Aware (MCP Extension)
Open Aware provides code-intelligence tools over pre-indexed open-source repositories via MCP.
What this extension adds:
- MCP server `open-aware` at `https://open-aware.qodo.ai/mcp` (SSE)
- Tools: `get_context`, `deep_research`, `ask`
Quick start (from Gemini CLI):
- Run `/mcp` to confirm the `open-aware` server is CONNECTED and tools are listed.
- Ask tasks that mention repositories, for example:
- "Use open-aware to compare `langchain-ai/langchain` vs `BerriAI/litellm` for API calling."
- "Use get-context to find 'authentication middleware' in `pallets/flask`."
Notes:
- Only repositories listed in `indexed_repositories.json` are supported.
- If you already linked this extension, restart the CLI to reload it.
More details in `README.md` of this repo under “Integration with MCP”.
================================================
FILE: gemini-extension.json
================================================
{
"name": "open-aware",
"version": "1.0.0",
"mcpServers": {
"open-aware": {
"url": "https://open-aware.qodo.ai/mcp"
}
},
"contextFileName": "gemini-extension/GEMINI.md"
}
================================================
FILE: indexed_repositories.json
================================================
{
"repos_to_index": [
{
"full_name": "HKUDS/LightRAG"
},
{
"full_name": "dair-ai/Prompt-Engineering-Guide"
},
{
"full_name": "angular/angular"
},
{
"full_name": "anthropics/claude-code"
},
{
"full_name": "ansible/ansible"
},
{
"full_name": "axios/axios"
},
{
"full_name": "BerriAI/litellm"
},
{
"full_name": "comfyanonymous/ComfyUI"
},
{
"full_name": "deepset-ai/haystack"
},
{
"full_name": "expressjs/express"
},
{
"full_name": "facebook/react"
},
{
"full_name": "fastapi/fastapi"
},
{
"full_name": "Fizzadar/pyinfra"
},
{
"full_name": "huggingface/transformers"
},
{
"full_name": "jerryjliu/llama_index"
},
{
"full_name": "jestjs/jest"
},
{
"full_name": "jlowin/fastmcp"
},
{
"full_name": "jquery/jquery"
},
{
"full_name": "kubernetes/kubernetes"
},
{
"full_name": "langchain-ai/langchain"
},
{
"full_name": "langchain-ai/langgraph"
},
{
"full_name": "langchain-ai/langgraphjs"
},
{
"full_name": "lllyasviel/Fooocus"
},
{
"full_name": "lodash/lodash"
},
{
"full_name": "modelcontextprotocol/go-sdk"
},
{
"full_name": "modelcontextprotocol/modelcontextprotocol"
},
{
"full_name": "modelcontextprotocol/python-sdk"
},
{
"full_name": "modelcontextprotocol/servers"
},
{
"full_name": "modelcontextprotocol/typescript-sdk"
},
{
"full_name": "numpy/numpy"
},
{
"full_name": "open-feature/flagd"
},
{
"full_name": "open-feature/spec"
},
{
"full_name": "openai/codex"
},
{
"full_name": "opencv/opencv"
},
{
"full_name": "pallets/flask"
},
{
"full_name": "pandas-dev/pandas"
},
{
"full_name": "promptslab/promptify"
},
{
"full_name": "psf/requests"
},
{
"full_name": "pytorch/pytorch"
},
{
"full_name": "qodo-ai/pr-agent"
},
{
"full_name": "saltstack/salt"
},
{
"full_name": "Significant-Gravitas/AutoGPT"
},
{
"full_name": "spring-projects/spring-ai"
},
{
"full_name": "spring-projects/spring-boot"
},
{
"full_name": "spring-projects/spring-framework"
},
{
"full_name": "spring-projects/spring-integration"
},
{
"full_name": "spring-projects/spring-modulith"
},
{
"full_name": "spring-projects/spring-security"
},
{
"full_name": "StackStorm/st2"
},
{
"full_name": "stanfordnlp/stanza"
},
{
"full_name": "tensorflow/tensorflow"
},
{
"full_name": "ungleich/cdist"
},
{
"full_name": "vuejs/core"
},
{
"full_name": "webpack/webpack"
},
{
"full_name": "microsoft/agent-framework"
},
{
"full_name": "microsoft/semantic-kernel"
}
]
}