Spaces:
Running
Running
Asish Karthikeya Gogineni commited on
Commit ·
b07b8c4
1
Parent(s): 5b89d45
Refactor: Removed all Sage branding and assets
Browse files- CODE_OF_CONDUCT.md +1 -1
- CONTRIBUTING.md +6 -11
- MANIFEST.in +3 -3
- README.md +60 -58
- assets/storia-logo.png +0 -0
- setup.py +12 -1
CODE_OF_CONDUCT.md
CHANGED
|
@@ -60,7 +60,7 @@ representative at an online or offline event.
|
|
| 60 |
|
| 61 |
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
| 62 |
reported to the community leaders responsible for enforcement at
|
| 63 |
-
|
| 64 |
All complaints will be reviewed and investigated promptly and fairly.
|
| 65 |
|
| 66 |
All community leaders are obligated to respect the privacy and security of the
|
|
|
|
| 60 |
|
| 61 |
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
| 62 |
reported to the community leaders responsible for enforcement at
|
| 63 |
+
reported to the community leaders responsible for enforcement.
|
| 64 |
All complaints will be reviewed and investigated promptly and fairly.
|
| 65 |
|
| 66 |
All community leaders are obligated to respect the privacy and security of the
|
CONTRIBUTING.md
CHANGED
|
@@ -1,18 +1,13 @@
|
|
| 1 |
-
# Contributing to
|
| 2 |
-
Thank you for considering contributing to
|
| 3 |
-
|
| 4 |
-
If you are looking for an internship or full-time job, becoming a contributor is the best way to surface to the top of our resume stack!
|
| 5 |
|
| 6 |
## Ways to contribute
|
| 7 |
We welcome your help in multiple directions. Feel free to pick the one that best matches your skills and interest:
|
| 8 |
|
| 9 |
-
- **Improving documentation**. All our documentation is currently in the project [README](README.md).
|
| 10 |
-
- **Simplifying the setup**. All setup instructions are documented in the [README](README.md).
|
| 11 |
-
- **
|
| 12 |
-
- **
|
| 13 |
-
- **Evaluation**. We are currently using our own benchmark for retrieval (more details [here](benchmarks/retrieval/README.md)), but we welcome suggestions for additional datasets, evaluation metrics or evaluation pipelines.
|
| 14 |
-
- **UI/UX**. The chat experience is surfaced via a barebones Gradio app. We want to hear your suggestions for more practical or prettier form factors.
|
| 15 |
-
- **Branding and marketing**. If you have suggestions for better imagery (logos / header image), messaging or social media presence, we're all ears!
|
| 16 |
|
| 17 |
### Code contributions
|
| 18 |
For code contributions in particular, we suggest the following workflow:
|
|
|
|
| 1 |
+
# Contributing to Codebase Agent
|
| 2 |
+
Thank you for considering contributing to Codebase Agent! We welcome all kinds of contributions.
|
|
|
|
|
|
|
| 3 |
|
| 4 |
## Ways to contribute
|
| 5 |
We welcome your help in multiple directions. Feel free to pick the one that best matches your skills and interest:
|
| 6 |
|
| 7 |
+
- **Improving documentation**. All our documentation is currently in the project [README](README.md).
|
| 8 |
+
- **Simplifying the setup**. All setup instructions are documented in the [README](README.md).
|
| 9 |
+
- **Features**. Check the issues tab or propose new features!
|
| 10 |
+
- **UI/UX**. The chat experience is via Streamlit. Suggestions for improvements are welcome.
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
### Code contributions
|
| 13 |
For code contributions in particular, we suggest the following workflow:
|
MANIFEST.in
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
-
include
|
| 2 |
-
include
|
| 3 |
-
include
|
|
|
|
| 1 |
+
include code_chatbot/prompts.py
|
| 2 |
+
include rate_limit_config.py
|
| 3 |
+
include requirements.txt
|
README.md
CHANGED
|
@@ -1,58 +1,60 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
|
|
|
|
|
|
|
|
| 1 |
+
# Codebase Agent 🕷️
|
| 2 |
+
|
| 3 |
+
**Codebase Agent** is an intelligent, local-first code analysis tool that helps you understand, navigate, and query your codebase using advanced AI agents.
|
| 4 |
+
|
| 5 |
+
Think of it as a private, super-powered developer assistant that knows your code inside out.
|
| 6 |
+
|
| 7 |
+

|
| 8 |
+
|
| 9 |
+
## ✨ Key Features
|
| 10 |
+
|
| 11 |
+
- **🛡️ 100% Local option**: Run with Ollama + local embeddings for complete privacy.
|
| 12 |
+
- **🧠 Agentic Reasoning**: Uses AST (Abstract Syntax Tree) analysis and Call Graphs to trace execution and dependencies.
|
| 13 |
+
- **🕸️ Call Graph Navigation**: Ask questions like "Who calls `database.connect`?" or "What acts as the entry point?".
|
| 14 |
+
- **⚡ Multiple Providers**: Support for **Google Gemini** (1M+ context), **Groq** (fast inference), and standard OpenAI-compatible APIs.
|
| 15 |
+
- **📂 Universal Ingestion**: Upload ZIP files or point to GitHub repositories.
|
| 16 |
+
|
| 17 |
+
## 🚀 Quick Start
|
| 18 |
+
|
| 19 |
+
1. **Clone the repository**:
|
| 20 |
+
```bash
|
| 21 |
+
git clone https://github.com/Asishkarthikeya/Codebase_Agent.git
|
| 22 |
+
cd Codebase_Agent
|
| 23 |
+
```
|
| 24 |
+
|
| 25 |
+
2. **Install dependencies**:
|
| 26 |
+
```bash
|
| 27 |
+
pip install -r requirements.txt
|
| 28 |
+
```
|
| 29 |
+
|
| 30 |
+
3. **Run the application**:
|
| 31 |
+
```bash
|
| 32 |
+
streamlit run app.py
|
| 33 |
+
```
|
| 34 |
+
|
| 35 |
+
4. **Upload & Chat**:
|
| 36 |
+
- Open `http://localhost:8501`
|
| 37 |
+
- Enter your API Key (e.g., Gemini or Groq) in the sidebar
|
| 38 |
+
- Upload a `.zip` of your code or provide a GitHub URL
|
| 39 |
+
- Start chatting!
|
| 40 |
+
|
| 41 |
+
## 🔧 Configuration
|
| 42 |
+
|
| 43 |
+
The agent creates a `.env` file for your configuration, but you can also set these environment variables manually:
|
| 44 |
+
|
| 45 |
+
- `GOOGLE_API_KEY`: For Gemini models
|
| 46 |
+
- `GROQ_API_KEY`: For Groq models
|
| 47 |
+
- `QDRANT_API_KEY`: For Qdrant vector DB
|
| 48 |
+
|
| 49 |
+
## 🤖 Agent Credentials
|
| 50 |
+
|
| 51 |
+
This project uses:
|
| 52 |
+
- **Streamlit** for the UI
|
| 53 |
+
- **LangChain** for orchestration
|
| 54 |
+
- **ChromaDB** for vector storage
|
| 55 |
+
- **NetworkX** for code graph analysis
|
| 56 |
+
- **Tree-sitter** for robust parsing
|
| 57 |
+
|
| 58 |
+
## License
|
| 59 |
+
|
| 60 |
+
MIT License. See [LICENSE](LICENSE) for details.
|
assets/storia-logo.png
DELETED
|
Binary file (11.2 kB)
|
|
|
setup.py
CHANGED
|
@@ -1,4 +1,15 @@
|
|
| 1 |
# Work-around the fact that `pip install -e .` doesn't work with `pyproject.toml` files.
|
| 2 |
from setuptools import setup
|
| 3 |
|
| 4 |
-
setup(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
# Work-around the fact that `pip install -e .` doesn't work with `pyproject.toml` files.
|
| 2 |
from setuptools import setup
|
| 3 |
|
| 4 |
+
setup(
|
| 5 |
+
name="code_chatbot",
|
| 6 |
+
version="0.1.0",
|
| 7 |
+
packages=["code_chatbot", "api"],
|
| 8 |
+
install_requires=[
|
| 9 |
+
"streamlit",
|
| 10 |
+
"langchain",
|
| 11 |
+
"chromadb",
|
| 12 |
+
"networkx",
|
| 13 |
+
"tree-sitter",
|
| 14 |
+
],
|
| 15 |
+
)
|