<commit_before># Contribution Guide

This document offers a set of guidelines for contributing to VSCodeVim.
These are just guidelines, not rules; use your best judgment and feel free to propose changes to this document.
If you need help, drop by on [Slack](https://vscodevim.herokuapp.com/).

Thanks for helping us in making VSCodeVim better! :clap:

## Submitting Issues

The [GitHub issue tracker](https://github.com/VSCodeVim/Vim/issues) is the preferred channel for tracking bugs and enhancement suggestions.
When creating a new bug report do:

- Search against existing issues to check if somebody else has already reported your problem or requested your idea
- Fill out the issue template.

## Submitting Pull Requests

Pull requests are _awesome_.
If you're looking to raise a PR for something which doesn't have an open issue, consider creating an issue first.

When submitting a PR, please fill out the template that is presented by GitHub when a PR is opened.

## First Time Setup

1.  Install prerequisites:
    - latest [Visual Studio Code](https://code.visualstudio.com/)
    - [Node.js](https://nodejs.org/) v8.0.0 or higher
    - _Optional_: [Docker Community Edition](https://store.docker.com/search?type=edition&offering=community) 🐋
1.  In a terminal:

    ```bash
    # fork and clone the repository
    git clone git@github.com:<YOUR-FORK>/Vim.git
    cd Vim

    # Install the dependencies
    npm install

    # Open in VSCode
    code .

    # Choose the "Build, Run Extension" in the dropdown of VSCode's
    # debug tab to build and run the extension.
    # Or run tests by selecting the appropriate drop down option

    # Alternatively, build and run tests through gulp and npm scripts
    npx gulp build                  # build extension
    npx gulp prepare-test           # build sources and tests
    npm test                        # test (must close all instances of VSCode)

    # Only available if Docker is installed and running
    npx gulp test                   # run tests inside Docker container
    npx gulp test --grep testSuite  # run only tests/suites filtered by js regex inside container
    ```

## Code Architecture

The code is split into two parts:

- ModeHandler - Vim state machine<commit_msg>Remove prepare-tests step from CONTRIBUTING.md (#4222)<commit_after># Contribution Guide

This document offers a set of guidelines for contributing to VSCodeVim.
These are just guidelines, not rules; use your best judgment and feel free to propose changes to this document.
If you need help, drop by on [Slack](https://vscodevim.herokuapp.com/).

Thanks for helping us in making VSCodeVim better! :clap:

## Submitting Issues

The [GitHub issue tracker](https://github.com/VSCodeVim/Vim/issues) is the preferred channel for tracking bugs and enhancement suggestions.
When creating a new bug report do:

- Search against existing issues to check if somebody else has already reported your problem or requested your idea
- Fill out the issue template.

## Submitting Pull Requests

Pull requests are _awesome_.
If you're looking to raise a PR for something which doesn't have an open issue, consider creating an issue first.

When submitting a PR, please fill out the template that is presented by GitHub when a PR is opened.

## First Time Setup

1.  Install prerequisites:
    - latest [Visual Studio Code](https://code.visualstudio.com/)
    - [Node.js](https://nodejs.org/) v8.0.0 or higher
    - _Optional_: [Docker Community Edition](https://store.docker.com/search?type=edition&offering=community) 🐋
1.  In a terminal:

    ```bash
    # fork and clone the repository
    git clone git@github.com:<YOUR-FORK>/Vim.git
    cd Vim

    # Install the dependencies
    npm install

    # Open in VSCode
    code .

    # Choose the "Build, Run Extension" in the dropdown of VSCode's
    # debug tab to build and run the extension.
    # Or run tests by selecting the appropriate drop down option

    # Alternatively, build and run tests through gulp and npm scripts
    npx gulp build                  # build
    npm test                        # test (must close all instances of VSCode)

    # Only available if Docker is installed and running
    npx gulp test                   # run tests inside Docker container
    npx gulp test --grep testSuite  # run only tests/suites filtered by js regex inside container
    ```

## Code Architecture

The code is split into two parts:

- ModeHandler - Vim state machine
{'fraction_non_alphanumeric': 0.06427771556550951, 'fraction_numerical': 0.003135498320268757, 'mean_word_length': 3.1582867783985105, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2450139', 'n_tokens_mistral': 1250, 'n_tokens_neox': 1168, 'n_words': 570}