We appreciate your interest in contributing to the Nebius AI SDK. This guide explains the preferred workflow and common developer commands for working on this repository.
If you discover a security issue, report it promptly via the GitHub "Report a Vulnerability" tab:
For more details on security policies see SECURITY.md.
Before opening a new issue, search existing issues to avoid duplicates. If it's new, open an issue and include a short description, steps to reproduce (if a bug), and any relevant logs or test output.
File a new issue here: Create issue
Typical contribution flow:
- Open an issue to discuss the change (bugfix, enhancement, or API adjustment).
- Fork the repository and create a feature branch for your work.
- Implement your changes and add tests covering the behaviour.
- Run the linter, formatter and tests locally.
- Push to your fork and open a Pull Request (PR) against the main branch for review.
Small, focused PRs are easier to review. Describe the motivation and include links to related issues.
Prerequisites:
- Node.js 18 or later (LTS recommended)
- npm (or pnpm/yarn) available on PATH
bufCLI if you need to regenerate protobuf artifacts (optional for most contribution workflows)
Quick start:
# clone and install
git clone git@github.com:nebius/js-sdk.git
cd js-sdk
npm ci
# build generated artifacts and TypeScript
npm run build
# generate docs (optional)
npm run docsIf you prefer pnpm or yarn use the equivalent install command (pnpm install / yarn install).
Regenerating generated code:
If you need to regenerate src/generated/ from protos, examine the scripts/ and dist-scripts/scripts/ helpers. The repository includes generators; follow their README or run the generator scripts as necessary.
Write tests using Jest (the project uses Jest for unit tests). Run tests locally with:
npm test
# run a single test file
npx jest src/__tests__/path/to/test.file.tsE2E tests require valid Nebius credentials and are not suitable for public CI by default, but they are available in the GitHub CI.
Use the project's npm scripts to check and fix style issues:
# lint
npm run lint
# fix lint issues
npm run lint:fix
# format with Prettier
npm run format
# check formatting
npm run format:checkIf the repository uses git hooks (e.g. Husky), ensure they are installed in your environment. If unsure, run the lint/format commands before committing.
Run the same linting/format/test commands locally that CI runs. This reduces PR churn and helps CI pass on the first run.
- Generated code in
src/api/is authored by generator scripts. Avoid editing generated files by hand. - If types or generated clients are missing, run the generator scripts described under
scripts/. - For API docs, run
npm run docsand opendocs/api/index.html.