Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
785bbcf
MCP: Streamable HTTP, scoring fixes, tool improvements (#149)
igrigorik Feb 10, 2026
993628e
fix: add missing context to search results markdown and XML formatters
tobi Feb 13, 2026
96634da
feat: promote query as primary search command, add CLI aliases
tobi Feb 13, 2026
5dec3ab
fix: disable following symlinks in glob.scan. Closes #134
claude Feb 14, 2026
da79e77
feat: add --version/-v flag. Closes #88
claude Feb 14, 2026
0eabfe7
fix: allow $ route filenames in handelize. Closes #162
claude Feb 14, 2026
96643a2
fix: reactivate deactivated documents on re-index. Closes #168
claude Feb 14, 2026
73136e4
fix: verify sqlite-vec readiness after extension load. Closes #169
claude Feb 14, 2026
03a25d6
Add QMD architecture diagram to README
tobi Feb 15, 2026
b69fae7
perf: batch vector embeddings + collection-aware FTS filtering
tobi Feb 15, 2026
ee86bba
feat: auto-detect GPU acceleration + device info in status
tobi Feb 15, 2026
0a0e1e6
perf: parallel reranking with multiple contexts (2.7x speedup)
tobi Feb 15, 2026
4ac95b5
perf: adaptive parallel contexts for embed + rerank, fix VRAM waste
tobi Feb 15, 2026
0a941c4
perf: flash attention, right-sized contexts, cleaner GPU detection
tobi Feb 15, 2026
bf42223
bench: add reranker benchmark (bench-rerank.ts)
tobi Feb 15, 2026
392934e
perf: CPU parallelism via multi-context thread splitting
tobi Feb 15, 2026
f0e87a4
feat: smart chunking with scored markdown break points
tobi Jan 31, 2026
3211225
docs: document smart chunking algorithm in README
tobi Jan 31, 2026
2d2f530
fix: use max chunk size for snippet search window
tobi Jan 31, 2026
537d15a
fix: proper cleanup of Metal GPU resources in tests
tobi Jan 31, 2026
31dd977
fix: handle dense content (code) that tokenizes to more than expected
tobi Jan 31, 2026
2279389
chore: set up npm publishing as @tobi/qmd v0.9.0
tobi Feb 15, 2026
ed4df97
test: skip LLM integration tests in CI
tobi Feb 15, 2026
73985a2
test: skip all model-dependent tests in CI
tobi Feb 15, 2026
53bf2eb
ci: use npm trusted publishing (OIDC) instead of token
tobi Feb 15, 2026
5d73752
chore: rename package scope to @tobilu/qmd
tobi Feb 15, 2026
00ff084
chore: fix bin path, add author, use token-based npm publish
tobi Feb 15, 2026
ee58a68
ci: use trusted publishing (OIDC provenance)
tobi Feb 15, 2026
13e8473
docs: update node usage and bump version
tobi Feb 15, 2026
b88c10b
docs: show bun/node install and package scope
tobi Feb 15, 2026
4df5505
Merge origin/nodejs: Node.js compat, perf improvements, vitest
tobi Feb 15, 2026
9b89a51
test: split integration/model suites
tobi Feb 15, 2026
294fc76
Merge remote-tracking branch 'origin/nodejs'
tobi Feb 15, 2026
dc64166
release: v1.0.0
tobi Feb 15, 2026
c685f7a
ci: switch from bun test to vitest on Node.js
tobi Feb 15, 2026
dcedfb5
feat: cross-runtime SQLite compat layer (bun:sqlite + better-sqlite3)
tobi Feb 15, 2026
870d3ae
test: move all tests to flat test/ directory
tobi Feb 16, 2026
edc9a87
fix: correct test paths after moving to test/ directory
tobi Feb 16, 2026
93f277c
fix: MCP session support and cross-runtime test compat
tobi Feb 16, 2026
2780dfb
fix: increase bun test timeout to 30s via CLI flag
tobi Feb 16, 2026
7acba1c
Merge pull request #178 from tobi/release/v1.0.0
tobi Feb 16, 2026
77c6eba
fix: publish workflow bun test timeout and npm auth
tobi Feb 16, 2026
09803a7
feat: compile to JS for npm, release system, full changelog
tobi Feb 16, 2026
7fb69a5
feat: release skill with changelog-driven workflow and git hooks
tobi Feb 16, 2026
614c8d6
docs: write changelog for v1.0.5
tobi Feb 16, 2026
e39848c
chore: gitignore .claude/
tobi Feb 16, 2026
6d399bc
release: v1.0.5
tobi Feb 16, 2026
8dd6cdc
fix: hide bun:sqlite import from tsc on Node.js builds
tobi Feb 16, 2026
63f3b68
feat: show models in status, improve pre-push hook
tobi Feb 16, 2026
51c03d9
release: v1.0.6
tobi Feb 16, 2026
1781e7b
fix: pre-push hook writes to stderr, no interactive prompts
tobi Feb 16, 2026
8c2282c
fix: respect XDG_CONFIG_HOME in collection config path
tobi Feb 16, 2026
640ac13
fix: support multiple -c collection filters in search commands
tobi Feb 16, 2026
e9b30bb
fix(cli): use collection add command in empty collection hints
vincentkoc Feb 17, 2026
7fee9f9
chore(cli): remove unused no-lex flag from argument parser
vincentkoc Feb 17, 2026
a282ce7
feat(finetune): improve query expansion dataset v3
tobi Feb 17, 2026
57f7caa
feat: add LiquidAI LFM2 support for query expansion
tobi Feb 17, 2026
48f0917
feat(finetune): hyde-first ordering, relative paths, structured format
tobi Feb 17, 2026
00bcfbb
fix: resolve relative paths in --index flag to prevent malformed conf…
tobi Feb 17, 2026
1007b46
fix: return empty JSON array when no search results with --json flag
tobi Feb 17, 2026
1a67e1a
Merge pull request #208 from tobi/fix/json-output-and-index-paths
tobi Feb 18, 2026
b142be8
Merge pull request #205 from tobi/mate/dataset-v3-improvements
tobi Feb 18, 2026
67e2aab
Merge pull request #206 from tobi/liquidai-query-expansion
tobi Feb 18, 2026
e3b5695
Merge pull request #201 from vincentkoc/vincentkoc-code/chore-remove-…
tobi Feb 18, 2026
4950f42
Merge pull request #200 from vincentkoc/vincentkoc-code/fix-cli-add-m…
tobi Feb 18, 2026
1033fff
fix: add python3 and cctools to nix build dependencies
pcasaretto Feb 18, 2026
8cddbcb
changelog: write 1.0.7 unreleased notes
tobi Feb 18, 2026
0697bc5
release: v1.0.7
tobi Feb 18, 2026
648779a
fix(test): reset currentIndexName between test files
tobi Feb 18, 2026
0201710
feat: add structured_search for LLM-provided query expansions
tobi Feb 19, 2026
bdec84a
docs: use npm package name, clarify vec/hyde both use vector similarity
tobi Feb 19, 2026
8ebe5ab
feat(cli): add structured query syntax to qmd query
tobi Feb 19, 2026
222dde1
Merge pull request #220 from tobi/feat/structured-search
tobi Feb 19, 2026
db44e1a
test: add comprehensive tests for structured search
tobi Feb 19, 2026
19284dd
refactor(mcp): remove deprecated search tools, keep only structured_s…
tobi Feb 19, 2026
6d6bdff
docs: simplify skill documentation
tobi Feb 19, 2026
d1ec31e
feat: add collections array filter + improve query writing docs
tobi Feb 19, 2026
efb3961
feat(lex): add query syntax for exact phrases, negation, and OR
tobi Feb 19, 2026
77e4d8f
refactor: remove single collection param, use collections array only
tobi Feb 19, 2026
de3a83a
refactor: remove OR operator from lex queries
tobi Feb 19, 2026
4649069
feat: add expand: type, rename to query, document syntax
tobi Feb 19, 2026
3f946f7
fix(package.json): correct Windows sqlite-vec package name + add linu…
ilepn Feb 19, 2026
07421de
feat(http): keep /search as alias for /query
tobi Feb 19, 2026
2b94e09
feat(cli): add collection management commands
tobi Feb 19, 2026
262c7d3
refactor: remove context check command
tobi Feb 19, 2026
bdf0c20
feat(status): add tips for missing context and update commands
tobi Feb 19, 2026
a81f013
fix(status): improve tips with subfolder context example and better u…
tobi Feb 19, 2026
24ffa48
feat(cli): show timing for expand, embed, and rerank steps
tobi Feb 19, 2026
2cb7b59
fix(cli): print timing inline after each step, not on separate line
tobi Feb 19, 2026
3b87e3e
feat: query document format, lex phrase/negation syntax, training data
tobi Feb 19, 2026
6ac7c68
chore: release 1.0.8
tobi Feb 19, 2026
7579a2c
fix(cli): prevent parser breakage on empty results across output formats
amsminn Feb 19, 2026
b0f6da8
fix(cli): suppress progress bars and indexing output when not TTY
dgilperez Feb 19, 2026
8d73eda
data: add 48 sports acronym training examples
tobi Feb 22, 2026
a815b52
Merge pull request #214 from pcasaretto/fix/nix-build-deps
tobi Feb 22, 2026
0b57711
refactor: replace bash wrapper with standard #!/usr/bin/env node shebang
tobi Feb 21, 2026
c7e8ea0
test: restructure container smoke tests for interactive use
tobi Feb 21, 2026
1765b68
docs: write changelog for 1.1.0
tobi Feb 21, 2026
60564b3
chore: gitignore package-lock.json
tobi Feb 21, 2026
0e0feb6
release: v1.1.0
tobi Feb 21, 2026
64ef25e
Document query grammar and add skill helpers
tobi Feb 22, 2026
5999357
finetune: remove orphaned files and abandoned experiments
tobi Feb 22, 2026
3950055
finetune: quoted phrases, negation, and entity preservation (#247)
tobi Feb 22, 2026
1d7d167
finetune: strict Pydantic schema, one canonical data format
tobi Feb 22, 2026
5233e67
fix(rerank): truncate documents exceeding 2048-token context size
tobi Feb 20, 2026
cbeeb1f
Add wall-clock checkpoints and full eval defaults
tobi Feb 22, 2026
189916d
Move GRPO training out of default finetune pipeline
tobi Feb 22, 2026
d6f3688
Remove grpo command from default train entrypoint
tobi Feb 22, 2026
32cd83b
fix: skip unreadable files during indexing instead of crashing
Feb 23, 2026
b024693
Merge branch 'main' into fix-empty-results-format
amsminn Feb 24, 2026
87bd968
feat: expose candidateLimit as MCP tool parameter and CLI flag
pandysp Feb 24, 2026
4511b9b
fix(reward): tighten entity detection, add filler penalty, stricter d…
rkbadhan Feb 24, 2026
40610c3
Merge pull request #256 from rkbadhan/reward-design
tobi Feb 26, 2026
e257bb7
perf(memory): optimize addMessage session upsert and add coverage
ashu17706 Feb 27, 2026
b71649b
feat: add QMD_EMBED_MODEL env var for multilingual embedding support
Mar 1, 2026
383a2e5
fix: support multiple concurrent HTTP clients
joelev Mar 4, 2026
fde542c
feat: add ignore patterns for collections
sebkouba Mar 5, 2026
dc777e3
fix(store): handle emoji-only filenames in handelize (#302)
debugerman Mar 6, 2026
3095041
feat: use `build: "autoAttempt"` on `getLlama`
giladgd Mar 6, 2026
75589d7
Fix claude marketplace syntax
gi11es Mar 6, 2026
7f8e33e
Fix plugin install syntax
gi11es Mar 6, 2026
6072165
docs: write changelog for 1.1.1
tobi Mar 6, 2026
2ae1bab
release: v1.1.1
tobi Mar 6, 2026
49d5b4f
fix(index): deactivate stale docs on empty collection updates
0xble Mar 6, 2026
0dec1df
fix(llm): make expansion context size configurable
0xble Mar 6, 2026
607ab7a
fix: remove unused config
giladgd Mar 7, 2026
6934c46
Merge pull request #311 from gi11es/patch-1
tobi Mar 7, 2026
f75c668
Merge pull request #310 from giladgd/nodeLlamaCppUseBuildAutoAttempt
tobi Mar 7, 2026
72e96d1
Merge pull request #312 from 0xble/fix/empty-collection-deactivate
tobi Mar 7, 2026
e6b50cf
Merge pull request #308 from debugerman/fix/handelize-emoji-crash
tobi Mar 7, 2026
a28163f
Merge pull request #304 from sebkouba/feature/collection-ignore
tobi Mar 7, 2026
ee08997
Merge pull request #313 from 0xble/fix/expand-context-size-config
tobi Mar 7, 2026
271feb7
Merge pull request #253 from jimmynail/fix/skip-unreadable-files
tobi Mar 7, 2026
0b3fb07
Merge pull request #230 from Balneario-de-Cofrentes/fix/tty-progress-…
tobi Mar 7, 2026
8bd9336
Merge pull request #228 from amsminn/fix-empty-results-format
tobi Mar 7, 2026
e3bc5cc
Merge pull request #286 from joelev/fix/multi-session-http
tobi Mar 7, 2026
a4b641d
Merge pull request #255 from pandysp/feat/expose-candidate-limit
tobi Mar 7, 2026
cb5d84f
Merge pull request #225 from ilepn/fix/sqlite-vec-windows-package-name
tobi Mar 7, 2026
7904ab9
Merge pull request #273 from daocoding/feature/configurable-embed-model
tobi Mar 7, 2026
b068ad0
feat(query): add --explain score traces for hybrid search
vyalamar Feb 21, 2026
44d7145
Merge pull request #242 from vyalamar/feat/query-explain-score-traces
tobi Mar 7, 2026
e3549da
perf(rerank): cap parallelism, deduplicate chunks, cache by content
tobi Mar 7, 2026
0ff9bec
docs: write changelog for 1.1.2
tobi Mar 7, 2026
b838f74
release: v1.1.2
tobi Mar 7, 2026
ad38c1f
feat: add intent parameter for query disambiguation
tobi Mar 7, 2026
66fb5b1
docs: write changelog for 1.1.5
tobi Mar 8, 2026
da9cf69
release: v1.1.5
tobi Mar 8, 2026
ba97c03
docs: credit Ilya Grigorik in 1.1.5 changelog
tobi Mar 8, 2026
4fa1168
fix: update Store type to match intent parameter signatures
tobi Mar 8, 2026
040c6fa
feat: add SDK/library mode for programmatic access
tobi Mar 8, 2026
0c83dc1
docs: write changelog for 1.1.6
tobi Mar 9, 2026
032f26e
release: v1.1.6
tobi Mar 9, 2026
0274a2c
refactor: move memory.ts + ollama.ts to smriti/src/
ashu17706 Mar 10, 2026
14b1ce0
refactor: remove memory.test.ts (tests moved to smriti/test/)
ashu17706 Mar 10, 2026
cf7ae99
Merge remote-tracking branch 'upstream/main' into HEAD
ashu17706 Mar 10, 2026
f951f99
chore: regenerate bun.lock after upstream merge
ashu17706 Mar 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
test-node:
name: Node ${{ matrix.node-version }} (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
node-version: ["22", "23"]

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- name: Install SQLite (Ubuntu)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev

- name: Install SQLite (macOS)
if: runner.os == 'macOS'
run: brew install sqlite

- run: npm install

- name: Tests
run: npx vitest run --reporter=verbose test/
env:
CI: true

test-bun:
name: Bun (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]

steps:
- uses: actions/checkout@v4

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install SQLite (Ubuntu)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev

- name: Install SQLite (macOS)
if: runner.os == 'macOS'
run: brew install sqlite

- run: bun install

- name: Tests
run: bun test --timeout 30000 --preload ./src/test-preload.ts test/
env:
CI: true
DYLD_LIBRARY_PATH: /opt/homebrew/opt/sqlite/lib
LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu
55 changes: 55 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Publish

on:
push:
tags: ["v*"]

jobs:
publish:
runs-on: ubuntu-latest

permissions:
contents: write
id-token: write

steps:
- uses: actions/checkout@v4

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install SQLite
run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev

- run: bun install
- run: bun test --timeout 30000 --preload ./src/test-preload.ts test/
env:
CI: true
LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu

- uses: actions/setup-node@v4
with:
node-version: 22
registry-url: https://registry.npmjs.org

- run: npm run build
- run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Extract release notes
id: notes
run: |
VERSION="${GITHUB_REF_NAME#v}"
NOTES=$(./scripts/extract-changelog.sh "$VERSION")
# Write to file for gh release (avoids quoting issues)
echo "$NOTES" > /tmp/release-notes.md

- name: Create GitHub release
run: |
gh release create "$GITHUB_REF_NAME" \
--title "$GITHUB_REF_NAME" \
--notes-file /tmp/release-notes.md
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
node_modules/
dist/
package-lock.json
.npmrc
*.sqlite
.DS_Store
archive/
texts/
.cursor/
.github/
.github/copilot/
*.md
!README.md
!CLAUDE.md
!CHANGELOG.md
!skills/**/*.md
!finetune/*.md
!docs/*.md
finetune/outputs/
finetune/data/train/
.claude/
3 changes: 3 additions & 0 deletions .pi/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"skills": ["skills"]
}
Loading
Loading