Skip to content

Commit d3ca6d0

Browse files
committed
IDE extension
1 parent 6ac6cd4 commit d3ca6d0

17 files changed

Lines changed: 1462 additions & 304 deletions

File tree

.github/workflows/docker-build.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Docker Build Test
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- develop
8+
pull_request:
9+
branches:
10+
- main
11+
- develop
12+
workflow_dispatch:
13+
14+
jobs:
15+
docker-build-test:
16+
runs-on: ubuntu-latest
17+
name: Test Docker Build
18+
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
23+
- name: Set up Docker Buildx
24+
uses: docker/setup-buildx-action@v3
25+
26+
- name: Build Backend Docker Image
27+
uses: docker/build-push-action@v5
28+
with:
29+
context: ./backend
30+
file: ./backend/Dockerfile
31+
push: false
32+
tags: openmemory-backend:test
33+
cache-from: type=gha
34+
cache-to: type=gha,mode=max
35+
36+
- name: Test Docker Compose Build
37+
run: |
38+
docker compose build
39+
docker compose config
40+
41+
- name: Start Services
42+
run: |
43+
docker compose up -d
44+
sleep 10
45+
46+
- name: Check Health Endpoint
47+
run: |
48+
max_attempts=30
49+
attempt=0
50+
until curl -f http://localhost:8080/health || [ $attempt -eq $max_attempts ]; do
51+
echo "Waiting for service to be healthy... (attempt $((attempt+1))/$max_attempts)"
52+
sleep 2
53+
attempt=$((attempt+1))
54+
done
55+
56+
if [ $attempt -eq $max_attempts ]; then
57+
echo "Service failed to become healthy"
58+
docker compose logs
59+
exit 1
60+
fi
61+
62+
echo "✅ Service is healthy!"
63+
curl -v http://localhost:8080/health
64+
65+
- name: Show Container Logs
66+
if: failure()
67+
run: docker compose logs
68+
69+
- name: Cleanup
70+
if: always()
71+
run: docker compose down -v

IDE/README.md

Lines changed: 78 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,31 @@
22

33
> Transform your IDE into a cognitive memory system that remembers your coding context across sessions.
44
5+
## ✨ Zero-Config AI Integration
6+
7+
**Install once. Use everywhere.**
8+
9+
OpenMemory automatically links with:
10+
11+
- 🚀 **GitHub Copilot** - Context provider auto-configured
12+
- 🎯 **Cursor** - Context provider auto-configured
13+
- 🤖 **Claude Code** - MCP integration enabled
14+
- 🌊 **Windsurf** - Context API connected
15+
-**Codex** - Context provider enabled
16+
- 🧠 **Any MCP-compatible AI** - Universal memory access
17+
18+
**No manual setup required!** Extension detects backend and auto-generates all config files.
19+
20+
## Quick Start
21+
22+
**3 Steps to Get Started:**
23+
24+
1. **Start Backend**: `cd backend && npm start` (runs on port 8080)
25+
2. **Open IDE Folder**: Open `IDE/` folder in VS Code
26+
3. **Press F5**: Launches extension in development mode
27+
28+
**That's it!** OpenMemory is now tracking your coding activity.
29+
530
## Features
631

732
- **Automatic Context Capture**: Tracks file opens, edits, and saves
@@ -12,33 +37,66 @@
1237

1338
## Installation
1439

15-
### Prerequisites
40+
### Method 1: Quick Install (For Users)
1641

17-
1. OpenMemory backend running (default: `http://localhost:3000`)
18-
2. VS Code 1.85.0 or higher
42+
1. **Start OpenMemory Backend** (if not running):
1943

20-
### Setup
44+
```powershell
45+
cd backend
46+
npm install
47+
npm start
48+
```
2149

22-
1. Install dependencies:
50+
Backend runs on `http://localhost:8080` by default
2351

24-
```bash
25-
cd IDE/vscode
26-
npm install
27-
```
52+
2. **Install the VS Code Extension**:
2853

29-
2. Compile the extension:
54+
- Open VS Code
55+
- Go to Extensions view (Ctrl+Shift+X)
56+
- Click the `...` menu → "Install from VSIX..."
57+
- Navigate to `IDE/` folder and select the `.vsix` file (if available)
3058

31-
```bash
32-
npm run compile
33-
```
59+
**OR** for development:
60+
61+
- Open the `IDE/` folder in VS Code
62+
- Press F5 to launch Extension Development Host
63+
- A new VS Code window opens with OpenMemory active
64+
65+
3. **Configure Backend URL** (if different from default):
66+
- Open VS Code Settings (Ctrl+,)
67+
- Search for "OpenMemory"
68+
- Set `openmemory.backendUrl` to your backend URL (default: `http://localhost:8080`)
69+
70+
### Method 2: Build from Source (For Developers)
71+
72+
1. **Install Dependencies**:
73+
74+
```powershell
75+
cd IDE
76+
npm install
77+
```
78+
79+
2. **Compile the Extension**:
3480

35-
3. Press F5 in VS Code to launch Extension Development Host
81+
```powershell
82+
npm run compile
83+
```
84+
85+
3. **Run in Development Mode**:
86+
- Press F5 in VS Code to launch Extension Development Host
87+
- Or package as VSIX: `npx vsce package`
88+
89+
### Prerequisites
90+
91+
- ✅ VS Code 1.85.0 or higher
92+
- ✅ Node.js 18+ installed
93+
- ✅ OpenMemory backend running (port 8080 by default)
3694

3795
## Configuration
3896

3997
Configure OpenMemory through VS Code settings:
4098

41-
- **`openmemory.backendUrl`**: URL of your OpenMemory backend (default: `http://localhost:3000`)
99+
- **`openmemory.backendUrl`**: URL of your OpenMemory backend (default: `http://localhost:8080`)
42100

43101
## Usage
44102

@@ -79,7 +137,7 @@ Results appear in the Output panel with salience scores.
79137
┌────────▼────────┐
80138
│ OpenMemory │
81139
│ Backend │
82-
│ (port 3000) │
140+
│ (port 8080) │
83141
└─────────────────┘
84142
```
85143

@@ -175,8 +233,8 @@ npm run watch
175233

176234
Check backend is running:
177235

178-
```bash
179-
curl http://localhost:3000/api/system/health
236+
```powershell
237+
curl http://localhost:8080/api/system/health
180238
```
181239

182240
### Events not appearing
@@ -189,10 +247,8 @@ curl http://localhost:3000/api/system/health
189247

190248
Ensure backend `/api/ide/session/start` endpoint is available:
191249

192-
```bash
193-
curl -X POST http://localhost:3000/api/ide/session/start \
194-
-H "Content-Type: application/json" \
195-
-d '{"user_identifier_for_session":"test","project_name_or_workspace":"test","ide_name_and_version":"test"}'
250+
```powershell
251+
curl -X POST http://localhost:8080/api/ide/session/start -H "Content-Type: application/json" -d '{\"user_identifier_for_session\":\"test\",\"project_name_or_workspace\":\"test\",\"ide_name_and_version\":\"test\"}'
196252
```
197253

198254
## License

0 commit comments

Comments
 (0)