polygonhunter_searchosaurus/CONTRIBUTING.md
polygonhunter c6ca5124f8 0.1.3: scorecard polish
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>
2026-07-16 09:15:21 +00:00

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 (no obsidian imports) 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).