GithubHelp home page GithubHelp logo

chat-review's Introduction

@koofe/chat-review

Install

npm i @koofe/chat-review

Usage

Node.js

import review from '@koofe/chat-review';

review({
  gitlabConfig: {
    host: 'https://gitlab.mokahr.com/',
    mrIId: 2001,
    projectId: 200,
    token: 'glpat-xxxxxx',
  },
  chatgptConfig: {
    apiKey: 'sk-xxxxxxxxx',
  },
});

Shell

chat-review --chatgpt sk-xxxxxxxxx --token 'glpat-xxxxxx' --project 200 --mr 2001

通过 ChatGPT 进行代码审核的 CLI 工具,主要包含以下几个命令选项:

  • --chatgpt:ChatGPT 的 API Token。
  • --token:GitLab 的访问 Token。
  • --project:GitLab 项目 ID。
  • --mr:GitLab Merge Request ID。
  • --model:ChatGPT 的模型类型,默认为 gpt-3.5-turbo
  • --language:ChatGPT 的语言类型,默认为中文。
  • --host:GitLab 的访问地址,默认为 https://gitlab.com
  • --proxyHost:ChatGPT API host, 默认是 https://api.openai.com
  • --target:GitLab Review 的文件,默认为 /.(j|t)sx?$/

CI

在 Gitlab CI/CD 中设置 CHATGPT_KEY、GITLAB_TOKEN 变量,.gitlab-ci.yml 如下:

stages:
  - merge-request

Code Review:
  stage: merge-request
  image: node:latest
  script:
    - npm i @koofe/chat-review -g
    - echo "$CI_MERGE_REQUEST_PROJECT_ID" 
    - echo "$CI_MERGE_REQUEST_IID"
    - chat-review run --chatgpt "$CHATGPT_KEY" --token "$GITLAB_TOKEN" --project "$CI_MERGE_REQUEST_PROJECT_ID" --mr "$CI_MERGE_REQUEST_IID"
  only:
    - merge_requests
  except:
    variables:
      - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME !~ /^(main|release)$/
  when: manual

chat-review's People

Contributors

i12n avatar matchadog avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.