CircleCI에서 textlint와 reviewdog로 텍스트 교정

발행: (2026년 3월 15일 오후 08:09 GMT+9)
2 분 소요
원문: Dev.to

Source: Dev.to

개요

textlint, reviewdog, 그리고 CircleCI를 사용하여 GitHub 저장소에 보관된 문서의 일본어 교정을 자동화합니다.

디렉터리 구조

.
├── .circleci
│   └── config.yml
├── README.md
├── documents
│   ├── はじめに.md
│   └── おわりに.md
├── images
├── .textlintrc
├── package-lock.json
└── package.json

초기 설정

npm init -y

textlint 및 필요한 규칙 설치

npm install --save-dev \
  textlint \
  textlint-rule-preset-ja-spacing \
  textlint-rule-preset-ja-technical-writing \
  textlint-rule-spellcheck-tech-word \
  textlint-rule-preset-jtf-style \
  textlint-rule-preset-japanese

.textlintrc 설정

{
  "filters": {},
  "rules": {
    "preset-ja-spacing": true,
    "preset-ja-technical-writing": true,
    "preset-japanese": true,
    "preset-jtf-style": true,
    "spellcheck-tech-word": true
  }
}

CircleCI 설정 (.circleci/config.yml)

version: 2
jobs:
  build:
    docker:
      - image: vvakame/review:latest
        environment:
          REVIEWDOG_VERSION: latest
    steps:
      - checkout
      - restore_cache:
          keys:
            - npm-cache-{{ checksum "package-lock.json" }}
      - run:
          name: Setup
          command: npm install
      - save_cache:
          key: npm-cache-{{ checksum "package-lock.json" }}
          paths:
            - ./node_modules
      - run:
          name: Install reviewdog
          command: |
            curl -sfL https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh \
            | sh -s $REVIEWDOG_VERSION
      - run:
          name: Lint Japanese documents
          command: |
            "$(npm bin)/textlint" -f checkstyle documents/*.md | tee check_result
      - run:
          name: Reviewdog
          command: |
            if [ -n "$REVIEWDOG_GITHUB_API_TOKEN" ]; then
              cat check_result | ./bin/reviewdog -f=checkstyle -name=textlint -reporter=github-pr-review
            fi
          when: on_fail

작동 방식

  1. textlintdocuments/ 아래의 모든 Markdown 파일을 검사하고 결과를 Checkstyle 형식으로 출력합니다.
  2. 출력 결과는 check_result 파일에 저장됩니다.
  3. reviewdogcheck_result를 읽어 REVIEWDOG_GITHUB_API_TOKEN 환경 변수가 설정되어 있는 경우 해당 GitHub Pull Request에 댓글을 달아 줍니다.

참고 자료

0 조회
Back to Blog

관련 글

더 보기 »

트라비고

Gemini와 함께 말하는 속도만큼 빠르게 여행하세요! 라이브 에이전트가 몰입형 스토리텔링 및 3D 내비게이션과 만나는 곳. 이 프로젝트는 Gemini Live Ag...에 진입하기 위해 만들어졌습니다.