설정
taco 설정은 ~/.config/taco/config.json에 저장됩니다. taco init이 대화형으로 만들어 주며, 직접 편집해도 됩니다.
설정 파일 예시
{
"server": "https://taco-api.inflab.com",
"oauth_server": "https://...",
"allowed_orgs": ["inflearn"],
"allowed_dirs": ["/Users/me/workspace"],
"auto_sync": true
}
항목
| 키 | 기본값 | 설명 |
|---|---|---|
server | https://taco-api.inflab.com | 이벤트를 보낼 taco 서버 |
oauth_server | (내장) | 로그인용 OAuth 서버 |
allowed_orgs | ["inflearn"] | git remote가 이 GitHub org인 repo만 수집. 비우면 org 제한 없음 |
allowed_dirs | [] | cwd가 이 디렉터리 하위일 때만 수집. 비면 제한 없음 |
auto_sync | false | hook 실행마다 서버로 전송. 켜두는 걸 권장 |
수집 필터 동작
수집 대상 여부는 org 필터 AND dir 필터로 결정됩니다.
- org 필터는 이벤트에 git remote가 있을 때만 적용됩니다. remote가 없으면(로컬 전용 폴더 등) org 검사를 건너뛰고 무조건 수집합니다.
- dir 필터는 이벤트의 작업 경로(cwd)가
allowed_dirs중 하나의 하위인지로 판단합니다.
즉 다음이면 제외됩니다.
allowed_dirs가 설정됐는데 cwd가 그 하위가 아님, 또는- git remote가 있는데 그 org가
allowed_orgs에 없음.
주의:
allowed_orgs기본값이["inflearn"]이라, 다른 org(예: 다른 GitHub 조직) 소속 repo는 기본적으로 제외됩니다. 여러 org를 쓰면allowed_orgs를 비우거나 org를 추가하세요. 자세한 사례는 문제 해결을 보세요.
변경 후 소급 수집
필터를 바꾼 뒤 이미 지나간 세션까지 다시 모으려면 watermark를 리셋하고 전체 재수집합니다.
taco collect --full --sync
서버 override (env / 플래그)
일시적으로 다른 서버를 쓰려면 config를 건드리지 않고 override할 수 있습니다.
TACO_SERVER=https://taco-api.devinflab.com taco stats --remote
taco collect --server https://taco-api.devinflab.com --sync
| override | env | 플래그 |
|---|---|---|
| 서버 | TACO_SERVER | --server |
| 로컬 DB | TACO_LOCAL_DB | --local-db |
| OAuth 서버 | TACO_OAUTH_SERVER | --oauth-server |
우선순위는 플래그 > env > config > 기본값입니다.