fossel 1.0.8 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +75 -80
  2. package/package.json +25 -2
package/README.md CHANGED
@@ -1,73 +1,84 @@
1
1
  # Fossel
2
2
 
3
- Fossel is a local MCP (Model Context Protocol) memory server for open-source contributors. It stores project-specific context such as reviewer preferences, bug fixes, conventions, decisions, and issue notes in a local SQLite database with FTS5 search.
3
+ **Local-first MCP memory for every repo you work on.** Store conventions, bug fixes, reviewer patterns, and decisions in **SQLite on your machine** (with FTS5 search). Works with **Cursor**, **Claude Desktop**, and any **stdio MCP** client. **No accounts, no cloud.**
4
4
 
5
- ## Features
5
+ ---
6
6
 
7
- - Persistent local memory in SQLite (`~/.fossel/memory.db`)
8
- - Full-text search with SQLite FTS5
9
- - Repo-aware context retrieval grouped by memory type
10
- - Pinned memories that stay at the top of repo context
11
- - Structured markdown summaries for PR and planning context
12
- - Simple delete workflow by memory id
13
- - Partial memory updates by numeric id
14
- - CLI onboarding with `fossel init`
15
- - Local `stdio` MCP server for tools such as Cursor and Claude Desktop
7
+ ## Quick start (~2 minutes)
16
8
 
17
- ## Memory Types
9
+ 1. **Onboard** (prints copy-paste MCP config + creates a sample memory):
18
10
 
19
- - `convention`
20
- - `bug_fix`
21
- - `reviewer_pattern`
22
- - `decision`
23
- - `issue`
24
- - `general`
11
+ ```bash
12
+ npx -y fossel init
13
+ ```
25
14
 
26
- ## Install
15
+ 2. **Add the JSON** from the output to **Cursor** (`~/.cursor/mcp.json`) or **Claude Desktop** MCP settings, then restart the app.
27
16
 
28
- ```bash
29
- npm install
30
- ```
17
+ 3. **Run the server** (what the IDE launches, or for testing):
31
18
 
32
- Or run without installation:
19
+ ```bash
20
+ npx -y fossel
21
+ ```
33
22
 
34
- ```bash
35
- npx -y fossel
36
- ```
23
+ 4. In chat, use tools like `store_context` and `get_repo_context` with your **repo** name (e.g. `org/repo` or your folder name).
24
+
25
+ **Database path:** `~/.fossel/memory.db` (override with `FOSSEL_DB_PATH`).
26
+
27
+ ---
28
+
29
+ ## Why Fossel?
30
+
31
+ | You get | Details |
32
+ |--------|---------|
33
+ | **Local data** | SQLite + migrations; nothing leaves your disk unless you share it. |
34
+ | **Repo-scoped memory** | Same patterns across Cursor, Claude, or any MCP client over stdio. |
35
+ | **Find anything** | FTS5 search across notes; pin what matters; summarize for PRs. |
36
+ | **Evolving schema** | Startup migrations keep upgrades safe for existing databases. |
37
+
38
+ ---
39
+
40
+ ## Features
41
+
42
+ - Persistent memory in SQLite (`~/.fossel/memory.db`)
43
+ - Full-text search (FTS5)
44
+ - Repo-aware context, grouped by memory type
45
+ - Pinned memories at the top of `get_repo_context`
46
+ - `summarize_repo_context` for markdown briefs (PRs, planning)
47
+ - `update_memory`, `pin_memory`, `unpin_memory`
48
+ - CLI: `fossel init` for onboarding
49
+ - `stdio` MCP server for Cursor, Claude Desktop, and compatible tools
50
+
51
+ ## Memory types
52
+
53
+ - `convention`, `bug_fix`, `reviewer_pattern`, `decision`, `issue`, `general`
37
54
 
38
55
  ## Commands
39
56
 
40
57
  ```bash
41
- npx -y fossel # start MCP server over stdio
42
- npx -y fossel init # onboarding for current repository
58
+ npx -y fossel # MCP server over stdio
59
+ npx -y fossel init # onboarding + config snippets + sample memory
43
60
  ```
44
61
 
45
62
  ## `fossel init`
46
63
 
47
- `fossel init` detects your current repo, prints ready-to-copy MCP config snippets for Cursor and Claude Desktop, inserts a starter memory, and shows DB stats plus command references.
48
-
49
- Starter memory inserted:
50
-
51
- - Type: `convention`
52
- - Content: `Fossel is active for this repo. Use store_context to save context.`
64
+ Detects the current git repo (or folder name), prints **Cursor** and **Claude Desktop** MCP snippets, inserts a starter **convention** memory (`Fossel is active for this repo…`), and shows DB path + memory count.
53
65
 
54
- ## MCP Tools
66
+ ## MCP tools
55
67
 
56
- - `store_context`: Save a new memory for a repository.
57
- - `get_repo_context`: Fetch recent memories for a repository, grouped by type. Pinned entries are always listed first and marked `📌 Pinned`.
58
- - `search_memory`: Full-text search memories across all repos or a single repo.
59
- - `delete_memory`: Delete a memory by id.
60
- - `update_memory`: Update memory content and/or type by numeric id.
61
- - `pin_memory`: Pin a memory by numeric id.
62
- - `unpin_memory`: Unpin a memory by numeric id.
63
- - `summarize_repo_context`: Return a structured markdown summary for a repo.
68
+ | Tool | Purpose |
69
+ |------|---------|
70
+ | `store_context` | Save memory for a repo |
71
+ | `get_repo_context` | Recent memories by type (pinned first) |
72
+ | `search_memory` | FTS search, optional repo filter |
73
+ | `delete_memory` | Delete by legacy string id |
74
+ | `update_memory` | Partial update by numeric id |
75
+ | `pin_memory` / `unpin_memory` | Pin important items |
76
+ | `summarize_repo_context` | Markdown summary for a repo |
64
77
 
65
- ## Tool Examples
78
+ ## Tool examples
66
79
 
67
80
  ### `update_memory`
68
81
 
69
- Input:
70
-
71
82
  ```json
72
83
  {
73
84
  "id": 12,
@@ -78,25 +89,17 @@ Input:
78
89
 
79
90
  ### `pin_memory`
80
91
 
81
- Input:
82
-
83
92
  ```json
84
- {
85
- "id": 12
86
- }
93
+ { "id": 12 }
87
94
  ```
88
95
 
89
96
  ### `summarize_repo_context`
90
97
 
91
- Input:
92
-
93
98
  ```json
94
- {
95
- "repo": "RocketChat"
96
- }
99
+ { "repo": "RocketChat" }
97
100
  ```
98
101
 
99
- Output format:
102
+ Example output shape:
100
103
 
101
104
  ```md
102
105
  Fossel Context Summary: RocketChat
@@ -111,9 +114,9 @@ Bug Fixes
111
114
  - (5) Fixed webhook retries by making queue idempotent.
112
115
  ```
113
116
 
114
- ## Cursor MCP Config
117
+ ## Cursor MCP config
115
118
 
116
- Add this to your Cursor MCP configuration:
119
+ `~/.cursor/mcp.json`:
117
120
 
118
121
  ```json
119
122
  {
@@ -126,9 +129,7 @@ Add this to your Cursor MCP configuration:
126
129
  }
127
130
  ```
128
131
 
129
- ## Claude Desktop MCP Config
130
-
131
- Add this to your Claude Desktop MCP config:
132
+ ## Claude Desktop MCP config
132
133
 
133
134
  ```json
134
135
  {
@@ -141,29 +142,23 @@ Add this to your Claude Desktop MCP config:
141
142
  }
142
143
  ```
143
144
 
144
- ## Development
145
-
146
- ```bash
147
- npm run dev
148
- ```
149
-
150
- This starts the local MCP server over stdio.
151
-
152
- ## Build
145
+ ## Development (from source)
153
146
 
154
147
  ```bash
148
+ npm install
149
+ npm run dev # MCP server over stdio
155
150
  npm run build
151
+ npm run start # node dist/index.js
152
+ npm run ci # typecheck + build + smoke
156
153
  ```
157
154
 
158
- ## Run Built Server
155
+ ## Notes
159
156
 
160
- ```bash
161
- npm run start
162
- ```
157
+ - **Local-first:** data stays on your machine.
158
+ - **Search:** FTS5 (no `sqlite-vec` in v1).
159
+ - **`FOSSEL_DB_PATH`:** optional override for DB location (e.g. tests).
160
+ - **Schema:** migrations live in `src/db/migrate.ts`.
163
161
 
164
- ## Notes
162
+ ## Community
165
163
 
166
- - Fossel is local-first: data remains on your machine.
167
- - FTS5 is used for V1 search (no `sqlite-vec`).
168
- - Optional: set `FOSSEL_DB_PATH` to override the default database path for testing.
169
- - DB schema changes are managed via startup migrations in `src/db/migrate.ts`.
164
+ If Fossel saves you time, **[star the repo](https://github.com/7vignesh/fossel)** and **[open an issue](https://github.com/7vignesh/fossel/issues)** for bugs or ideas—that helps others discover it too.
package/package.json CHANGED
@@ -1,7 +1,30 @@
1
1
  {
2
2
  "name": "fossel",
3
- "version": "1.0.8",
4
- "description": "Local MCP memory server for open-source contributors",
3
+ "version": "1.0.9",
4
+ "description": "Local-first MCP memory for Cursor & Claude: repo context in SQLite, FTS5 search, pins, PR summaries. No cloud.",
5
+ "keywords": [
6
+ "mcp",
7
+ "model-context-protocol",
8
+ "cursor",
9
+ "claude",
10
+ "claude-desktop",
11
+ "memory",
12
+ "sqlite",
13
+ "fts5",
14
+ "open-source",
15
+ "contributors",
16
+ "local-first",
17
+ "ai",
18
+ "llm"
19
+ ],
20
+ "homepage": "https://github.com/7vignesh/fossel#readme",
21
+ "bugs": {
22
+ "url": "https://github.com/7vignesh/fossel/issues"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/7vignesh/fossel.git"
27
+ },
5
28
  "type": "module",
6
29
  "files": [
7
30
  "dist"