You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit d68b190
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+21-4Lines changed: 21 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,7 +52,7 @@ Remote LLM endpoints must use HTTPS; HTTP is accepted only on loopback.
52
52
53
53
**Synonyms:** Each node (file or directory) gets 5–12 LLM-generated synonyms via batched API calls to an OpenAI-compatible endpoint. For example, `Skeletons.tsx → ["skeletons", "loading", "placeholder", "animation"]`. Names are smart-batched (up to 60 per request, 10 parallel by default). The prompt includes extracted symbols and, for JS/TS files, ESM imports to generate contextual terms. Use `--offline` to guarantee that no LLM requests are made.
54
54
55
-
**Bootstrap diff:** On subsequent runs, `watch` diffs the filesystem against the existing snapshot using file modification times and sizes. Timestamp-preserving edits with a different size are detected; edits preserving both size and timestamp require a full rebuild. Deleted files are removed, new files are added, modified files are re-extracted. No LLM calls for existing synonyms — run `ctxt sync` to fill gaps. Synonym keys use `parentDir/basename`(e.g., `webhook/route.ts`) instead of bare basenames to prevent duplicate filenames from overwriting each other in the synonym map.
55
+
**Bootstrap diff:** On subsequent runs, `watch` diffs the filesystem against the existing snapshot using file modification times and sizes. Timestamp-preserving edits with a different size are detected; edits preserving both size and timestamp require a full rebuild. Deleted files are removed, new files are added, modified files are re-extracted. Watch bootstrap reuses cached synonyms; run `ctxt sync` to fill gaps and refresh changed symbol/import context. Synonym cache keys use the full project-relative path (e.g., `billing/routes/index.ts`) so identically named files in separate features remain distinct.
56
56
57
57
### Search mechanics
58
58
@@ -105,13 +105,30 @@ On first run, creates a starter `.ctxt/ctx_config.toml` and pauses so you can ed
105
105
106
106
### `ctxt sync`
107
107
108
-
Targeted synonym generation — only generates synonyms for names that are missing or below `synonyms_min`. Works on the existing index without rebuilding.
108
+
Targeted synonym generation — generates synonyms for indexed names that are missing, below `synonyms_min`, or have changed symbols/imports. It refreshes symbol extraction from disk before comparing context fingerprints. Works on the existing index without rebuilding the file tree.
109
109
110
110
```bash
111
111
ctxt sync .
112
+
ctxt sync . --path command_sync.go
113
+
ctxt sync . --path docs --force
112
114
```
113
115
114
-
Use after `init` to fill synonym gaps, or after adding new files to catch names that were missed.
116
+
`--path` selects an indexed file or directory; `--force` regenerates selected
117
+
entries even if their fingerprints are current. Use `--force` after changing
118
+
models or generation instructions. Body-only edits that leave symbols/imports
119
+
unchanged also require `--force`.
120
+
121
+
Successful LLM responses are saved even if another batch fails. The command
122
+
still exits with an error; rerun without `--force` to request only missing,
123
+
short, or stale entries. `--batch-size` explicitly controls batch size when set.
124
+
125
+
The cache automatically migrates to version 2 on the next write. Unique legacy
126
+
entries are retained; ambiguous parent/file keys are dropped rather than shared
127
+
between unrelated files. Legacy entries have no context fingerprint, so their
128
+
first online `init` or `sync` refreshes them. Use `--offline` with `init` to migrate
129
+
without LLM requests. Keep the CLI upgraded when sharing these cache files.
130
+
131
+
Use `init` or restart `watch` after adding files, then run `sync` to fill gaps.
-**`.ctxt/ctx_runtime.json`** — live watch discovery for memory search
298
315
-**Bench/eval case files** — v2 format with categories (path-intent, symbol-lookup, concept-synonym, exact-file, narrow-scope, vague-intent); v1 bare array format is backward compatible
0 commit comments