{"id":49889179,"url":"https://github.com/ez2sarang/collar","last_synced_at":"2026-05-15T20:09:01.539Z","repository":{"id":357864645,"uuid":"1238768924","full_name":"ez2sarang/collar","owner":"ez2sarang","description":"AI 자율 운전 인프라. 세션 관리·학습·GitHub 자동화를 사용자 개입 없이 처리한다.","archived":false,"fork":false,"pushed_at":"2026-05-14T16:37:10.000Z","size":113,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-14T16:49:25.820Z","etag":null,"topics":["ai-automation","bash","claude-code","github-automation","harness"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ez2sarang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-14T12:41:33.000Z","updated_at":"2026-05-14T16:37:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ez2sarang/collar","commit_stats":null,"previous_names":["ez2sarang/collar"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ez2sarang/collar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ez2sarang%2Fcollar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ez2sarang%2Fcollar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ez2sarang%2Fcollar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ez2sarang%2Fcollar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ez2sarang","download_url":"https://codeload.github.com/ez2sarang/collar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ez2sarang%2Fcollar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33078179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T20:05:40.333Z","status":"ssl_error","status_checked_at":"2026-05-15T20:05:38.672Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-automation","bash","claude-code","github-automation","harness"],"created_at":"2026-05-15T20:09:01.038Z","updated_at":"2026-05-15T20:09:01.532Z","avatar_url":"https://github.com/ez2sarang.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# collar\n\n\u003e **AI 자율 운전 인프라.** 세션 관리·학습·GitHub 자동화를 사용자 개입 없이 처리한다.\n\n---\n\n## 핵심 철학\n\n사용자가 할 일: **방향 설정 + 결과 리뷰**. 나머지는 collar가 알아서.\n\n- 컨텍스트 창이 60%를 넘으면 → 자동 압축, 다음 세션 준비\n- 세션 중 발견한 패턴 → 자동으로 전역 규칙으로 승격 판단\n- GitHub 이슈가 열리면 → 자동 분류, 버그는 PR까지 자동 생성\n- 새 프로젝트 → `collar-init` 하나로 AI 하네스 10초 설치\n\n---\n\n## 구조\n\n```\ncollar = Claude Code 위의 하네스 레이어\n         (Claude Code를 대체하지 않는다. 더 나은 컨텍스트를 추가한다)\n\n┌─────────────────────────────────────────────────────────┐\n│                       사용자                             │\n│           방향 설정 + 결과 리뷰만                          │\n├─────────────────────────────────────────────────────────┤\n│                      collar                              │\n│  ┌─────────────┐  ┌──────────────┐  ┌────────────────┐ │\n│  │ 세션 관리   │  │ 학습 기록    │  │ GitHub 자동화  │ │\n│  │ watchdog    │  │ remember     │  │ collar-github  │ │\n│  └─────────────┘  └──────────────┘  └────────────────┘ │\n├─────────────────────────────────────────────────────────┤\n│                   Claude Code (CLI)                      │\n└─────────────────────────────────────────────────────────┘\n```\n\n---\n\n## 핵심 사용자 경험 흐름\n\ncollar를 처음 도입하면 3단계를 거친다.\n\n```\n1단계: 초기화 (~10초)\n────────────────────────────────────────────\n$ collar-init                  # 하네스 설치\n$ collar-watchdog              # 세션 자동 관리 등록\n$ collar-github setup          # GitHub 연동 (선택)\n\n2단계: 인터뷰 (~5~10분, 최초 1회)\n────────────────────────────────────────────\n$ collar-interview             # standard 모드 (기본값)\n$ collar-interview --deep      # 고강도: 82% 명확성 + pressure pass 필수\n$ collar-interview --quick     # scoring 없이 7문만\n$ collar-interview --dry-run   # 구조 검증용 미리보기\n\n  7개 질문 + Ouroboros 명확성 점수 기반 자동 follow-up:\n  - 이 프로젝트가 무엇인가? (목적, 사용자)\n  - 배포 환경은? (Vercel / AWS / 앱스토어 등)\n  - 우선순위는? (기능구현 / 안정성 / 코드품질)\n  - AI가 절대 하면 안 되는 것은?\n  - 성공 기준과 테스트 명령어는?\n\n  → LLM이 7개 차원을 점수화, 약한 차원에 자동 follow-up 질문\n  → --deep: 가장 취약한 가정에 pressure pass (압박 재질문) 1회 추가\n  → 답변 기반 CLAUDE.md 생성 + 인터뷰 기록 doc/ 저장\n  → 이후 모든 세션에서 AI가 이 맥락으로 시작한다.\n\n$ collar-update                # AI가 CLAUDE.md TODO 항목만 자동 채우기\n                               # (인터뷰 없이 빠르게 TODO만 처리할 때)\n\n3단계: 자동화 (이후 사용자 개입 없음)\n────────────────────────────────────────────\n  컨텍스트 창 60% 초과 → 자동 압축 + 다음 세션 준비\n  세션 중 발견한 패턴 → LLM이 자동으로 전역 규칙으로 승격\n  GitHub 이슈 등록 → 분류 + 버그 PR 자동 생성\n  새 세션 시작 → session-compact.md 로드 → 즉시 맥락 복원\n```\n\n---\n\n## 글로벌 vs 프로젝트별 작동\n\ncollar는 두 레벨에서 독립적으로 동작한다.\n\n```\n글로벌 레벨 (~/.claude/)\n  적용 범위: 모든 프로젝트\n  ├── CLAUDE.md          공통 규칙 (완료 3단계, 모호한 표현 차단 등)\n  ├── settings.json      collar-dispatcher 전역 등록\n  └── hooks/             공급망 보안, 메모리 쓰기 가드 등 공통 훅\n\n프로젝트 레벨 (.collar/)\n  적용 범위: 해당 프로젝트만\n  ├── memory.md          이 프로젝트에서 발견된 패턴\n  ├── session-compact.md 세션 간 컨텍스트 전달 (압축본)\n  ├── config.json        watchdog/github 설정\n  ├── github.json        GitHub 레포 연결 정보\n  └── hooks/             프로젝트 전용 훅\n```\n\n글로벌 규칙은 한 번 설정하면 모든 프로젝트에 자동 적용된다.  \n프로젝트 메모리는 해당 레포에만 격리되어 다른 프로젝트와 간섭하지 않는다.\n\n---\n\n## 메모리 관리 — 반복적인 LLM 실수 방지\n\nAI가 같은 실수를 반복하는 가장 큰 원인은 **세션 간 컨텍스트 단절**이다.  \ncollar는 두 가지 메커니즘으로 이를 해결한다.\n\n```\n패턴 기록 (collar-remember)\n  세션 중 AI가 실수 또는 발견을 감지하면:\n  $ collar-remember \"xargs -I{}는 macOS에서 파이프라인 안에서 불안정\"\n  \n  → LLM이 자동 판단:\n    confidence ≥ 8점  →  글로벌 CLAUDE.md에 자동 추가 (모든 프로젝트 방지)\n    confidence 5~7점  →  사용자 확인 후 추가 [y/e/v/N]\n    confidence \u003c 5점  →  프로젝트 memory.md에만 기록\n\n세션 컨텍스트 압축 (collar-compact / collar-watchdog)\n  세션이 길어지면 (ctx 60%+):\n  → memory.md + CLAUDE.md 핵심만 추출 → session-compact.md 저장\n  → 다음 세션 시작 시 이것만 로드 → 토큰 절약 + 맥락 유지\n\n결과:\n  - 같은 실수 → 두 번 다시 발생하지 않는다\n  - 각 프로젝트의 특수 규칙이 세션마다 자동 로드된다\n  - 글로벌 패턴은 모든 프로젝트에서 자동 적용된다\n```\n\n---\n\n## 현재 기술 의존성 및 로드맵\n\n**현재 (v1~v2):** collar는 일부 기능에서 외부 도구 위에서 동작한다.\n\n| 기능 | 현재 의존 | 이유 |\n|------|---------|------|\n| 세션 모니터링 | gstack, OMC | 훅 오케스트레이션, 스킬 시스템 |\n| 모델 라우팅 | OMC (oh-my-claudecode) | opus/sonnet/haiku 자동 선택 |\n| 에이전트 팀 | OMC `Team` | 병렬 에이전트 실행 |\n\n**향후 비전 (v3+):** 외부 도구 의존 없이 Claude Code 기본 기능만으로 독립 동작.\n\n```\n현재:  collar → gstack/OMC → Claude Code\n목표:  collar → Claude Code (직접)\n\n로드맵:\n  - collar-watchdog: Claude Code 기본 훅만으로 완전 자율화 ← 진행 중\n  - collar-github:   Claude API 직접 호출 + gh CLI           ← 진행 중\n  - collar-team:     Claude Code Agent Teams API 직접 활용  ← 계획\n  - 글로벌 설치:     npm/brew 패키지로 배포                  ← 계획\n```\n\ngstack/OMC가 없는 환경에서도 core 기능(collar-init, collar-watchdog, collar-github)은 이미 독립적으로 동작한다.\n\n---\n\n## 빠른 시작\n\n```bash\n# 1. 설치 (~/.collar/bin 에 배포)\ngit clone https://github.com/ez2sarang/collar.git\ncd collar \u0026\u0026 bash setup.sh\n# → PATH 자동 등록 안내 (zsh/bash rc 파일에 한 줄 추가)\n\n# 2. 프로젝트 하네스 설치\ncd my-project\ncollar-init\n\n# 3. 세션 자동 관리 활성화\ncollar-watchdog\n\n# 4. GitHub 자동화 연결 (선택)\ncollar-github setup\ncollar-github watch   # 세션 시작마다 이슈 자동 체크\n```\n\n---\n\n## 도구 목록\n\n| 도구 | 역할 |\n|------|------|\n| `collar-init` | 프로젝트 하네스 설치 (CLAUDE.md + AGENTS.md + .claude/settings.json) |\n| `collar-interview` | 대화형 인터뷰 (7문 + Ouroboros 명확성 점수 + follow-up) → 프로젝트 맞춤 CLAUDE.md 생성 (`--quick/--standard/--deep`) |\n| `collar-watchdog` | ctx% 모니터링 훅 설치 → 60% 초과 시 자동 compact |\n| `collar-compact` | 세션 컨텍스트 압축 → `.collar/session-compact.md` |\n| `collar-remember` | 발견한 패턴 기록 → LLM이 전역 승격 여부 자동 판단 |\n| `collar-update` | CLAUDE.md TODO 항목 AI 자동 채우기 |\n| `collar-github` | GitHub 이슈 자동 분류·처리·PR 생성 |\n\n---\n\n## 이중 훅 구조 (OMX 패턴)\n\ncollar는 Claude Code 훅을 두 레이어로 분리한다.\n\n```\nLayer 1 (Native)    .claude/settings.json\n                    └─ UserPromptSubmit / SessionStart\n                           └─ collar-dispatcher.sh  ← thin router\n\nLayer 2 (Collar)    .collar/hooks/\n                    ├─ session-monitor.sh   ctx% 감시 + 자동 compact\n                    └─ github-check.sh      세션 시작 시 GitHub 이슈 체크\n```\n\n새 기능 훅은 `.collar/hooks/`에 파일 하나만 추가하면 자동 등록.\n\n---\n\n## 지원 프로젝트 타입\n\n`collar-init`이 자동 감지:\n\n| 타입 | 감지 조건 | 검증 명령 |\n|------|----------|----------|\n| Next.js | `package.json`에 `\"next\"` | `pnpm typecheck \u0026\u0026 pnpm build` |\n| React | `package.json`에 `\"react\"` | `pnpm typecheck \u0026\u0026 pnpm build` |\n| Node.js API | express / fastify / hono | `pnpm typecheck \u0026\u0026 pnpm build` |\n| Python | `pyproject.toml` / `requirements.txt` | `uv run pytest` |\n| Rust | `Cargo.toml` | `cargo test \u0026\u0026 cargo clippy` |\n| Go | `go.mod` | `go test ./... \u0026\u0026 go vet` |\n| **Bash/Shell** | `*.sh` 파일 / `bin/` shebang | `shellcheck bin/*` |\n| Java | `pom.xml` / `build.gradle` | — |\n| 기타 | — | TODO 직접 입력 |\n\n---\n\n## GitHub 자동화 파이프라인\n\n```bash\n# 1. 설정\ncollar-github setup\n# → 레포 URL 입력, 자동처리 레벨 선택\n#   레벨 1: 분류 + 라벨 + 댓글 (안전)\n#   레벨 2: + 버그 자동 수정 PR (권장)\n#   레벨 3: + 기능 PR 자동 생성 (공격적)\n\n# 2. 수동 실행\ncollar-github run\n\n# 3. 세션 자동 실행 등록\ncollar-github watch\n# → 이후 Claude Code 세션 시작마다 미처리 이슈 자동 확인\n```\n\n처리 흐름:\n```\n이슈 수집 → LLM 분류 (bug/feature/question)\n  bug      → 코드 분석 → 수정 → PR 자동 생성\n  feature  → 로드맵 기록 (레벨3: PR까지)\n  question → 자동 답변 댓글\n→ .collar/github-processed.log 기록\n```\n\n---\n\n## 레포 구조\n\n```\ncollar/\n├── bin/\n│   ├── collar-init        프로젝트 하네스 설치\n│   ├── collar-interview   대화형 인터뷰 → 맞춤 CLAUDE.md 생성\n│   ├── collar-watchdog    세션 모니터링 훅 설치\n│   ├── collar-compact     컨텍스트 압축\n│   ├── collar-remember    패턴 기록 + 전역 승격\n│   ├── collar-update      CLAUDE.md 자동 업데이트\n│   └── collar-github      GitHub 자동화 파이프라인\n├── templates/\n│   ├── CLAUDE.md.base         공통 헌법 템플릿\n│   ├── AGENTS.md.base         에이전트 가이드 템플릿\n│   ├── collar-dispatcher.sh   이중 훅 Layer 1 라우터\n│   ├── session-monitor.sh     ctx% 감시 훅\n│   ├── github-check.sh        GitHub 체크 훅\n│   └── config.json            기본 설정 템플릿\n├── doc/                   설계 문서\n├── CLAUDE.md              collar 자체 헌법\n└── AGENTS.md              에이전트 가이드\n```\n\n---\n\n## 경쟁 도구 비교\n\n| | Hermes Agent | OMX | **collar** |\n|--|-------------|-----|-----------|\n| 포지션 | 개인 AI 비서 (클라우드) | Codex 오케스트레이션 | Claude Code 프로젝트 하네스 |\n| 메모리 | SQLite + FTS5 (복잡) | 파일 기반 | 파일 기반 (단순) |\n| 프로젝트 셋업 | ❌ | ❌ | ✅ collar-init |\n| GitHub 자동화 | ❌ | ❌ | ✅ collar-github |\n| Claude Code 전용 | ❌ | ❌ (Codex 전용) | ✅ |\n\n---\n\n## 요구 사항\n\n- macOS / Linux\n- [Claude Code CLI](https://claude.ai/code)\n- Python 3 (훅 스크립트)\n- `gh` CLI (GitHub 자동화 사용 시): `brew install gh`\n\n---\n\n## 문의\n\n도입 상담, 커스터마이징, 엔터프라이즈 연동 문의:\n\n**sales@com.dooray.com**\n\n---\n\n*collar는 Claude Code를 대체하지 않는다. 더 나은 하네스 레이어를 추가한다.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fez2sarang%2Fcollar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fez2sarang%2Fcollar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fez2sarang%2Fcollar/lists"}