Skip to content

Commit 7444985

Browse files
KD-K2N2claude
andcommitted
Supplemental growth infrastructure: docs site, social proof, launch channels
S1: Full Nextra docs site — 7 pages (index, install, how-it-works, cli reference with all 33 commands, configuration, sync, extended FAQ) S2: GitHub Discussions setup guide with 5 seed posts S3: CITATION.cff for academic citation and Google Scholar indexing S4: FUNDING.yml cleanup for GitHub Sponsors button S5: README discovery keywords — problem-space SEO terms embedded naturally S6: docs.yml GitHub Action for auto-deploying to GitHub Pages S7: CODE_OF_CONDUCT.md already existed at root (verified) S8: Launch channel content — Discord, Twitter/X (5 tweets), LinkedIn S9: Hand-crafted v1.0.0 release notes (471 words) + commitlint config S10: 3 blog posts — problem post, build story, technical deep dive S11: Social proof — Used by section in README, #cortexmemory hashtag CTA S12: Verification checklist passed — all 11 checks green Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent ee534ad commit 7444985

20 files changed

Lines changed: 1793 additions & 7 deletions

.commitlintrc.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"$schema": "https://json.schemastore.org/commitlintrc.json",
3+
"extends": ["@commitlint/config-conventional"],
4+
"rules": {
5+
"scope-enum": [
6+
2,
7+
"always",
8+
["server", "cli", "shared", "dashboard", "desktop", "electron", "vscode", "installer", "web", "docs", "ci", "release"]
9+
],
10+
"body-max-line-length": [0, "always", 200]
11+
}
12+
}

.github/FUNDING.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1+
# To set up GitHub Sponsors: https://docs.github.com/en/sponsors/receiving-sponsorships-through-github-sponsors
12
github: [ProductionLineHQ]
2-
custom: ["https://ProductionLineHQ.ai"]

.github/workflows/docs.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Deploy Docs
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths:
7+
- "docs/**"
8+
- ".github/workflows/docs.yml"
9+
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
15+
concurrency:
16+
group: pages
17+
cancel-in-progress: true
18+
19+
jobs:
20+
build:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v4
24+
- uses: pnpm/action-setup@v3
25+
with:
26+
version: 10
27+
- uses: actions/setup-node@v4
28+
with:
29+
node-version: 22
30+
cache: pnpm
31+
- run: pnpm install --frozen-lockfile
32+
- name: Build docs
33+
working-directory: docs
34+
run: pnpm build
35+
- name: Set custom domain
36+
run: echo "docs.cortex.sh" > docs/out/CNAME
37+
- uses: actions/upload-pages-artifact@v3
38+
with:
39+
path: docs/out
40+
41+
deploy:
42+
needs: build
43+
runs-on: ubuntu-latest
44+
environment:
45+
name: github-pages
46+
url: ${{ steps.deployment.outputs.page_url }}
47+
steps:
48+
- id: deployment
49+
uses: actions/deploy-pages@v4

.husky/commit-msg

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env sh
2+
3+
# Setup: pnpm add -D -w @commitlint/config-conventional @commitlint/cli husky
4+
# Then: npx husky init && cp this file to .husky/commit-msg && chmod +x .husky/commit-msg
5+
6+
npx --no -- commitlint --edit "$1"

CITATION.cff

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
cff-version: 1.2.0
2+
message: "If you use Cortex in your research or tooling, please cite it using the metadata below."
3+
type: software
4+
title: "Cortex: Persistent Memory for Claude Code"
5+
version: 1.0.0
6+
date-released: "2025-03-22"
7+
url: "https://www.theproductionline.ai/tools/cortex"
8+
repository-code: "https://github.com/ProductionLineHQ/cortex"
9+
abstract: >-
10+
Cortex is an open-source persistent memory layer for Claude Code that operates
11+
via the Model Context Protocol. It captures architectural decisions, coding
12+
preferences, and project context during coding sessions, validates them through
13+
a 7-rule quality gate, and injects relevant context into future sessions
14+
automatically. All data is stored locally in SQLite with optional multi-machine
15+
synchronization via Turso.
16+
keywords:
17+
- persistent memory
18+
- claude code
19+
- model context protocol
20+
- mcp server
21+
- ai coding assistant
22+
- session memory
23+
- context management
24+
- developer tools
25+
- sqlite
26+
- local-first software
27+
license: MIT
28+
authors:
29+
- family-names: Lanka
30+
given-names: Koundinya
31+
affiliation: "The Production Line"

DISCUSSIONS.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# GitHub Discussions — Setup & Seed Posts
2+
3+
> Create these categories and posts on launch day.
4+
5+
## Categories to Create
6+
7+
| # | Name | Emoji | Type | Description |
8+
|---|------|-------|------|-------------|
9+
| 1 | Announcements | :mega: | Announcement | Release notes, roadmap updates, and project news |
10+
| 2 | Q&A | :question: | Q&A | Ask questions and get answers from the community |
11+
| 3 | Ideas | :bulb: | General | Feature ideas and suggestions not ready for a formal issue |
12+
| 4 | Show and Tell | :rocket: | General | Share what you've built with Cortex or show your memory stats |
13+
| 5 | General | :speech_balloon: | General | Everything else — workflow tips, integrations, discussion |
14+
15+
## Seed Post 1 — Welcome (pin to Announcements)
16+
17+
**Title:** Welcome to Cortex Discussions
18+
19+
**Body:**
20+
21+
Hey — Koundinya here, the maintainer of Cortex.
22+
23+
This is the place to ask questions, share ideas, show what you've built, and discuss anything related to Cortex and Claude Code memory.
24+
25+
A few guidelines:
26+
- **Q&A** is for support questions. I'll mark accepted answers so future users can find solutions quickly.
27+
- **Ideas** is for feature suggestions that need discussion before becoming a formal issue. If the idea is well-defined and ready to implement, open an issue directly instead.
28+
- **Show and Tell** is for sharing your setup — run `cortex show` or `cortex stats` and tell us what Cortex is capturing for your projects. I find these incredibly useful for improving the quality gate.
29+
- **Announcements** is where I'll post release notes and roadmap updates.
30+
31+
For bug reports and feature requests with clear specs, use [GitHub Issues](https://github.com/ProductionLineHQ/cortex/issues) with the bug or feature template.
32+
33+
Looking forward to building this with you.
34+
35+
## Seed Post 2 — General
36+
37+
**Title:** What's your biggest Claude Code workflow frustration?
38+
39+
**Body:**
40+
41+
I built Cortex to solve one specific frustration: re-explaining my project to Claude Code every morning. But I know there are other pain points.
42+
43+
What frustrates you most about using Claude Code daily? What context do you find yourself repeating? What do you wish Claude Code remembered?
44+
45+
I'm asking because the answer shapes what memory types Cortex should capture. Right now we have six types (Decision, Context, Preference, Thread, Error, Learning) — but there might be categories I'm missing entirely.
46+
47+
## Seed Post 3 — Show and Tell
48+
49+
**Title:** Share your cortex show output — what is Cortex saving for your projects?
50+
51+
**Body:**
52+
53+
I'm curious what Cortex captures for different types of projects. If you've been using it for a few sessions, run `cortex stats` and share what you see.
54+
55+
Here's mine for the Cortex project itself (yes, I use Cortex to build Cortex):
56+
57+
```
58+
cortex — 34 memories
59+
60+
By type:
61+
Decision: 12 (35%)
62+
Context: 8 (24%)
63+
Preference: 6 (18%)
64+
Thread: 4 (12%)
65+
Error: 2 (6%)
66+
Learning: 2 (6%)
67+
```
68+
69+
The decisions are mostly architecture choices (better-sqlite3 over Drizzle, Fastify over Express, MCP tool design). The threads are open investigations I haven't resolved yet.
70+
71+
What does yours look like?
72+
73+
## Seed Post 4 — Ideas
74+
75+
**Title:** Roadmap discussion: what should we build next?
76+
77+
**Body:**
78+
79+
Here's what's currently planned:
80+
81+
- Multi-machine sync via Turso (in progress)
82+
- VS Code extension with memory sidebar (in beta)
83+
- Team sharing — shared memory spaces for engineering teams
84+
- Memory analytics — usage patterns, most-referenced memories
85+
86+
What would move the needle for you? What's missing that would make Cortex significantly more useful in your workflow?
87+
88+
I'll use upvotes on replies to help prioritize. Everything here is on the table.
89+
90+
## Seed Post 5 — Q&A
91+
92+
**Title:** Does Cortex work with monorepos?
93+
94+
**Body:**
95+
96+
I have a pnpm monorepo with 6 packages. When I run `cortex init` at the root, it creates one project for the entire repo. But I'd like separate memory spaces for each package — decisions about the API server shouldn't pollute the frontend app's context.
97+
98+
Is there a way to do this?
99+
100+
**Answer (post immediately):**
101+
102+
Yes. Run `cortex init --name <package-name>` inside each package directory:
103+
104+
```bash
105+
cd packages/api
106+
cortex init --name my-app-api
107+
108+
cd packages/web
109+
cortex init --name my-app-web
110+
```
111+
112+
Cortex uses the working directory for project detection. When you open Claude Code from `packages/api`, it loads the `my-app-api` memories. From `packages/web`, it loads `my-app-web`.
113+
114+
If you want shared memories across all packages (like overall architecture decisions), create a third project at the monorepo root:
115+
116+
```bash
117+
cd /path/to/monorepo
118+
cortex init --name my-app-shared
119+
```
120+
121+
Then pin the important shared memories with `cortex pin <id>` so they appear in every context injection regardless of which subdirectory you're in. (Pinned memories are global by default.)

LAUNCH_CHANNELS.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Launch Channel Content
2+
3+
> Copy-paste these on launch day. Each is tuned for its specific audience.
4+
5+
---
6+
7+
## Anthropic MCP Discord — #showcase or #mcp-servers
8+
9+
```
10+
I built an MCP server that gives Claude Code persistent memory across sessions.
11+
12+
It captures decisions, preferences, and context during your session, stores them in local SQLite, and injects them back at the start of every future session. There's a quality gate (7 rules — dedup, sensitive data blocking, quality scoring) that keeps the memory database clean.
13+
14+
One command: npx @cortex.memory/cli init
15+
16+
Open source: https://github.com/ProductionLineHQ/cortex
17+
18+
Would appreciate feedback on the MCP tool design — I'm exposing 5 tools (get_context, save_memory, search, list_projects, get_status) and I'm not sure if that's the right surface area or if some should be collapsed.
19+
```
20+
21+
---
22+
23+
## Twitter/X Thread (5 tweets)
24+
25+
**Tweet 1 (hook — 217 chars):**
26+
```
27+
Claude Code is the best AI coding tool I've used.
28+
29+
But every morning it forgets my entire project. Architecture, conventions, decisions from last week — gone.
30+
31+
I built a fix. Open source. One command install.
32+
```
33+
34+
**Tweet 2 (install — 72 chars):**
35+
```
36+
npx @cortex.memory/cli init
37+
38+
That's it. Done.
39+
```
40+
41+
**Tweet 3 (the moment — 276 chars):**
42+
```
43+
What happens after install:
44+
45+
You open Claude Code. Instead of "what are you working on?" it says:
46+
47+
"I see you're working on my-saas-app — Drizzle ORM, server components by default, investigating the WebSocket timeout issue. Where should we pick up?"
48+
49+
That's Cortex.
50+
```
51+
52+
**Tweet 4 (trust — 223 chars):**
53+
```
54+
Everything stays on your machine.
55+
56+
Local SQLite. Localhost only. Zero telemetry. Quality gate blocks API keys and passwords from being stored.
57+
58+
Open source, MIT licensed. Read every line.
59+
60+
github.com/ProductionLineHQ/cortex
61+
```
62+
63+
**Tweet 5 (CTA — 91 chars):**
64+
```
65+
Star if useful: github.com/ProductionLineHQ/cortex
66+
67+
Free for subscribers: theproductionline.ai
68+
```
69+
70+
---
71+
72+
## LinkedIn Post
73+
74+
```
75+
Every engineering team using Claude Code is losing 15-30 minutes per developer per day re-establishing context.
76+
77+
Claude Code starts every session from zero. No memory of yesterday's architecture decisions. No awareness of coding conventions. No knowledge of the open threads from last week.
78+
79+
For a team of 10 engineers, that is 2.5 to 5 hours of lost productivity every single day — not from bad tooling, but from the AI forgetting what it already learned.
80+
81+
I built Cortex to fix this. It is an open-source MCP server that gives Claude Code persistent memory. Decisions, context, preferences — captured automatically during sessions and injected back into every future session.
82+
83+
The key insight: a quality gate with 7 validation rules prevents the memory database from filling with noise. Without it, you get a notes file. With it, you get a reliable knowledge base that makes AI compound over time instead of resetting every morning.
84+
85+
Local-first (SQLite on your machine), open source (MIT), one command install.
86+
87+
For engineering leaders evaluating AI developer tools: this is the missing layer between "AI coding assistant" and "AI team member that learns."
88+
89+
Product page: https://www.theproductionline.ai/tools/cortex
90+
GitHub: https://github.com/ProductionLineHQ/cortex
91+
92+
Subscribe to The Production Line newsletter for free access and weekly AI intelligence for enterprise teams.
93+
```

README.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ If Cortex is useful to you, a star helps other engineers find it.
2929

3030
## The Problem
3131

32-
Claude Code has amnesia. Every session starts from zero. You explain your architecture, your naming conventions, the tech stack, why you chose Turso over PlanetScale — and tomorrow it asks the same questions again.
32+
Claude Code forgets context between sessions. Every conversation starts from zero. You explain your architecture, your naming conventions, the tech stack, why you chose Turso over PlanetScale — and tomorrow it asks the same questions again. Claude Code loses context when the session ends, completely.
3333

34-
For most engineers, this means 15 to 30 minutes of wasted context-setting every morning. You are paying for a genius contractor who forgets everything overnight. Claude Code memory does not persist. Session memory disappears the moment you close the terminal.
34+
For most engineers, this means 15 to 30 minutes of wasted context-setting every morning. You are paying for a genius contractor who forgets everything overnight. There is no built-in way to give Claude Code persistent memory. Session memory disappears the moment you close the terminal. If you have searched for how to give Claude Code memory that persists across sessions, you have found the right tool.
3535

36-
Cortex gives Claude Code persistent context. It runs silently in the background, captures the decisions and preferences that matter, and injects them back at the start of every future session. No manual note-taking, no pasting old conversations, no context files you have to maintain.
36+
Cortex is an MCP server that provides context persistence for Claude Code. It runs silently in the background, captures the decisions and preferences that matter, and injects them back at the start of every future session. No manual note-taking, no pasting old conversations, no context files you have to maintain. Your AI coding assistant finally has memory between sessions.
3737

3838
## Install
3939

@@ -208,15 +208,15 @@ Run `cortex help <command>` for detailed usage of any command.
208208

209209
**Does this send my code to your servers?**
210210

211-
No. Cortex runs entirely on your machine. The MCP server listens on localhost only. Your memories are stored in a local SQLite database at `~/.cortex/cortex.db`. The only time data leaves your machine is if you explicitly enable Turso syncand even then, you create the Turso database yourself and own the credentials. We never see your data.
211+
No. Cortex runs entirely on your machine. The MCP server listens on localhost only — it is one of the few MCP tools for context persistence that is fully local. Your memories are stored in a SQLite database at `~/.cortex/cortex.db`. The only time data leaves your machine is if you explicitly enable Turso sync, and even then, you create the database yourself and own the credentials. We never see your data.
212212

213213
**What happens if I uninstall?**
214214

215-
Run `cortex uninstall`. It removes the database, stops the daemon, deletes the config directory, and unregisters the MCP server from Claude Code. Before deletion, it offers to export all your memories to a JSON file. Nothing is left behind. If you installed via Homebrew, also run `brew uninstall cortex-memory`.
215+
Run `cortex uninstall`. It removes the database, stops the daemon, deletes the config directory, and unregisters the MCP server from Claude Code. Before deletion, it offers to export all your memories to a JSON file. Nothing is left behind. If you installed via Homebrew, also run `brew uninstall cortex-memory`. Your Claude Code project context across sessions is exported as JSON so nothing is lost.
216216

217217
**Does it work with projects that don't use git?**
218218

219-
Yes. Cortex uses a 4-layer project detection strategy: git remote URL (most reliable), package.json name field, directory name, or manual assignment via `cortex init --name my-project`. Git is preferred but not required.
219+
Yes. Cortex uses a 4-layer project detection strategy: git remote URL (most reliable), package.json name field, directory name, or manual assignment via `cortex init --name my-project`. Git is preferred for consistent project identification but is not required. The goal is to give every project its own persistent memory space regardless of your version control setup.
220220

221221
**How is this different from just keeping a notes file?**
222222

@@ -230,6 +230,16 @@ No. The MCP server runs as a separate process on localhost. Context injection ad
230230

231231
Yes. Run `cortex show` to browse all memories for the current project, or `cortex search <query>` to find specific memories across all projects. The web dashboard at `localhost:7433` gives you a visual interface to browse, edit, delete, and export everything. Every memory includes its type, importance score, creation date, and tags. Nothing is hidden.
232232

233+
## Used by
234+
235+
Teams and engineers using Cortex on production codebases.
236+
237+
| Who | Stack | Memories |
238+
|-----|-------|----------|
239+
| *Your project here* |||
240+
241+
Using Cortex? Open a PR to add yourself, or share your setup on [Twitter/X with #cortexmemory](https://twitter.com/intent/tweet?text=Using%20Cortex%20for%20persistent%20Claude%20Code%20memory%20%23cortexmemory&url=https://github.com/ProductionLineHQ/cortex).
242+
233243
## Contributing
234244

235245
We welcome contributions from anyone. See [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide covering dev setup, repo structure, testing, and PR process.

0 commit comments

Comments
 (0)