sync: to agentic-framework v1.1.12

This commit is contained in:
toki 2026-05-17 18:06:47 +09:00
parent e26ec5c2ac
commit 313a023b69
6 changed files with 88 additions and 18 deletions

View file

@ -1 +1 @@
1.1.11
1.1.12

View file

@ -12,6 +12,17 @@ fi
TARGET_DIR=$(realpath "$1")
SOURCE_DIR=$(realpath "$(dirname "$0")/..")
ARCHIVE_IGNORE_PATTERN="agent-task/archive/**"
append_unique_line() {
local file="$1"
local line="$2"
touch "$file"
if ! grep -qxF "$line" "$file"; then
printf "%s\n" "$line" >> "$file"
fi
}
echo "Initializing agent-ops in: $TARGET_DIR"
echo "Source agent-ops: $SOURCE_DIR"
@ -34,7 +45,52 @@ cp "$COMMON_RULES" "$TARGET_DIR/AGENTS.md"
cp "$COMMON_RULES" "$TARGET_DIR/.cursorrules"
cp "$COMMON_RULES" "$TARGET_DIR/.clinerules"
# 4. .gitignore 설정
# 4. AI ignore / permission 설정
append_unique_line "$TARGET_DIR/.geminiignore" "$ARCHIVE_IGNORE_PATTERN"
append_unique_line "$TARGET_DIR/.aiexclude" "$ARCHIVE_IGNORE_PATTERN"
append_unique_line "$TARGET_DIR/.cursorignore" "$ARCHIVE_IGNORE_PATTERN"
append_unique_line "$TARGET_DIR/.clineignore" "$ARCHIVE_IGNORE_PATTERN"
mkdir -p "$TARGET_DIR/.claude"
if [ ! -f "$TARGET_DIR/.claude/settings.json" ]; then
cat > "$TARGET_DIR/.claude/settings.json" <<'EOF'
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"deny": [
"Read(./agent-task/archive/**)"
]
}
}
EOF
elif ! grep -q "agent-task/archive" "$TARGET_DIR/.claude/settings.json"; then
echo "Note: .claude/settings.json exists; add Read(./agent-task/archive/**) manually."
fi
if [ ! -f "$TARGET_DIR/opencode.json" ]; then
cat > "$TARGET_DIR/opencode.json" <<'EOF'
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"read": {
"agent-task/archive/**": "deny"
},
"glob": {
"agent-task/archive/**": "deny"
}
},
"watcher": {
"ignore": [
"agent-task/archive/**"
]
}
}
EOF
elif ! grep -q "agent-task/archive" "$TARGET_DIR/opencode.json"; then
echo "Note: opencode.json exists; add agent-task/archive/** read/glob deny and watcher ignore manually."
fi
# 5. .gitignore 설정
TOUCH_GITIGNORE="$TARGET_DIR/.gitignore"
touch "$TOUCH_GITIGNORE"
if ! grep -q "agent-ops/rules/private/" "$TOUCH_GITIGNORE"; then

View file

@ -4,6 +4,7 @@
- 코드 변경 전 관련 domain rule을 먼저 확인한다.
- 요청 범위를 넘는 변경을 하지 않는다.
- 불확실하면 단정하지 말고 후보를 제시한다.
- `agent-task/archive/**`는 사용자가 명시적으로 요청한 경우에만 읽는다.
`agent-ops/rules/project/rules.md``agent-ops/rules/private/rules.md`는 세션 최초 1회 읽는다. 파일이 없으면 무시한다.
domain rule은 해당 domain 최초 진입 시 1회 읽고, 이미 읽은 rule은 반복하지 않는다.

View file

@ -181,20 +181,20 @@ Routed review stub template (fill `{…}` placeholders; everything else is fixed
## 개요
date=2026-05-17
date={YYYY-MM-DD}
task={task_name}, plan={N}, tag={TAG}
## 이 파일을 읽는 리뷰 에이전트에게
각 항목의 구현을 실제 소스 파일과 대조하고, `검증 결과` 섹션의 출력이 코드와 일치하는지 확인하세요.
리뷰 완료 후 반드시 아래 순서로 아카이브하세요.
Review 완료 후 반드시 아래 순서로 아카이브하세요.
1. `CODE_REVIEW-{review_lane}-GNN.md``code_review_{review_lane}_GNN_N.log` (N = 기존 code_review_*.log 수)
2. `PLAN-{build_lane}-GNN.md``plan_{build_lane}_GNN_M.log` (M = 기존 plan_*.log 수)
3. PASS인 경우 `complete.log` 작성 후 종료. WARN/FAIL인 경우 새 routed plan + review 스텁 작성.
어떤 판정에서도 아카이브를 건너뛰지 마세요. PASS/WARN/FAIL 모두 `코드리뷰 결과` append 후 active plan/review 파일을 먼저 아카이브하고, 그 다음 `complete.log` 또는 다음 plan/review 파일을 작성해야 합니다.
아카이브와 다음 상태 파일 작성이 끝난 뒤, archived `code_review_*.log``코드리뷰 전용 체크리스트`를 모두 체크한 다음 보고하세요.
Archive와 다음 상태 파일 작성이 끝난 뒤, archived `code_review_*.log``코드리뷰 전용 체크리스트`를 모두 체크한 다음 보고하세요.
---

View file

@ -1,6 +1,6 @@
---
name: init-agent-ops
version: 1.1.0
version: 1.1.1
description: 프로젝트 상태를 판별하고 agent-ops 기본 스캐폴드를 생성하기 위한 초기 규칙
---
@ -12,10 +12,11 @@ description: 프로젝트 상태를 판별하고 agent-ops 기본 스캐폴드
현재 프로젝트 상태를 분석하여 다음을 세팅한다.
1. 에이전트 진입 파일
2. agent-ops 기본 폴더 구조
3. rules/project/rules.md (프로젝트 특화 규칙, 분석 후 생성)
4. 초기 domain rule 초안
5. 초기 skill (필요 시)
2. AI ignore / permission 기본 설정
3. agent-ops 기본 폴더 구조
4. rules/project/rules.md (프로젝트 특화 규칙, 분석 후 생성)
5. 초기 domain rule 초안
6. 초기 skill (필요 시)
"현재 프로젝트에 맞는 최소 스캐폴드" 생성을 우선한다.
@ -34,6 +35,7 @@ description: 프로젝트 상태를 판별하고 agent-ops 기본 스캐폴드
- [ ] 프로젝트 루트에 기존 agent-ops 관련 파일(`CLAUDE.md`, `agent-ops/` 등)이 있는지 확인
- [ ] `.agent-ops-source` 파일이 있는지 확인 (공통 관리 레포 여부)
- [ ] 기존 진입 파일(`CLAUDE.md`, `GEMINI.md` 등)이 있는지 확인
- [ ] 기존 AI ignore / permission 파일(`.geminiignore`, `.aiexclude`, `.claude/settings.json`, `opencode.json` 등)이 있는지 확인
## 핵심 원칙
@ -68,6 +70,8 @@ description: 프로젝트 상태를 판별하고 agent-ops 기본 스캐폴드
| `agent-ops/rules/project/domain/<domain>/rules.md` | 도메인 분석 후 생성 |
| `agent-ops/rules/private/` | 폴더만 생성 (내용은 개인이 작성) |
| `.gitignore``agent-ops/rules/private/` 추가 | git 추적 제외 |
| `.geminiignore`, `.aiexclude`, `.cursorignore`, `.clineignore` | `agent-task/archive/**` 한 줄 추가 |
| `.claude/settings.json`, `opencode.json` | 파일이 없으면 `agent-task/archive/**` 읽기/검색 제외 설정 생성, 있으면 덮어쓰지 않고 수동 병합 안내 |
에이전트별 파일명:
@ -166,23 +170,28 @@ common/rules.md와 내용이 중복되지 않도록 한다.
- `rules/common/rules.md`를 에이전트별 파일명으로 프로젝트 루트에 복사한다
- 복사 후 `rules/common/rules.md`를 삭제한다
3. **agent-ops 폴더 구조 복사**
3. **AI ignore / permission 기본 설정**
- `.geminiignore`, `.aiexclude`, `.cursorignore`, `.clineignore``agent-task/archive/**`를 추가한다
- `.claude/settings.json`, `opencode.json`이 없으면 archive 읽기/검색 제외 설정을 생성한다
- `agent-task/archive/**` 제외는 `.gitignore`에 추가하지 않는다
4. **agent-ops 폴더 구조 복사**
- 공통 관리 레포의 `agent-ops/` 공통 폴더(rules/common, skills/common)를 복사한다
- `agent-ops/.version` 파일을 복사한다
4. **rules/project/rules.md 생성**
5. **rules/project/rules.md 생성**
- 프로젝트를 분석하여 응답 언어, 프로젝트 개요, 기술 스택 등을 채운다
- common/rules.md와 내용이 중복되지 않도록 한다
5. **도메인 분석 및 domain rule 생성**
6. **도메인 분석 및 domain rule 생성**
- 신규 프로젝트: 핵심 domain placeholder 2~4개만 제안한다. domain rules를 과도하게 채우지 않는다
- 운영중 프로젝트: Core/Supporting/Generic 도메인을 식별하고 실제 경로를 반영한 초안을 생성한다
6. **초기 skill 제안**
7. **초기 skill 제안**
- 신규 프로젝트: 최소 2개만 제안한다
- 운영중 프로젝트: 반복 작업 기반으로 필요한 skill을 제안한다
7. **결과 보고**
8. **결과 보고**
- 상태 판별 결과, 생성된 파일 목록, 도메인 제안, skill 제안, 주의사항을 출력한다
## 출력 형식
@ -217,11 +226,15 @@ common/rules.md와 내용이 중복되지 않도록 한다.
- [ ] 생성된 domain rules.md가 `domain-rule-template.md` 형식을 따르는가
- [ ] `rules/project/rules.md`의 도메인 매핑 테이블에 생성된 도메인이 모두 등록되어 있는가
- [ ] `.gitignore``agent-ops/rules/private/` 항목이 추가되어 있는가
- [ ] `.geminiignore`, `.aiexclude`, `.cursorignore`, `.clineignore``agent-task/archive/**`가 포함되어 있는가
- [ ] `.claude/settings.json`, `opencode.json``agent-task/archive/**` 제외 설정이 있거나, 기존 파일 수동 병합 안내를 출력했는가
- [ ] `.gitignore``agent-task/archive/**`를 추가하지 않았는가
- 검증 실패 시: 누락된 파일/항목을 사용자에게 알리고 해당 부분만 보완한다
## 금지 사항
- 진입 파일에 rules/common/rules.md 외 내용을 추가하지 않는다.
- `agent-task/archive/**` 제외를 `.gitignore`에 추가하지 않는다.
- 실제 구조보다 앞선 추상 구조를 강요하지 않는다.
- 처음부터 많은 domain / skill을 만들지 않는다.
- rules/common/rules.md를 프로젝트에서 직접 수정하지 않는다.

View file

@ -200,20 +200,20 @@ Use the template below exactly. Fill `{…}` placeholders from the plan; everyth
## 개요
date=2026-05-17
date={YYYY-MM-DD}
task={task_name}, plan={N}, tag={TAG}
## 이 파일을 읽는 리뷰 에이전트에게
각 항목의 구현을 실제 소스 파일과 대조하고, `검증 결과` 섹션의 출력이 코드와 일치하는지 확인하세요.
리뷰 완료 후 반드시 아래 순서로 아카이브하세요.
review 완료 후 반드시 아래 순서로 아카이브하세요.
1. `CODE_REVIEW-{review_lane}-GNN.md``code_review_{review_lane}_GNN_N.log` (N = 기존 code_review_*.log 수)
2. `PLAN-{build_lane}-GNN.md``plan_{build_lane}_GNN_M.log` (M = 기존 plan_*.log 수)
3. PASS인 경우 `complete.log` 작성 후 종료. WARN/FAIL인 경우 새 routed plan + review 스텁 작성.
어떤 판정에서도 아카이브를 건너뛰지 마세요. PASS/WARN/FAIL 모두 `코드리뷰 결과` append 후 active plan/review 파일을 먼저 아카이브하고, 그 다음 `complete.log` 또는 다음 plan/review 파일을 작성해야 합니다.
아카이브와 다음 상태 파일 작성이 끝난 뒤, archived `code_review_*.log``코드리뷰 전용 체크리스트`를 모두 체크한 다음 보고하세요.
archive와 다음 상태 파일 작성이 끝난 뒤, archived `code_review_*.log``코드리뷰 전용 체크리스트`를 모두 체크한 다음 보고하세요.
---