dart-app-core/agent-ops/skills/common/sync-push/SKILL.md
2026-05-19 10:27:12 +09:00

2.7 KiB

name description
sync-push 현재 프로젝트의 agent-ops를 agentic-framework로 올리거나, agentic-framework의 공통 agent-ops를 대상 프로젝트로 push한다. "agent-ops 싱크해", "agent-ops 동기화해", "agentic-framework에 올려줘" 요청 시 사용한다.

sync-push

목적

agent-ops/bin/sync.sh를 호출해 agent-ops 공통 파일을 push 방향으로 동기화한다.

  • 일반 프로젝트에서는 현재 프로젝트 → agentic-framework 방향으로 올린다.
  • agentic-framework 원본 프로젝트에서는 agentic-framework → 대상 프로젝트 방향으로 보낸다.

언제 호출할지

  • "agent-ops 싱크해", "agent-ops 동기화해" 요청 시
  • "agentic-framework에 올려줘" 요청 시
  • "agent-ops를 [프로젝트]로 싱크해" 요청 시

실행 절차

현 프로젝트가 일반 프로젝트인 경우 (.agent-ops-source 없음)

  1. 현재 프로젝트의 상위 폴더(../)agentic-framework 폴더가 있는지 확인한다 (현재 폴더 내부가 아님)
  2. 있으면: agent-ops/bin/sync.sh agentic-framework 실행
  3. 없으면: 사용자에게 agentic-framework 경로 입력을 안내하고, 입력받은 경로로 실행

현 프로젝트가 agentic-framework인 경우 (.agent-ops-source 있음)

  1. 사용자 요청에서 target 프로젝트명 또는 경로를 추출한다
  2. 명시된 경우: agent-ops/bin/sync.sh <target> 실행
  3. 명시되지 않은 경우: 사용자에게 대상 프로젝트 입력을 요청한다
  4. sync.sh는 현재 agentic-framework의 agent-ops/rules/common/rules.md 내용을 대상 프로젝트 루트의 진입 파일에 덮어쓴다

덮어쓰기 대상은 init-agent-ops 초기 세팅과 동일하며, 실제 목록은 agent-ops/bin/entry-files.shAGENT_OPS_ENTRY_FILES를 단일 기준으로 사용한다.

에이전트 파일명
Gemini GEMINI.md
Claude CLAUDE.md
Kilo Code / OpenCode AGENTS.md
Cursor .cursorrules
Cline .clinerules

대상 프로젝트에 기존 진입 파일이 있어도 보존하거나 병합하지 않고 agent-ops/rules/common/rules.md 내용으로 교체한다.

agent-ops/bin/sync.sh <target>

실행 결과 검증

  • sync.sh 가 오류 없이 완료됐는가
  • 버전 충돌 경고가 없었는가 — 있었다면 사용자에게 수동 머지 필요함을 알린다
  • agentic-framework에서 대상 프로젝트로 push한 경우, agent-ops/bin/entry-files.sh의 모든 진입 파일 내용이 현재 agentic-framework의 agent-ops/rules/common/rules.md와 일치하는가

금지 사항

  • sync.sh 를 거치지 않고 직접 파일을 복사하지 않는다