Getting Started
Thanks for your interest in contributing. This guide focuses on the development workflow - getting set up, running tests, and inspecting test state.
Prerequisites
- Node.js
>= 22.0.0and npm (bundled with Node). We recommend using NVM to manage versions. - Docker - required for integration tests only. Unit tests run without Docker.
Setup
git clone https://github.com/redis-developer/redis-vl-typescript.git
cd redis-vl-typescript
npm install
Development
This project follows a test-driven development (TDD) workflow. Tests come first; implementation follows.
- Pull latest changes from
main, and create a new branch following this convention - Establish a test baseline:
- If the feature already exists in
redis-vl-pythonorredis-vl-java: port their unit and integration tests as the baseline. - If the feature is totally new (no RedisVL Python/Java equivalent): define the public API surface first - signatures, return types, error semantics and write the unit + integration tests against that contract before any implementation.
- If the feature already exists in
- Write or flip the failing test first. Add or update tests that describe the behaviour you want. Run them and confirm they fail for the right reason
- Behavior changes need both unit AND integration tests. Some bugs only surface against a real Redis instance. Changes that touch the wire format must include both layers.
- Implement to make the tests pass. Don't create new test files unless necessary - update existing ones if possible, under the right section.