AI Context — Persistent Project Memory
Every time you open a new Cursor chat, the AI already knows your full project history, active tasks, recent code changes, and exactly where you left off. Zero commands. Zero copy-paste. Fully automatic.
THE PROBLEM
Every new Cursor chat starts completely fresh. The AI has no memory of:
- What you were building
- What bugs you fixed yesterday
- What decisions were made and why
- Which files you were working on
- What tasks are still pending
You waste time re-explaining the same project context every single chat.
AI Context fixes this permanently — automatically.
HOW IT WORKS
You open Cursor + open your project
↓
Extension creates a memory file in your project (.cursor/rules/ai-context.mdc)
↓
You chat normally — extension watches Cursor's database in background
↓
After every chat message → context auto-updates silently
↓
Every file you save → git diff runs → context updates
↓
Every new Cursor chat → AI reads memory file automatically
↓
AI already knows everything → just type your question
No commands needed. No copy-paste. No setup before each chat.
INSTALLATION
Option A — From Marketplace
Cursor → Extensions (Cmd+Shift+X) → Search "AI Context" → Install
Option B — From VSIX file
1. Cursor → Cmd+Shift+P → "Extensions: Install from VSIX..."
2. Select: ai-context-extension-1.0.0.vsix
3. Click Install
4. Restart Cursor
Verify installation
Cmd+Shift+P → type "AI:"
You should see:
AI: Init Context
AI: Edit Project Info
AI: Add Task
AI: Save Session
AI: Summarize This Chat
AI: Load Context
AI: AI Chat
FIRST TIME SETUP (one time only, 2 minutes)
Step 1 — Open your project
File → Open Folder → pick your project
Extension automatically creates:
your-project/
├── .ai-context/
│ ├── project.json ← project name, stack, goal, focus
│ ├── tasks.json ← task list with priorities
│ ├── session-log.json ← session history
│ ├── code-map.json ← auto-tracked files
│ ├── decisions.json ← architectural decisions
│ └── overall-summary.json ← growing project memory
└── .cursor/
└── rules/
└── ai-context.mdc ← Cursor reads this in EVERY chat automatically
Step 2 — Set your project info (once)
Cmd+Shift+P → "AI: Edit Project Info"
| Field |
Example |
| Project name |
Website |
| Tech stack |
Next.js, TypeScript, Strapi |
| Project goal |
University website with dynamic programs |
| Current focus |
Fix mobile navbar dropdown bug |
You only do this once per project. Never again.
The extension has a sidebar with one-click buttons for everything.
Open it:
Option 1: Right-click Activity Bar (left strip) → enable "AI Context"
Option 2: Cmd+Shift+P → "AI: Open Context Panel"
What it shows:
┌──────────────────────────────────────┐
│ ⚡ AI Context — Project Memory │
│ ● Auto-updating after every chat │ ← live status
├──────────────────────────────────────┤
│ Website │
│ Stack: Next.js, TypeScript, Strapi │
│ 🎯 Fix mobile navbar bug │
├──────────────────────────────────────┤
│ ✏️ Edit Info 💾 Save Session │
│ 📋 Copy Context │
│ 🚀 AI Chat │
│ 🧠 Summarize This Chat │
│ 💾 Quick Save Session │
├──────────────────────────────────────┤
│ ACTIVE TASKS (2) + Add │
│ 🔄 [HIGH] Fix navbar bug │
│ 📋 [MED] Optimise API calls │
├──────────────────────────────────────┤
│ SESSIONS (5 total) + Summarize │
│ Apr 19 — Fixed API caching... │
│ ▶ View full history │
├──────────────────────────────────────┤
│ RECENT FILES │
│ Navbar.tsx page.tsx │
└──────────────────────────────────────┘
DAILY WORKFLOW
Everything is automatic — here is what happens
When you open Cursor:
Open project
↓
Extension reads git status → ai-context.mdc refreshed
↓
Press Cmd+L → new chat
↓
AI already knows: project, tasks, last session, git changes
↓
Just type and work
While you code:
Edit any file → Cmd+S
↓
Extension tracks the file
↓
3 seconds later: git diff runs automatically
↓
ai-context.mdc updated with live changes:
## Live Code Changes
Branch: himanshu/optimise-api-call
~ Navbar.tsx (3 insertions, 2 deletions)
~ app/page.tsx (8 insertions, 17 deletions)
+ lib/strapiCache.ts (new file)
↓
Next chat → AI sees exactly what changed
After every chat message:
You send any message in Cursor chat
↓
Extension detects Cursor's database update (within 8 seconds)
↓
Reads new chat entries automatically
↓
Extracts: what was done, files changed, new tasks discovered
↓
Updates .ai-context/ + rewrites ai-context.mdc
↓
Status bar flashes: "✓ AI Context updated"
↓
Next chat → full context already there
You do ZERO manual work. It's all automatic.
WHAT YOU DO vs WHAT IS AUTOMATIC
| Action |
Who does it |
Create .ai-context/ folder |
Automatic |
Create .cursor/rules/ai-context.mdc |
Automatic |
| Track files on every save |
Automatic |
| Run git diff on every save |
Automatic |
| Read chat history after every message |
Automatic |
| Extract tasks from chat |
Automatic |
| Update context rule |
Automatic |
| Inject context into every new chat |
Automatic |
| Set project name/stack/goal |
You (once per project) |
| Add specific tasks manually |
You (optional) |
COMMANDS (all optional — everything runs automatically)
| Command |
What it does |
When to use |
AI: Edit Project Info |
Set name, stack, goal, focus |
Once per project |
AI: Add Task |
Manually add a task |
When you want to track something specific |
AI: Summarize This Chat |
Force-save current chat now |
If auto-update missed something |
AI: Save Session |
Save a manual summary |
Fallback if auto doesn't work |
AI: Load Context |
Copy full context to clipboard |
For ChatGPT / Claude |
AI: AI Chat |
Copy context + open AI browser |
For non-Cursor AI tools |
AI: Init Context |
Re-create .ai-context/ manually |
If folder was deleted |
WHAT THE AI SEES IN EVERY CHAT
Cursor reads .cursor/rules/ai-context.mdc automatically. The AI sees:
# Project Memory
**Project:** Website
**Stack:** Next.js, TypeScript, Strapi
**Goal:** University website with dynamic program pages
**Current focus:** Optimise API performance
## Active Tasks
- 🔄 [HIGH] Fix mobile navbar dropdown
- Files: Navbar.tsx, ProgramsDropdown.tsx
- Note: Closes when another program selected
- 📋 [MED] Add rate limiting to Strapi
## Last Session (Apr 19, 2026)
Optimised API calls using React cache(). Removed unused
getElectiveCareerCards call. 14 files changed.
## Live Code Changes (auto-updated on save)
Branch: himanshu/optimise-api-call
Uncommitted changes (2 files):
~ app/page.tsx (8 insertions, 17 deletions)
~ lib/strapiCache.ts (new file)
## Project History (5 sessions)
Completed work:
- Set up Next.js project with Strapi integration
- Built navbar with mobile dropdown
- Implemented sticky CTA button
- Fixed scroll-based animations
- Optimised API calls with React cache()
## Key Decisions
- Used React cache() over manual caching — simpler, built-in
- Strapi as CMS over hardcoded data — dynamic content needed
## Instructions
- You are continuing this project. Do not restart from scratch.
- Do not hallucinate file contents — ask if you need to see a file.
- Context last updated: 4/19/2026, 12:33:00 PM
SETTINGS
Cmd+, → search aiContext
| Setting |
Default |
Description |
aiContext.autoUpdate |
true |
Auto-update context after every Cursor chat |
aiContext.autoInit |
true |
Auto-create .ai-context/ on workspace open |
aiContext.autoTrackFiles |
true |
Track file saves automatically |
aiContext.maxRecentFiles |
10 |
Max files to track |
aiContext.chatTarget |
chatgpt |
AI to open: chatgpt / claude / cursor / custom |
aiContext.customChatUrl |
"" |
Your own AI chat URL |
aiContext.openaiApiKey |
"" |
OpenAI key for smarter summarization (optional) |
aiContext.summarizeModel |
gpt-4o-mini |
Model for AI summarization |
OPTIONAL — AI-POWERED SUMMARIZATION
Without API key: extracts info using pattern matching (free, always works).
With OpenAI key: uses GPT for much cleaner, smarter summaries.
Cmd+, → search "aiContext.openaiApiKey" → paste your key
Key from: platform.openai.com/api-keys
Cost: ~$0.001 per summary
TROUBLESHOOTING
.ai-context/ not created
Cmd+Shift+P → "AI: Init Context"
⚡ icon not in sidebar
Cmd+Shift+P → "AI: Open Context Panel"
OR: Right-click Activity Bar → enable "AI Context"
Auto-update not working
Check: Cmd+, → aiContext.autoUpdate → must be true
Then: Cmd+Shift+P → "Developer: Reload Window"
AI not getting context in new chat
Check .cursor/rules/ai-context.mdc exists in your project.
If missing: Cmd+Shift+P → "AI: Summarize This Chat"
Want to force-update context right now
Cmd+Shift+P → "AI: Summarize This Chat" → pick Auto-detected
FILE STRUCTURE
your-project/
│
├── .ai-context/ ← extension memory store
│ ├── project.json ← name, stack, goal, focus
│ ├── tasks.json ← tasks with status + priority
│ ├── session-log.json ← per-session history
│ ├── code-map.json ← auto-tracked files
│ ├── decisions.json ← architectural decisions
│ └── overall-summary.json ← rolling project history
│
└── .cursor/
└── rules/
└── ai-context.mdc ← Cursor reads this in EVERY chat
auto-updated after every message
auto-updated on every file save
ROADMAP
V1 — Current (shipped)
- [x] Auto-create
.ai-context/ on workspace open
- [x] Auto-update context after every Cursor chat message
- [x] Auto-track files on every save
- [x] Auto-run git diff on every save
- [x] Sidebar panel with full UI
- [x] Task management
- [x] Session history
- [x] Cursor rule auto-inject (no copy-paste)
- [x] ChatGPT / Claude support (copy context)
- [x] Rolling project history across all sessions
V2 — Next
- [ ] OpenAI auto-summarization (smarter extraction)
- [ ] Task extraction directly from chat text
- [ ] Decision log with UI
- [ ] Code map with function-level summaries
- [ ] Git commit → auto session save
V3 — Product
- [ ] Built-in chat UI (no browser needed)
- [ ] Team shared context
- [ ] Multi-workspace support
- [ ] Context diff viewer
PUBLISHING YOUR OWN BUILD
# Install packaging tool
npm install -g @vscode/vsce
# Create publisher at marketplace.visualstudio.com/manage
# Login
vsce login your-publisher-name
# Package
npm run compile
vsce package --no-dependencies
# Publish
vsce publish
DEVELOPMENT
# Install deps
npm install
# Compile
npm run compile
# Watch mode (auto-recompile on changes)
npm run watch
# Test: press F5 in Cursor/VS Code → Extension Development Host opens
LICENSE
MIT