From 152f8de52be637345a9657bcfffa62f3cf1e937c Mon Sep 17 00:00:00 2001 From: toki Date: Sun, 12 Apr 2026 21:19:29 +0900 Subject: [PATCH] Update agent-ops and add .cursorrules, GEMINI.md --- .../rules/common/rules.md => .cursorrules | 0 GEMINI.md | 17 ++++++++ .../skills/common/init-agent-ops/SKILL.md | 39 ++++++++++++------- .../skills/common/sync-agent-ops/SKILL.md | 33 +++++++++------- 4 files changed, 62 insertions(+), 27 deletions(-) rename agent-ops/rules/common/rules.md => .cursorrules (100%) create mode 100644 GEMINI.md diff --git a/agent-ops/rules/common/rules.md b/.cursorrules similarity index 100% rename from agent-ops/rules/common/rules.md rename to .cursorrules diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 0000000..29ccc4b --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,17 @@ +# 공통 규칙 + +- 기존 구조를 우선한다. 새 파일 생성보다 기존 파일 수정을 우선한다. +- 코드 변경 전 관련 domain rule을 먼저 확인한다. +- 요청 범위를 넘는 변경을 하지 않는다. +- 불확실하면 단정하지 말고 후보를 제시한다. + +아래 요청은 `agent-ops/skills/common/router.md`를 읽고 수행한다. +- agent-ops 초기화 +- domain rule 생성 +- skill 생성 +- git commit / git push +- 버전 올려줘 +- agent-ops 업데이트 / 진입 파일 재적용 + +`agent-ops/rules/project/rules.md`와 +`agent-ops/rules/private/rules.md`를 읽고 작업을 시작한다. 파일이 없을경우 무시한다. diff --git a/agent-ops/skills/common/init-agent-ops/SKILL.md b/agent-ops/skills/common/init-agent-ops/SKILL.md index c105459..3654b71 100644 --- a/agent-ops/skills/common/init-agent-ops/SKILL.md +++ b/agent-ops/skills/common/init-agent-ops/SKILL.md @@ -60,9 +60,10 @@ description: 프로젝트 상태를 판별하고 agent-ops 기본 스캐폴드 | 파일 | 방법 | |------|------| -| `CLAUDE.md`,`GEMINI.md`,`AGENTS.md`, `.cursorrules`, `.clinerules` 등 진입 파일 | `rules/common/rules.md`를 에이전트별 파일명으로 프로젝트 루트에 복사 후 `rules/common/rules.md` 삭제 | +| `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, `AGENTS.md` | 공통 관리 레포의 `rules/common/rules.md` 내용을 프로젝트 루트에 기본 진입 파일로 자동 생성 | +| `.clinerules` 등 추가 진입 파일 | 사용자가 요청했거나 기존 파일이 있을 때만 같은 내용으로 생성/갱신 | | `agent-ops/.version` | 공통 관리 레포의 VERSION 파일을 그대로 복사 (프레임워크 버전 추적용) | -| `agent-ops/rules/common/` | 공통 폴더 전체 복사 (수정 금지) | +| `agent-ops/rules/common/` | 공통 폴더를 복사하되, 진입 파일 생성 후 `rules.md`는 삭제하고 `_templates/` 등 보조 파일만 최종 유지 | | `agent-ops/skills/common/` | 공통 폴더 전체 복사 (수정 금지) | | `agent-ops/rules/project/rules.md` | 프로젝트 분석 후 생성 | | `agent-ops/rules/project/domain//rules.md` | 도메인 분석 후 생성 | @@ -75,20 +76,27 @@ description: 프로젝트 상태를 판별하고 agent-ops 기본 스캐폴드 |---------|--------| | Claude | `CLAUDE.md` | | Gemini | `GEMINI.md` | -| Kilo Code / OpenCode | `AGENTS.md` | | Cursor | `.cursorrules` | +| Kilo Code / OpenCode | `AGENTS.md` | | Cline | `.clinerules` | +기본 자동 생성 대상은 `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, `AGENTS.md`다. +`.clinerules` 등 추가 진입 파일은 사용자가 요청했거나 기존 파일이 있을 때만 생성/갱신한다. + ## 에이전트 진입 파일 원칙 -진입 파일은 `rules/common/rules.md` 내용 그대로를 에이전트별 파일명으로 복사한다. +기본 진입 파일인 `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, `AGENTS.md`는 프로젝트 루트에 항상 자동 생성한다. +진입 파일은 공통 관리 레포의 `rules/common/rules.md` 원본 내용 그대로를 에이전트별 파일명으로 복사한다. 별도 내용을 추가하거나 수정하지 않는다. +진입 파일 생성 후 프로젝트 안의 `agent-ops/rules/common/rules.md`는 삭제한다. ## Rule 구조 원칙 ### rules/common/rules.md -- 공통 관리 레포에서 제공. 프로젝트에서 직접 수정하지 않는다. -- 실제 사용은 진입점 파일들에서 사용된다. +- 공통 관리 레포에서 제공하는 진입 파일 생성용 원본이다. +- 프로젝트에서는 직접 수정하지 않는다. +- 실제 사용은 진입점 파일들에서 이루어진다. +- 진입 파일 생성 후 프로젝트 최종 산출물에는 남기지 않는다. 포함 항목: - 기본 원칙 @@ -154,14 +162,16 @@ common/rules.md와 내용이 중복되지 않도록 한다. 1. **상태 판별** - 프로젝트 구조, 모듈 경계, agent-ops 파일 유무를 분석하여 신규/운영중을 판별한다 -2. **에이전트 진입 파일 생성** - - `rules/common/rules.md`를 에이전트별 파일명으로 프로젝트 루트에 복사한다 - - 복사 후 `rules/common/rules.md`를 삭제한다 - -3. **agent-ops 폴더 구조 복사** +2. **agent-ops 폴더 구조 복사** - 공통 관리 레포의 `agent-ops/` 공통 폴더(rules/common, skills/common)를 복사한다 - `agent-ops/.version` 파일을 복사한다 +3. **에이전트 진입 파일 생성** + - 공통 관리 레포의 `rules/common/rules.md` 원본을 `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, `AGENTS.md`로 프로젝트 루트에 자동 생성한다 + - `.clinerules` 등 추가 진입 파일은 사용자가 요청했거나 기존 파일이 있을 때만 같은 내용으로 생성/갱신한다 + - 복사 후 프로젝트 안의 `agent-ops/rules/common/rules.md`를 삭제한다 + - 삭제 후 `agent-ops/rules/common/`에는 `_templates/` 등 보조 파일만 남긴다 + 4. **rules/project/rules.md 생성** - 프로젝트를 분석하여 응답 언어, 프로젝트 개요, 기술 스택 등을 채운다 - common/rules.md와 내용이 중복되지 않도록 한다 @@ -204,7 +214,8 @@ common/rules.md와 내용이 중복되지 않도록 한다. ## 실행 결과 검증 -- [ ] 진입 파일이 프로젝트 루트에 존재하고, 내용이 `rules/common/rules.md`와 일치하는가 +- [ ] `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, `AGENTS.md`가 프로젝트 루트에 존재하고, 내용이 공통 관리 레포의 `rules/common/rules.md` 원본과 일치하는가 +- [ ] 프로젝트 안에 `agent-ops/rules/common/rules.md`가 남아 있지 않은가 - [ ] `agent-ops/rules/project/rules.md`가 생성되었고, 필수 항목(응답 언어, 프로젝트 개요, 기술 스택)이 포함되어 있는가 - [ ] 생성된 domain rules.md가 `domain-rule-template.md` 형식을 따르는가 - [ ] `rules/project/rules.md`의 도메인 매핑 테이블에 생성된 도메인이 모두 등록되어 있는가 @@ -213,8 +224,8 @@ common/rules.md와 내용이 중복되지 않도록 한다. ## 금지 사항 -- 진입 파일에 rules/common/rules.md 외 내용을 추가하지 않는다. +- 진입 파일에 공통 관리 레포의 rules/common/rules.md 원본 외 내용을 추가하지 않는다. - 실제 구조보다 앞선 추상 구조를 강요하지 않는다. - 처음부터 많은 domain / skill을 만들지 않는다. -- rules/common/rules.md를 프로젝트에서 직접 수정하지 않는다. +- 공통 관리 레포의 rules/common/rules.md 원본을 프로젝트에서 직접 수정하지 않는다. - rules/project/rules.md에 rules/common/rules.md와 중복되는 내용을 넣지 않는다. diff --git a/agent-ops/skills/common/sync-agent-ops/SKILL.md b/agent-ops/skills/common/sync-agent-ops/SKILL.md index ed60346..909afb2 100644 --- a/agent-ops/skills/common/sync-agent-ops/SKILL.md +++ b/agent-ops/skills/common/sync-agent-ops/SKILL.md @@ -1,7 +1,7 @@ --- name: sync-agent-ops version: 1.0.0 -description: 공통 관리 레포의 rules/common/rules.md 변경 내용을 진입 파일에 재적용한다. "agent-ops 업데이트해줘", "진입 파일 재적용해줘" 요청 시 사용한다. +description: 공통 관리 레포의 rules/common/rules.md 변경 내용을 기본 진입 파일에 재적용한다. "agent-ops 업데이트해줘", "진입 파일 재적용해줘" 요청 시 사용한다. --- # sync-agent-ops @@ -9,13 +9,13 @@ description: 공통 관리 레포의 rules/common/rules.md 변경 내용을 진 ## 목적 공통 관리 레포에서 `rules/common/rules.md`가 변경됐을 때, -프로젝트 루트의 에이전트 진입 파일들에 변경 내용을 반영한다. +프로젝트 루트의 기본 에이전트 진입 파일들에 변경 내용을 반영한다. ## 언제 호출할지 - 공통 관리 레포에서 `rules/common/`이 업데이트된 후 - "agent-ops 업데이트해줘", "진입 파일 재적용해줘" 요청 시 -- 진입 파일이 `rules/common/rules.md`와 동기화되지 않은 것이 확인됐을 때 +- 진입 파일이 공통 관리 레포의 `rules/common/rules.md` 원본과 동기화되지 않은 것이 확인됐을 때 ## 입력 @@ -23,16 +23,17 @@ description: 공통 관리 레포의 rules/common/rules.md 변경 내용을 진 ## 먼저 확인할 것 -- [ ] `agent-ops/rules/common/rules.md` 파일이 존재하는가 -- [ ] 프로젝트 루트에 진입 파일이 하나 이상 존재하는가 +- [ ] 공통 관리 레포의 `rules/common/rules.md` 원본을 읽을 수 있는가 +- [ ] 프로젝트 루트의 기존 진입 파일 상태를 확인했는가 ## 실행 절차 1. `agent-ops/.version` 파일이 있으면 현재 프레임워크 버전을 읽고 출력한다 -2. `agent-ops/rules/common/rules.md`를 읽는다 -3. 프로젝트 루트에 존재하는 진입 파일을 확인한다 -4. 존재하는 진입 파일을 `rules/common/rules.md` 내용으로 덮어쓴다 -5. 결과를 출력한다 +2. 공통 관리 레포의 `rules/common/rules.md` 원본을 읽는다 +3. 프로젝트 루트의 `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, `AGENTS.md`를 원본 내용으로 생성/덮어쓴다 +4. `.clinerules` 등 추가 진입 파일은 사용자가 요청했거나 기존 파일이 있을 때만 같은 내용으로 생성/덮어쓴다 +5. 업데이트 과정에서 프로젝트 안에 `agent-ops/rules/common/rules.md`가 생겼다면 삭제한다 +6. 결과를 출력한다 ## 에이전트별 진입 파일 @@ -44,10 +45,14 @@ description: 공통 관리 레포의 rules/common/rules.md 변경 내용을 진 | Cursor | `.cursorrules` | | Cline | `.clinerules` | +기본 자동 생성/갱신 대상은 `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, `AGENTS.md`다. +`.clinerules` 등 추가 진입 파일은 사용자가 요청했거나 기존 파일이 있을 때만 생성/갱신한다. + ## 실행 결과 검증 -- [ ] 덮어쓴 진입 파일의 내용이 `rules/common/rules.md`와 정확히 일치하는가 -- [ ] 기존에 존재하던 진입 파일이 누락 없이 모두 업데이트되었는가 +- [ ] `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, `AGENTS.md`가 프로젝트 루트에 존재하고, 내용이 공통 관리 레포의 `rules/common/rules.md` 원본과 정확히 일치하는가 +- [ ] 요청되었거나 기존에 존재하던 추가 진입 파일이 누락 없이 업데이트되었는가 +- [ ] 프로젝트 안에 `agent-ops/rules/common/rules.md`가 남아 있지 않은가 - 검증 실패 시: 불일치하는 파일명과 차이점을 사용자에게 알린다 ## 출력 형식 @@ -58,11 +63,13 @@ description: 공통 관리 레포의 rules/common/rules.md 변경 내용을 진 - 프레임워크 버전: {버전} (해당 시) - 업데이트된 진입 파일: - {파일명}: 업데이트 완료 +- 생성된 진입 파일: + - {파일명}: 생성 완료 - 변경 없는 파일: {파일명} (해당 시) ``` ## 금지 사항 -- `rules/common/rules.md`를 수정하지 않는다. +- 공통 관리 레포의 `rules/common/rules.md` 원본을 수정하지 않는다. - `rules/project/rules.md` 등 다른 파일을 건드리지 않는다. -- 존재하지 않는 진입 파일을 새로 생성하지 않는다. +- 프로젝트 안의 `agent-ops/rules/common/rules.md`를 최종 산출물로 남기지 않는다.