<commit_before># Contributing Guide

## Monorepo

This repository is monorepo.
This repository includes multiple packages.

## Bug Reporting

If you found a bug, please [create a new issue](https://github.com/textlint/textlint/issues/new) on GitHub. Be sure to include the following information:

- The version of `textlint -v`
- Reproduce steps
- Actual result
    - Attach the log of `textlint --debug <options>`
- Expected result

:information_source: Creating reproduce repository help us to resolve the issue :)

- Example of reproduce repository
- [azu/textlint-isssue78: https://github.com/textlint/textlint/issues/78](https://github.com/azu/textlint-isssue78 "azu/textlint-isssue78: https://github.com/textlint/textlint/issues/78")

## For beginner

If you want to contribute to texltlint, let's see issues with the [`good first issue`](https://github.com/textlint/textlint/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label.

We recommend these issues for your first contribution.

## Pull Request

### [Git Commit Message Format](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md "Commit Message Format")

We use AngularJS Commit Convention.

Please see [Commit Message Format](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md "Commit Message Format") for detail.

```
                       component        commit title
        commit type       /                /      
                \        |                |
                 feat(rule-context): add template url parameter to events

        body ->  The 'src` (i.e. the url of the template to load) is now provided to the
                 `$includeContentRequested`, `$includeContentLoaded` and `$includeContentError`
                 events.

 referenced  ->  Closes #8453
 issues          Closes #8454
```

- `commit type`: feat | fix | docs | style | perf | test | chore
    - `chore` is useful type
- `component`: package name or file name
    - e.g.) `textlint`, `kernel`, `ast-node-types`
    
    
Example commit messages

```
feat(rule): context.report support index-based position

support following syntax

e.g.) 
context.report(node, new RuleError({ index: index }));

fix #134
```


### Fixing document

If you want to fix `docs/`

1. Fix document!
2. Commit your changes
  - `git commit -am 'docs(<file-name>): Short description'`
3. Run the tests
  - `npm run lint`
4. Submit a pull request :D

Welcome to fix the document!

### Fixing bugs in code

textlint follows a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md "monorepo") approach, so textlint use [Lerna](https://lernajs.io/ "Lerna").

If you want to fix `src/` or `test/` in each packages.

1. Fix the bug in code!
2. Commit your changes
  - `git commit -am 'fix(<file-name>): Short description'`
3. Run the tests
  - `npm test`
4. Submit a pull request :D

Adding :new: feature in the same way.

1. Add feature
2. Commit your changes
  - `git commit -am 'feat(<file-name>): Short description'`
3. Write tests
4. Run the tests
  - `npm test`
5. Submit a pull request :D
<commit_msg>docs(CONTRIBUTING): add instruction before lint<commit_after># Contributing Guide

## Monorepo

This repository is monorepo.
This repository includes multiple packages.

## Bug Reporting

If you found a bug, please [create a new issue](https://github.com/textlint/textlint/issues/new) on GitHub. Be sure to include the following information:

- The version of `textlint -v`
- Reproduce steps
- Actual result
    - Attach the log of `textlint --debug <options>`
- Expected result

:information_source: Creating reproduce repository help us to resolve the issue :)

- Example of reproduce repository
- [azu/textlint-isssue78: https://github.com/textlint/textlint/issues/78](https://github.com/azu/textlint-isssue78 "azu/textlint-isssue78: https://github.com/textlint/textlint/issues/78")

## For beginner

If you want to contribute to texltlint, let's see issues with the [`good first issue`](https://github.com/textlint/textlint/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label.

We recommend these issues for your first contribution.

## Pull Request

### [Git Commit Message Format](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md "Commit Message Format")

We use AngularJS Commit Convention.

Please see [Commit Message Format](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md "Commit Message Format") for detail.

```
                       component        commit title
        commit type       /                /      
                \        |                |
                 feat(rule-context): add template url parameter to events

        body ->  The 'src` (i.e. the url of the template to load) is now provided to the
                 `$includeContentRequested`, `$includeContentLoaded` and `$includeContentError`
                 events.

 referenced  ->  Closes #8453
 issues          Closes #8454
```

- `commit type`: feat | fix | docs | style | perf | test | chore
    - `chore` is useful type
- `component`: package name or file name
    - e.g.) `textlint`, `kernel`, `ast-node-types`
    
    
Example commit messages

```
feat(rule): context.report support index-based position

support following syntax

e.g.) 
context.report(node, new RuleError({ index: index }));

fix #134
```


### Fixing document

If you want to fix `docs/`

1. Fix document!
2. Commit your changes
  - `git commit -am 'docs(<file-name>): Short description'`
3. During your first run after clone (`git clone`) or clean up (`npm run clean`), build the project
  - `npm run build`
4. Run the tests
  - `npm run lint`
5. Submit a pull request :D

Welcome to fix the document!

### Fixing bugs in code

textlint follows a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md "monorepo") approach, so textlint use [Lerna](https://lernajs.io/ "Lerna").

If you want to fix `src/` or `test/` in each packages.

1. Fix the bug in code!
2. Commit your changes
  - `git commit -am 'fix(<file-name>): Short description'`
3. Run the tests
  - `npm test`
4. Submit a pull request :D

Adding :new: feature in the same way.

1. Add feature
2. Commit your changes
  - `git commit -am 'feat(<file-name>): Short description'`
3. Write tests
4. Run the tests
  - `npm test`
5. Submit a pull request :D

{'fraction_non_alphanumeric': 0.1146674953387197, 'fraction_numerical': 0.012896208825357365, 'mean_word_length': 3.150225660863959, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 15, 'https://': 18, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, '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': '3674317', 'n_tokens_mistral': 2025, 'n_tokens_neox': 1935, 'n_words': 683}