korbit-mentor


Namekorbit-mentor JSON
Version 3.6.7 PyPI version JSON
download
home_pagehttps://www.korbit.ai
SummaryKorbit mentor CLI tool will allow you to analyze any local files.
upload_time2023-10-10 21:50:50
maintainer
docs_urlNone
authorKorbit Technologies Inc.
requires_python
license
keywords software development mentor engineer
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Korbit

Korbit mentor CLI will allow you to analyze any local files. See official documentation [here](https://docs.korbit.ai/cli/cli_quickstart)

## Installation

### Pip

To install Korbit, you can use pip:

```
pip install korbit-mentor
```

### Binary

#### Linux - MacOS

1. Automatically installation

```sh
curl https://mentor-resources.korbit.ai/cli/install.sh | bash
or
sudo curl https://mentor-resources.korbit.ai/cli/install.sh | sudo bash
```

1. Linux and Macos x86

```sh
sudo wget https://mentor-resources.korbit.ai/cli/latest/korbit-x86_64 -O /usr/local/bin/korbit
sudo chmod +x /usr/local/bin/korbit
```

1. MacOS arm64

```sh
sudo wget https://mentor-resources.korbit.ai/cli/latest/korbit-aarch64 -O /usr/local/bin/korbit
sudo chmod +x /usr/local/bin/korbit
```

#### Windows

```sh
wget https://mentor-resources.korbit.ai/cli/latest/korbit.exe -O ~\\korbit.exe
```

## Usage

To use Korbit, simply run the `korbit` command followed by the path of the file or folder you want to zip. For example, to zip the current folder, you can run:

```
korbit scan example/subfolder
```

This command will take all the files of the `example/subfolder` and request a scan on our server.

### Run

#### Full scan

```sh
korbit login
korbit scan example/subfolder
```

#### PR Scan

You can now also analyze only the files that you have been modifying in your current branch to compare to the branch you want.

```sh
python -m korbit/cli login

# One of
korbit scan-pr /path/to/repository main
korbit scan-pr path/to/repository
korbit scan-pr # Default use current directory (`.`), as the repository and `origin/master` as the base branch
```

It will take your current active branch and find the diff files. Using this, it will be requesting a review only on those files.
_Note: You will be able to use all the same options as the `korbit scan` explained below._

#### Exclude paths

You have the ability to exclude paths (using `.gitignore` path regex format) from being sent to analysis. Use the `--exclude-paths` option on the scan or scan-pr command. It must be a string of regex separated by a comma.

```sh
korbit scan . --exclude-paths="**/.git/*,**/node_modules/*"
# Run the scan-pr command on the current directory against the develop branch without including `.git` and `node_modules` files.
korbit scan-pr  . develop --exclude-paths="**/.git/*,**/node_modules/*"
```

#### Limitation

To protect us from large repository upload and potential mistake, we introduced a limit of 100mb for the number of files being sent for analysis. If this happens, make sure you are excluding the large files correctly and the files that you don't need to be reviewed. It will speed up the analysis.

#### Output

We introduce the ability to run a scan headless, meaning that there will be no output in the terminal. But in the following default path:

```sh
# In the working directory where the korbit scan command has been executed.
cat .korbit/scan.log
```

If Korbit AI mentor find issues, the command will exit with a specific code number (see `--headless` option documentation).

```sh
korbit scan --help
```

This `korbit scan --headless` flag option will be used mainly in CI/CD pipelines, to automatically stop it.
Along with the --headless command, you can specify certain thresholds for only 2 metrics at the moment:

1. confidence (scale 1-10): represents how confident Korbit AI Mentor is that a particular issue is real. A higher confidence score indicates a greater level of certainty that the identified issue is valid and requires attention.
1. priority (scale 1-10): represents the level of importance or urgency assigned by Korbit AI Mentor to a particular issue. A higher priority score indicates a greater sense of urgency and the need for immediate attention to address the identified issue.

```sh
korbit scan --headless
```

**Note**: You can use the `--thresholds-*` even if the scan isn't in headless mode, this will filter the issue found and display only the one that matters for you.

#### Progress view

After you start to run a `korbit scan` command and that our system accepted the request (might take some time regarding load on our server), you will see in your terminal the progress of the scan. Each file will be updated in real time with their status.

```sh
Analysis in progress (1/1)
├── afile.js ⏳
└── afile.py ✅
Analyzing files (2)... ━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━  50% -:--:--
```

#### Result

At the end when every file will be analyzed you will see in your terminal different tables containing the issues' descriptions and their placement in the given file. Along that will see the priority and confidence about that issue.

```sh
                                         Category: Critical Errors
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Error Description                                  ┃ File Path                  ┃ Confidence ┃ Priority ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ There is an error on the line X, because...        │ folder/afile.js            │ 10         │ 9        │
└────────────────────────────────────────────────────┴────────────────────────────┴────────────┴──────────┘
```

## Contact

If you have any questions or need further assistance, feel free to reach out to us at [support@korbit.ai](mailto:support@korbit.ai).

You can also open new Issue tickets on this repository.

            

Raw data

            {
    "_id": null,
    "home_page": "https://www.korbit.ai",
    "name": "korbit-mentor",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "SOFTWARE,DEVELOPMENT,MENTOR,ENGINEER",
    "author": "Korbit Technologies Inc.",
    "author_email": "team@korbit.ai",
    "download_url": "https://files.pythonhosted.org/packages/40/ac/18e6c111061a54e110fbb15cefafb876b07d3177024233e4fbc704437d20/korbit-mentor-3.6.7.tar.gz",
    "platform": null,
    "description": "# Korbit\n\nKorbit mentor CLI will allow you to analyze any local files. See official documentation [here](https://docs.korbit.ai/cli/cli_quickstart)\n\n## Installation\n\n### Pip\n\nTo install Korbit, you can use pip:\n\n```\npip install korbit-mentor\n```\n\n### Binary\n\n#### Linux - MacOS\n\n1. Automatically installation\n\n```sh\ncurl https://mentor-resources.korbit.ai/cli/install.sh | bash\nor\nsudo curl https://mentor-resources.korbit.ai/cli/install.sh | sudo bash\n```\n\n1. Linux and Macos x86\n\n```sh\nsudo wget https://mentor-resources.korbit.ai/cli/latest/korbit-x86_64 -O /usr/local/bin/korbit\nsudo chmod +x /usr/local/bin/korbit\n```\n\n1. MacOS arm64\n\n```sh\nsudo wget https://mentor-resources.korbit.ai/cli/latest/korbit-aarch64 -O /usr/local/bin/korbit\nsudo chmod +x /usr/local/bin/korbit\n```\n\n#### Windows\n\n```sh\nwget https://mentor-resources.korbit.ai/cli/latest/korbit.exe -O ~\\\\korbit.exe\n```\n\n## Usage\n\nTo use Korbit, simply run the `korbit` command followed by the path of the file or folder you want to zip. For example, to zip the current folder, you can run:\n\n```\nkorbit scan example/subfolder\n```\n\nThis command will take all the files of the `example/subfolder` and request a scan on our server.\n\n### Run\n\n#### Full scan\n\n```sh\nkorbit login\nkorbit scan example/subfolder\n```\n\n#### PR Scan\n\nYou can now also analyze only the files that you have been modifying in your current branch to compare to the branch you want.\n\n```sh\npython -m korbit/cli login\n\n# One of\nkorbit scan-pr /path/to/repository main\nkorbit scan-pr path/to/repository\nkorbit scan-pr # Default use current directory (`.`), as the repository and `origin/master` as the base branch\n```\n\nIt will take your current active branch and find the diff files. Using this, it will be requesting a review only on those files.\n_Note: You will be able to use all the same options as the `korbit scan` explained below._\n\n#### Exclude paths\n\nYou have the ability to exclude paths (using `.gitignore` path regex format) from being sent to analysis. Use the `--exclude-paths` option on the scan or scan-pr command. It must be a string of regex separated by a comma.\n\n```sh\nkorbit scan . --exclude-paths=\"**/.git/*,**/node_modules/*\"\n# Run the scan-pr command on the current directory against the develop branch without including `.git` and `node_modules` files.\nkorbit scan-pr  . develop --exclude-paths=\"**/.git/*,**/node_modules/*\"\n```\n\n#### Limitation\n\nTo protect us from large repository upload and potential mistake, we introduced a limit of 100mb for the number of files being sent for analysis. If this happens, make sure you are excluding the large files correctly and the files that you don't need to be reviewed. It will speed up the analysis.\n\n#### Output\n\nWe introduce the ability to run a scan headless, meaning that there will be no output in the terminal. But in the following default path:\n\n```sh\n# In the working directory where the korbit scan command has been executed.\ncat .korbit/scan.log\n```\n\nIf Korbit AI mentor find issues, the command will exit with a specific code number (see `--headless` option documentation).\n\n```sh\nkorbit scan --help\n```\n\nThis `korbit scan --headless` flag option will be used mainly in CI/CD pipelines, to automatically stop it.\nAlong with the --headless command, you can specify certain thresholds for only 2 metrics at the moment:\n\n1. confidence (scale 1-10): represents how confident Korbit AI Mentor is that a particular issue is real. A higher confidence score indicates a greater level of certainty that the identified issue is valid and requires attention.\n1. priority (scale 1-10): represents the level of importance or urgency assigned by Korbit AI Mentor to a particular issue. A higher priority score indicates a greater sense of urgency and the need for immediate attention to address the identified issue.\n\n```sh\nkorbit scan --headless\n```\n\n**Note**: You can use the `--thresholds-*` even if the scan isn't in headless mode, this will filter the issue found and display only the one that matters for you.\n\n#### Progress view\n\nAfter you start to run a `korbit scan` command and that our system accepted the request (might take some time regarding load on our server), you will see in your terminal the progress of the scan. Each file will be updated in real time with their status.\n\n```sh\nAnalysis in progress (1/1)\n\u251c\u2500\u2500 afile.js \u23f3\n\u2514\u2500\u2500 afile.py \u2705\nAnalyzing files (2)... \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u257a\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501  50% -:--:--\n```\n\n#### Result\n\nAt the end when every file will be analyzed you will see in your terminal different tables containing the issues' descriptions and their placement in the given file. Along that will see the priority and confidence about that issue.\n\n```sh\n                                         Category: Critical Errors\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Error Description                                  \u2503 File Path                  \u2503 Confidence \u2503 Priority \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 There is an error on the line X, because...        \u2502 folder/afile.js            \u2502 10         \u2502 9        \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n## Contact\n\nIf you have any questions or need further assistance, feel free to reach out to us at [support@korbit.ai](mailto:support@korbit.ai).\n\nYou can also open new Issue tickets on this repository.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Korbit mentor CLI tool will allow you to analyze any local files.",
    "version": "3.6.7",
    "project_urls": {
        "Homepage": "https://www.korbit.ai"
    },
    "split_keywords": [
        "software",
        "development",
        "mentor",
        "engineer"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7cf1c9b2a84eabf6b595b738949d344317ec41a2398ba1a62dc762183bf1b6f7",
                "md5": "14984dfaeb2cdfd562a9040187c33323",
                "sha256": "ec7d829188ef7a93410e470091a0606448e12df415da985bf759385914788aaf"
            },
            "downloads": -1,
            "filename": "korbit_mentor-3.6.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "14984dfaeb2cdfd562a9040187c33323",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 21233,
            "upload_time": "2023-10-10T21:50:48",
            "upload_time_iso_8601": "2023-10-10T21:50:48.926724Z",
            "url": "https://files.pythonhosted.org/packages/7c/f1/c9b2a84eabf6b595b738949d344317ec41a2398ba1a62dc762183bf1b6f7/korbit_mentor-3.6.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "40ac18e6c111061a54e110fbb15cefafb876b07d3177024233e4fbc704437d20",
                "md5": "44f064bbfc4bc1cb82f3214e4bd6373e",
                "sha256": "ebf5fd30e7e1c392f80a114056e76eafb3f524881ec681486e4dcfe52c986ff0"
            },
            "downloads": -1,
            "filename": "korbit-mentor-3.6.7.tar.gz",
            "has_sig": false,
            "md5_digest": "44f064bbfc4bc1cb82f3214e4bd6373e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 20772,
            "upload_time": "2023-10-10T21:50:50",
            "upload_time_iso_8601": "2023-10-10T21:50:50.498614Z",
            "url": "https://files.pythonhosted.org/packages/40/ac/18e6c111061a54e110fbb15cefafb876b07d3177024233e4fbc704437d20/korbit-mentor-3.6.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-10 21:50:50",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "korbit-mentor"
}
        
Elapsed time: 0.12531s