elips/docs
Project

Contributing

ELIPS is an open project. Patches that improve correctness, performance, or clarity are welcome — including documentation patches against this site.

Coding standards

The C++ core targets the C++ Core Guidelines. Domain code depends on ports (IndexPort, GpuPort,TextEmbedderPort), never on concrete engines. Backend headers stay inside their subsystem directory.

Tests

bash
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DELIPS_BUILD_PYTHON=ON
cmake --build build -j
ctest --test-dir build --output-on-failure
PYTHONPATH=bindings/python python3 tests/python/test_bindings.py

The test tree under tests/ covers core behaviour, concurrency (multi-reader and single-writer), integration with the local text embedder, and the Python binding surface. New features need at least one test, ideally in both C++ and Python.

Patch shape

  1. Open or comment on an issue describing the change.
  2. Branch from main; keep the patch focused.
  3. Run ctest and the Python suite locally; CI runs both.
  4. Update docs/ in the same PR when surface changes.
  5. Open a pull request with the issue link and a brief rationale.

Release process

Releases follow semantic versioning. The release process is documented at docs/developer-guide/release-process.md in the repository: tag → build artifacts → publish Python wheel → update changelog.