Skip to content

설정

프로젝트 루트에 .gaji.toml 파일을 사용하여 gaji를 설정할 수 있습니다.

설정 파일

프로젝트 루트에 .gaji.toml 생성:

toml
[project]
workflows_dir = "workflows"
output_dir = ".github"
generated_dir = "generated"

[github]
# 선택사항: GitHub 토큰 (GITHUB_TOKEN 환경 변수로도 설정 가능)
token = "ghp_your_token_here"
# GitHub Enterprise 사용자용
api_url = "https://github.example.com"

[watch]
debounce_ms = 300
ignored_patterns = ["node_modules", ".git", "generated"]

[build]
validate = true
format = true

설정 옵션

[project]

프로젝트 수준 설정:

옵션타입기본값설명
workflows_dirstring"workflows"TypeScript 워크플로우가 있는 디렉토리
output_dirstring".github"기본 출력 디렉토리 (워크플로우는 workflows/, 액션은 actions/에 저장)
generated_dirstring"generated"생성된 액션 타입용 디렉토리

예제:

toml
[project]
workflows_dir = "gha"
output_dir = ".github"
generated_dir = "gha-types"

[github]

GitHub API 설정:

옵션타입기본값설명
tokenstring (선택)NoneGitHub 개인 액세스 토큰
api_urlstring (선택)"https://github.com"GitHub 기본 URL (Enterprise용)

토큰 우선순위:

  1. GITHUB_TOKEN 환경 변수 (최우선)
  2. .gaji.local.tomltoken
  3. .gaji.tomltoken

GitHub Enterprise 예제:

toml
[github]
token = "ghp_your_token_here"
api_url = "https://github.example.com"

설정 가능한 항목:

  • GitHub 토큰: API 요청 인증 (rate limit 증가, 프라이빗 저장소 접근)
  • GitHub Enterprise: 자체 호스팅 GitHub 인스턴스 지정
  • 액션 가져오기: 프라이빗 또는 엔터프라이즈 GitHub에서 action.yml 가져오기

참고: 보안을 위해 토큰은 .gaji.toml 대신 .gaji.local.toml(gitignored)에 저장하세요

[watch]

파일 감시 설정:

옵션타입기본값설명
debounce_msinteger300밀리초 단위 디바운스 지연
ignored_patternsarray["node_modules", ".git", "generated"]감시 중 무시할 패턴

예제:

toml
[watch]
debounce_ms = 500
ignored_patterns = ["node_modules", ".git", "generated", "dist", "coverage"]

[build]

빌드 설정:

옵션타입기본값설명
validatebooleantrue생성된 YAML 검증
formatbooleantrue생성된 YAML 포맷

예제:

toml
[build]
validate = true
format = true

TypeScript 설정

gaji는 표준 TypeScript 설정과 호환됩니다. tsconfig.json에 생성된 타입이 포함되도록 설정하세요:

json
{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "typeRoots": [
      "./node_modules/@types",
      "./generated"
    ]
  },
  "include": ["workflows/**/*"],
  "exclude": ["node_modules", "dist", "generated"]
}

.gitignore

gaji가 생성한 파일을 .gitignore에 추가:

gitignore
# gaji
generated/
.gaji-cache.json

참고: .github/workflows/는 무시하지 마세요. 이것은 GitHub Actions가 실제로 사용하는 워크플로우 파일입니다.

캐시

gaji는 액션 정의를 다시 가져오지 않도록 캐시 파일(.gaji-cache.json)을 사용합니다. 이 파일은 자동으로 관리되며 gitignore에 추가해야 합니다.

캐시를 지우려면:

bash
gaji clean --cache

환경 변수

GITHUB_TOKEN

인증된 요청을 위한 GitHub 토큰 설정 (rate limit 증가):

bash
export GITHUB_TOKEN=ghp_your_token_here
gaji dev

다음 단계

Released under the MIT License.