본문으로 건너뛰기

점검 도구

스킬은 에이전트가 변경 결과를 스스로 점검하도록 읽기 전용 파이썬 스크립트 세 개를 함께 제공합니다. Python 3.10 이상과 표준 라이브러리만 필요하고, 코드·SQL·HTTP를 실행하거나 설정 파일을 열지 않습니다. 스크립트는 저장소의 agent-skills/skills 아래 각 스킬의 scripts/ 폴더에 있습니다.

모두 정규식 기반의 근사 점검입니다. 결과는 후보이므로 소스에서 확정하고, 점검기가 통과해도 런타임 성공을 뜻하지 않습니다.

hs_inspect.py — 화면·거래·SQL 연결 점검​

handstack-source-trace/scripts/hs_inspect.py가 화면 ID별로 화면 → 거래 → SQL·함수의 연결표와 불일치 후보를 출력합니다.

python hs_inspect.py --root <프로젝트 루트> --list
python hs_inspect.py --root <프로젝트 루트> --screen BOD010 [--module 모듈폴더] [--verbose] [--json] [--fail-on ERROR]

출력은 서비스 | 입력(type:dataField=전송 필드) | 출력 순서 | 실행(.dbc#id seq) | callback 연결표입니다. 불일치 후보에는 대상 컨트롤 없음, 서비스·statement 없음, 입출력 개수 불일치, 미정의 거래 호출 등이 있습니다. 워크플로 계약은 단계 대상 서비스 존재, SourceStepID 순서, Assert 이름, 빈 WorkflowSteps를 검사합니다. 코드별 의미는 점검 코드 해설에 있습니다.

--fail-on ERROR를 주면 오류가 있을 때 종료 코드가 0이 아니므로 훅이나 CI에서 관문으로 쓸 수 있습니다(개발자 가이드의 훅 절).

design_lint.py — 화면 HTML 규칙 점검​

handstack-screen-development/scripts/design_lint.py가 화면 HTML을 프레임워크 디자인 가이드의 QA 기준으로 점검합니다. 아이콘 폰트, 하드코딩 색, 인라인 스타일, 번들 CSS에 없는 클래스, 컨테이너, 팝업 방식, 필수 표시, 접근성 이름, 표·목록, CDN, skeleton 등을 봅니다. --list-rules, --disable, --min-severity, --fail-on을 지원합니다. 프로젝트에 자체 DESIGN.md가 있으면 그 기준이 우선합니다(DESIGN.md 템플릿).

pipeline_lint.py — 빌드·배포 스크립트 점검​

handstack-cicd-pipeline/scripts/pipeline_lint.py가 CI 정의, 빌드·배포 스크립트(.bat/.cmd/.ps1/.sh), Dockerfile·compose, appsettings*.json을 점검합니다. 다음을 찾습니다.

  • 비밀 리터럴(값은 마스킹해 출력)
  • 공유 contracts 미러링
  • HANDSTACK_HOME 삭제
  • 인자 없는 handstack stop
  • publish의 홈 격리 누락
  • 환경 설정 혼재
  • Docker 기반 이미지 버전·고정 여부
  • 배포 호스트 ManagementKey 공백

--list-rules, --disable, --min-severity, --fail-on, --json을 지원합니다. 파이프라인 단계와 배포 방식 선택은 운영자 가이드를 보세요.