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 -ytextlint 및 필요한 규칙 설치
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작동 방식
- textlint가
documents/아래의 모든 Markdown 파일을 검사하고 결과를 Checkstyle 형식으로 출력합니다. - 출력 결과는
check_result파일에 저장됩니다. - reviewdog가
check_result를 읽어REVIEWDOG_GITHUB_API_TOKEN환경 변수가 설정되어 있는 경우 해당 GitHub Pull Request에 댓글을 달아 줍니다.