diff --git a/README.md b/README.md index 0403b3e..f6dfece 100644 --- a/README.md +++ b/README.md @@ -1,88 +1,126 @@

- -

OpenCodeIntel

+ OpenCodeIntel +

+ +

OpenCodeIntel

+ +

+ Stop feeling lost in unfamiliar codebases.
+ Semantic code search powered by AI. Find anything, instantly.

- Finally understand your codebase + Try it Free +   ·   + Self-Host +   ·   + Docs +   ·   + Contribute

- CI Status + CI License - - Release + + Stars

+
+

- Quick Start • - Docs • - Contributing + OpenCodeIntel Demo

--- -You know that mass of code you inherited? The one where you spend 20 minutes grep-ing just to find where authentication happens? Where you're scared to change anything because you don't know what might break? +## The Problem + +You know the feeling. Day one on a new codebase. Deadline in two weeks. -**OpenCodeIntel fixes that.** +You need to find "where authentication happens" but the function is called `validateSessionToken()`. Grep for "auth" and you get nothing. You spend 20 minutes clicking through files, afraid to touch anything because you don't know what might break. -Search your code by what it *does*, not what it's named. Ask for "error handling" and find it—even when the function is called `processFailure()`. +Traditional code search matches text, not meaning. You have to already know what you're looking for to find it. - - +--- -## See it in action +## The Solution -| You search for... | It finds... | -|-------------------|-------------| -| `"authentication logic"` | `validateJWT()`, `checkSession()`, `authMiddleware.ts` | -| `"where we handle payments"` | `stripe/checkout.ts`, `processRefund()`, `PaymentService` | -| `"error handling"` | `processFailure()`, `onError()`, `catch` blocks across the codebase | +OpenCodeIntel understands your code the way you do. Search by what code *does*, not what it's named. + +```text +You search: "authentication logic" +It finds: validateSessionToken(), checkJWT(), authMiddleware.ts +``` + +```text +You search: "where we handle payments" +It finds: stripe/checkout.ts, processRefund(), PaymentService +``` + +```text +You search: "error handling" +It finds: catch blocks, onError(), processFailure() +``` No regex. No exact matches. Just describe what you're looking for. -## What else? +--- + +## Features + +### Semantic Code Search +Search by meaning, not keywords. Find that function even when you don't know its name. -**Dependency Graph** — See how your files connect. One glance shows you the architecture. +### Dependency Graph +Visualize how your files connect. Understand the architecture at a glance. -**Impact Analysis** — About to change `auth.ts`? Know exactly what breaks before you touch it. +### Impact Analysis +About to change `auth.ts`? Know exactly what breaks before you touch it. -**Code Style** — Understand your team's patterns. snake_case or camelCase? How are errors handled? +### Code Style Intelligence +Understand your team's patterns. snake_case or camelCase? How are errors handled? Match conventions instantly. -**Works with Claude** — Connects as an MCP server. Your AI assistant finally understands your codebase. +### Works with Claude (MCP) +Connect as an MCP server. Your AI assistant gets real context about your codebase, not just the file you have open. + +--- ## Quick Start +### Hosted (Fastest) + +Go to [opencodeintel.com](https://opencodeintel.com), connect your GitHub, and start searching in under a minute. + +### Self-Hosted + ```bash git clone https://github.com/OpenCodeIntel/opencodeintel.git cd opencodeintel cp .env.example .env -# Add your API keys +# Add your OpenAI + Pinecone API keys docker compose up -d ``` -Open http://localhost:3000. That's it. +Open [localhost:3000](http://localhost:3000). Done.
Manual setup (without Docker) -**Requirements:** Python 3.11+, Node.js 20+ +**Requirements:** Python 3.11+, Node.js 20+, Redis ```bash # Backend cd backend python -m venv venv && source venv/bin/activate pip install -r requirements.txt -cp .env.example .env python main.py # Frontend (new terminal) @@ -95,7 +133,7 @@ npm install && npm run dev
Connect to Claude Desktop (MCP) -Add to your Claude Desktop config: +Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`): ```json { @@ -112,38 +150,89 @@ Add to your Claude Desktop config: } ``` -See [full MCP setup guide](./docs/mcp-setup.md). +See [full MCP setup guide](./docs/mcp-setup.md)
+--- + +## Why I Built This + +I got tired of grep. + +Every time I joined a new project or inherited a codebase, I spent hours just figuring out where things lived. The original authors were gone. The docs were outdated. And I was scared to change anything because I couldn't see what depended on what. + +I wanted code search that actually understood what code does. Not pattern matching on text. Something that could answer "where do we handle user sessions?" without me already knowing the answer. + +OpenCodeIntel is the tool I wish I had. It's open source because I think every developer deserves to understand their code, not just those at companies with dedicated platform teams. + +--- + ## Architecture -``` +```text ┌─────────────────────────────────────────┐ -│ Frontend (React) │ +│ Frontend (React + Vite) │ └─────────────────┬───────────────────────┘ │ ┌─────────────────▼───────────────────────┐ │ Backend (FastAPI) │ +│ • Semantic indexing with OpenAI │ +│ • Dependency graph analysis │ +│ • Real-time WebSocket updates │ └───────┬─────────┬─────────┬─────────────┘ │ │ │ ┌────▼───┐ ┌───▼────┐ ┌──▼───┐ │Pinecone│ │Supabase│ │Redis │ - │vectors │ │database│ │cache │ + │vectors │ │metadata│ │cache │ └────────┘ └────────┘ └──────┘ ``` -## Docs +--- + +## Roadmap + +- [x] Semantic code search +- [x] GitHub OAuth integration +- [x] Dependency graph visualization +- [x] Impact analysis +- [x] MCP server for Claude +- [ ] VS Code extension +- [ ] Team workspaces +- [ ] Self-hosted Ollama support (no OpenAI required) +- [ ] GitLab / Bitbucket support -- [Docker Quickstart](./docs/docker-quickstart.md) — Running in 5 minutes -- [Deployment Guide](./docs/deployment.md) — Production setup -- [MCP Integration](./docs/mcp-setup.md) — Claude Desktop setup -- [Troubleshooting](./docs/docker-troubleshooting.md) — Common fixes +Want to influence the roadmap? [Open an issue](https://github.com/OpenCodeIntel/opencodeintel/issues). + +--- ## Contributing -We'd love your help. See [CONTRIBUTING.md](./CONTRIBUTING.md). +Found a bug? [Open an issue](https://github.com/OpenCodeIntel/opencodeintel/issues/new?template=bug_report.yml) + +Have an idea? [Request a feature](https://github.com/OpenCodeIntel/opencodeintel/issues/new?template=feature_request.yml) + +Want to contribute code? See [CONTRIBUTING.md](./CONTRIBUTING.md) + +--- + +## Documentation + +- [Docker Quickstart](./docs/docker-quickstart.md) +- [Deployment Guide](./docs/deployment.md) +- [MCP Integration](./docs/mcp-setup.md) +- [Troubleshooting](./docs/docker-troubleshooting.md) + +--- ## License [MIT](./LICENSE) + +--- + +

+ Website +   ·   + GitHub +

diff --git a/docs/assets/OpenCodeIntel_Fav.png b/docs/assets/OpenCodeIntel_Fav.png new file mode 100644 index 0000000..23877a0 Binary files /dev/null and b/docs/assets/OpenCodeIntel_Fav.png differ diff --git a/docs/assets/hero.png b/docs/assets/hero.png new file mode 100644 index 0000000..1985b61 Binary files /dev/null and b/docs/assets/hero.png differ diff --git a/frontend/index.html b/frontend/index.html index 8b0b6e2..f57da2d 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -2,12 +2,15 @@ - + + + + - CodeIntel - MCP Codebase Intelligence + OpenCodeIntel – Understand Any Codebase
diff --git a/frontend/public/favicon.png b/frontend/public/favicon.png new file mode 100644 index 0000000..23877a0 Binary files /dev/null and b/frontend/public/favicon.png differ diff --git a/frontend/public/vite.svg b/frontend/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/frontend/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/src/components/dashboard/TopNav.tsx b/frontend/src/components/dashboard/TopNav.tsx index f984409..0e2ebfe 100644 --- a/frontend/src/components/dashboard/TopNav.tsx +++ b/frontend/src/components/dashboard/TopNav.tsx @@ -42,11 +42,12 @@ export function TopNav({ onToggleSidebar, sidebarCollapsed, onOpenCommandPalette -
- OCI -
+ OpenCodeIntel OpenCodeIntel - MCP Server diff --git a/frontend/src/components/landing/Navbar.tsx b/frontend/src/components/landing/Navbar.tsx index 8f565db..1e9661f 100644 --- a/frontend/src/components/landing/Navbar.tsx +++ b/frontend/src/components/landing/Navbar.tsx @@ -35,9 +35,11 @@ export function Navbar({ minimal }: NavbarProps) {
{/* Logo */} -
- OCI -
+ OpenCodeIntel OpenCodeIntel
diff --git a/frontend/src/pages/Playground.tsx b/frontend/src/pages/Playground.tsx index 1c0fcaa..ba792ae 100644 --- a/frontend/src/pages/Playground.tsx +++ b/frontend/src/pages/Playground.tsx @@ -98,9 +98,11 @@ export function Playground({ onSignupClick }: PlaygroundProps) {