Skip to content

Latest commit

History

History
30 lines (16 loc) 路 1.92 KB

CONTRIBUTING.md

File metadata and controls

30 lines (16 loc) 路 1.92 KB

Contributing to Objection

First off, thanks for taking the time to contribute! 馃帀馃挜

The following are some simple guidelines for contributing to the project. Before you get started though, it is highly recommended that you read the Wiki article entry available here to get an idea of how the project is put structured and to learn about the various components.

Finally, when submitting your pull request, please try and be as descriptive as possible about what is changing/is fixed. Ideally, including tests greatly helps facilitate this process.

Thanks! 馃

Code Structure

Objection consists of two major parts. The Python command line environment and the TypeScript agent. Both of these parts live in this single, monorepo.

  • The Python command line lives here.
  • The TypeScript agent lives here.

Environment Setup

Whether you want to contribute to the TypeScript agent or the Python command line, both components would require some setup.

Python Command Line

Any Python 3 environment should do, but we recommend you use the latest version of Python. To satisfy all of the dependencies that you may need, install those defined in the requirements-dev.txt file in the project's root. This would make all of the code dependencies available, as well as some useful debugging helpers.

TypeScript Agent

The objection agent is written using TypeScript 3. It is recommended that you download Visual Studio Code for agent development given the excellent TypeScript support that it has.

For more information on developing for the agent, please see the Wiki article here.