This repository contains IDL (Interface Definition Language) files specifying the interface between different Semgrep components (e.g., between the semgrep CLI and the playground). It also includes the schema for Semgrep rules, as both Semgrep and Semgrep App rely on this.
This repository is meant to be used as a submodule.
You may need to install opam and mypy as pre-requisites for contributing to this repository.
To update an interface:
- Run
make setup
- Run
eval $(opam env)
- Make changes to the appropriate .atd file or edit
generate.py
- Run
make
. This will propagate that change to the respective .py, .ts, .ml, etc.