Skip to content

es-ude/elastic-ai.runtime.c

Repository files navigation

README

Contribution Guidelines

Naming Scheme

Scope Scheme

Files

PascalScheme

Functions

camelCase

Variables

camelCase

suffix: typedef => _t

Preprocessor

SCREAMING_SNAKE_CASE

Functions and variables should be prefixed with a consistent identifier.

Publish Modifications

Don’t push directly to the main branch. Push your modification to a new branch and open a pull request to main, so that the maintainer of this repository can merge your modifications.

Dependencies

GCC

→ C Compiler
Can be installed via your local package manager like dnf, apt or brew.

CMake

→ Build System
Can be installed via your local package manager like dnf, apt or brew.

Ninja [OPTIONAL]

→ Build Tool
Can be installed via your local package manager like dnf, apt or brew.

Python [OPTIONAL]

→ Python Interpreter
Can be installed via your local package manager like dnf, apt or brew.
Used for development Server and Pre-commit!

Node.js [OPTIONAL]

→ Javascript Runtime
Can be installed via your local package manager like dnf, apt or brew.
Used for Commitlint hook of Pre-Commit!

Pre-Commit [optional]

To ensure our commit guidelines, we recommend using Commitlint in combination with Pre-Commit. To assure you don’t corrupt your system we recommend installing the dependencies inside a virtual environment.

Installation
  1. Install Node.js

  2. Install Node.js packages from package.json with npm ci

  3. Create and checkout a virtual Python environment

  4. Install required packages from requirements.txt

  5. Run pre-commit install to register the provided git hooks

ℹ️
Node.js is required for Commitlint!

IDE

We recommend using CLion as your IDE, because this is our standard IDE and all necessary configurations are distributed with this repository.

Start Clion and import the repository folder as a new project. When CLion has opened the folder and all required tools are installed, the IDE will now initialize the build folder, which holds all cmake generated build files.

To build and execute the unit tests, it is recommended to run the 'All CTest' target with the 'UnitTests' profile!