mirror of
https://github.com/polygonhunter/searchosaurus.git
synced 2026-07-22 08:30:27 +00:00
Always reject IndexedDB failures with a constructed Error (DOMException is not an Error subtype, which kept the review warning alive). Disclose the plugin's single opt-in network request and the scanner-visible tesseract code paths in the README, and add a contributing guide. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.2 KiB
1.2 KiB
Contributing to Searchosaurus
Thanks for your interest! Issues and pull requests are welcome.
Bugs & ideas
Open an issue — a short description, your Obsidian version, and (for search-ranking issues) an anonymized example of the query and the expected top result help a lot.
Development setup
npm install
npm run fetch-ocr-assets # once, if you want OCR in the dev vault
npm run dev # watch build into test-vault/ (pjeby/hot-reload)
npm run test # vitest over src/core
npm run build # type-check + production bundle
Open test-vault/ in Obsidian to try your changes live (the hot-reload plugin picks up dev builds automatically).
Ground rules
- Everything under
src/core/stays pure (noobsidianimports) and unit-tested — search logic changes need a test. - The UI follows one principle: radically clean. New features should live on the keyboard, not add visible chrome. If a change adds a button, badge, or footer, it probably needs rethinking.
- Only public Obsidian APIs — no private internals.
- Keep examples and fixtures fictional (no real names, vaults, or URLs).