chat-memory-sync 0.1.3__tar.gz → 0.1.5__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: chat-memory-sync
3
- Version: 0.1.3
3
+ Version: 0.1.5
4
4
  Summary: Unified, searchable memory bank of your AI coding chats across Cursor, Claude Code, OpenCode, Codex, Gemini CLI, Pi and more — synced across machines.
5
5
  Project-URL: Homepage, https://github.com/insideaayush/chat-memory-sync
6
6
  Project-URL: Repository, https://github.com/insideaayush/chat-memory-sync
@@ -111,7 +111,7 @@ Releases are automated (PyPI + Homebrew) — see [RELEASING.md](RELEASING.md).
111
111
  cd ~/code/my-project
112
112
  recall "auth token refresh" # ranked (BM25) hits for THIS repo, with snippets
113
113
  recall "rate limiting" --all # every project
114
- recall "payout bug" --harness cursor --since 2026-09 -k 10
114
+ recall "flaky integration test" --harness cursor --since 2026-09 -k 10
115
115
  recall "..." --full # just file paths (pipe-friendly)
116
116
  ```
117
117
 
@@ -90,7 +90,7 @@ Releases are automated (PyPI + Homebrew) — see [RELEASING.md](RELEASING.md).
90
90
  cd ~/code/my-project
91
91
  recall "auth token refresh" # ranked (BM25) hits for THIS repo, with snippets
92
92
  recall "rate limiting" --all # every project
93
- recall "payout bug" --harness cursor --since 2026-09 -k 10
93
+ recall "flaky integration test" --harness cursor --since 2026-09 -k 10
94
94
  recall "..." --full # just file paths (pipe-friendly)
95
95
  ```
96
96
 
@@ -15,7 +15,7 @@ assistant in Claude Code can read what you discussed in Cursor, Codex, Gemini, e
15
15
  ```bash
16
16
  recall "auth token refresh" # ranked hits for the CURRENT project (by CWD)
17
17
  recall "rate limiting" --all # across every project
18
- recall "payout bug" --harness cursor --since 2026-09 -k 10
18
+ recall "flaky integration test" --harness cursor --since 2026-09 -k 10
19
19
  recall "oauth flow" --full # just file paths (easy to pipe / open)
20
20
  ```
21
21
 
@@ -1,2 +1,2 @@
1
1
  """chat-memory-sync: unified, searchable memory bank of your AI coding chats."""
2
- __version__ = "0.1.3"
2
+ __version__ = "0.1.5"
@@ -3,20 +3,22 @@
3
3
  recall - find relevant past chats without scanning the whole repo.
4
4
 
5
5
  Builds a local SQLite full-text index (BM25) over all chat markdown and queries
6
- it, auto-scoped to the current project. The index (.sync/index.db) is rebuilt
7
- automatically when chats change; it is machine-local (gitignored).
8
-
9
- Usage:
10
- recall "affiliate tier rebate" # auto-scope to CWD's project
11
- recall "worktree flow" --project based-one-mono
12
- recall "nesting model" --all # search every project
13
- recall "payout bug" --harness cursor --since 2026-09 -k 10
14
- recall "..." --full # print file paths only (for piping)
15
- recall --reindex # force rebuild the index
6
+ it, auto-scoped to the current project. The index lives under the machine-local
7
+ state dir (e.g. ~/.config/chat-memory/index.db) and is rebuilt automatically when
8
+ chats change. It is never committed to the data repo.
16
9
 
17
10
  Agents: run this from inside the repo you're working on, read the top hits,
18
11
  then open those files for full context.
19
12
  """
13
+
14
+ EXAMPLES = """examples:
15
+ recall "rate limiting" auto-scope to the current repo (by CWD)
16
+ recall "retry backoff" --project my-api
17
+ recall "feature flag rollout" --all search every project
18
+ recall "flaky integration test" --harness cursor --since 2026-09 -k 10
19
+ recall "websocket reconnect" --full print file paths only (pipe-friendly)
20
+ recall --reindex force rebuild the index
21
+ """
20
22
  import os, sys, re, glob, sqlite3, argparse, datetime
21
23
  from . import cmlib
22
24
 
@@ -183,8 +185,14 @@ def search(query, project=None, harness=None, since=None, k=8):
183
185
  return [(r, make_snippet(r["path"], query)) for r in rows]
184
186
 
185
187
  def main(argv=None):
186
- ap = argparse.ArgumentParser(prog="recall", description="find relevant past chats")
187
- ap.add_argument("query", nargs="?", default="")
188
+ ap = argparse.ArgumentParser(
189
+ prog="recall",
190
+ description="Search your past AI coding chats across all tools and machines.\n"
191
+ "Auto-scoped to the current project (by working directory); ranked\n"
192
+ "with BM25 and shown with snippets. Part of chat-memory-sync.",
193
+ epilog=EXAMPLES,
194
+ formatter_class=argparse.RawDescriptionHelpFormatter)
195
+ ap.add_argument("query", nargs="?", default="", help="search terms")
188
196
  ap.add_argument("--project", help="project to scope to (default: infer from CWD)")
189
197
  ap.add_argument("--all", action="store_true", help="search all projects")
190
198
  ap.add_argument("--harness", help="cursor|cursor-agent|claude-code|opencode|pi|codex|gemini")