Skip to content

Onboarding: quickstart example, CMake integration, umbrella header - #3

Merged
JonathanKash merged 1 commit into
mainfrom
onboarding
Sep 2, 2026
Merged

Onboarding: quickstart example, CMake integration, umbrella header#3
JonathanKash merged 1 commit into
mainfrom
onboarding

Conversation

@JonathanKash

Copy link
Copy Markdown
Owner

Makes incorporating EdgeVector a five-minute job:

  • examples/quickstart.cpp — complete, compilable, self-checking tour of the whole pipeline; exits non-zero on any failed check. A new CI job builds and runs it via both make and CMake on every push so it can never drift from the library.
  • CMake supportedgevector::edgevector INTERFACE target (FetchContent / add_subdirectory), Threads linked, install rule, fatal-with-explanation on MSVC.
  • edgevector/edgevector.hpp umbrella header + EDGEVECTOR_VERSION macros.
  • README "Getting it into your project" section.

Validated: quickstart green on Windows/MinGW (make) and Linux (CMake, incidentally on arm64 via container emulation).

🤖 Generated with Claude Code

https://claude.ai/code/session_017ULiWeodALX2ZQiLKvTw25

Makes adoption a five-minute job instead of a reverse-engineering
exercise:

- examples/quickstart.cpp: a complete, compilable, SELF-CHECKING tour
  of the whole pipeline (quantize -> multi-threaded build -> persist ->
  zero-rebuild reload -> Hamming / asymmetric / exact search ->
  contexts -> filtering -> soft delete -> slot reclamation). Exits
  non-zero on any failed check, so it doubles as a smoke test; a new CI
  job builds and runs it via BOTH make and CMake on every push, so the
  example can never drift from the library. Verified on Windows/MinGW
  and (via container) Linux arm64.
- CMakeLists.txt: header-only INTERFACE target edgevector::edgevector
  with FetchContent/add_subdirectory consumption, Threads linked, header
  install rule, and a clear fatal error on MSVC instead of a wall of
  builtin errors.
- include/edgevector/edgevector.hpp: single-include umbrella header
  with EDGEVECTOR_VERSION macros for vendored-copy identification.
- README: "Getting it into your project" section - vendor / FetchContent
  / add_subdirectory, the flags that matter, and a pointer to the
  quickstart.
- examples/Makefile with the same ARCH/RUNNER knobs as tests/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017ULiWeodALX2ZQiLKvTw25
@JonathanKash
JonathanKash merged commit 79f43c8 into main Sep 2, 2026
7 checks passed
@JonathanKash
JonathanKash deleted the onboarding branch September 2, 2026 03:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant