Initial commit: workspace configuration files

This commit is contained in:
toki 2026-05-24 08:58:27 +09:00
commit 3e13ade7c4
17 changed files with 754 additions and 0 deletions

33
.clinerules Normal file
View file

@ -0,0 +1,33 @@
# 워크스페이스 공통 규칙
- 현재 루트는 여러 하위 Git repository를 품은 workspace이며, 그 자체를 제품 repository로 단정하지 않는다.
- 응답은 사용자가 다르게 요청하지 않는 한 한국어로 작성한다.
- 기존 하위 repository의 구조와 규칙을 우선한다.
- 분석 대상 하위 repository는 workspace root `.gitignore`에서 ignore되는 프로젝트 폴더만 대상으로 한다.
- 하위 repository를 변경해야 할 때는 해당 repository의 진입 파일과 `agent-ops/rules/project/rules.md`를 먼저 확인한다.
- 주기 분석, 주간 분석, 구현 전 점검은 `.workspace-skills/` 하위 skill을 사용한다.
- `.workspace-skills/**`는 workspace 운영 도구이므로 하위 프로젝트 분석 대상에서 제외한다. 단, skill 또는 rule을 사용하기 위해 명시적으로 필요한 파일은 읽을 수 있다.
- `.tmp/**`, `.antigravitycli/**`, `**/.git/**`, `**/node_modules/**`, `**/build/**`, `**/dist/**`, `**/.dart_tool/**`, `**/coverage/**`는 일반 분석 대상에서 제외한다.
- `agent-task/archive/**`와 `agent-ops/roadmap/archive/**`는 사용자가 명시적으로 요청한 경우에만 읽는다.
- 분석 요청에서는 기본적으로 읽기 전용으로 진행하고, 파일 수정은 사용자가 명시적으로 요청한 경우에만 한다.
- git 작업 중 기존 변경을 되돌리지 않는다.
## 스킬 라우팅
아래 요청은 작업 최초 1회 해당 `SKILL.md`를 읽고 수행한다.
| 요청 성격 | SKILL.md |
|----------|----------|
| 오늘 작업 평가, 일간 하위 프로젝트 분석, daily review | `.workspace-skills/daily-subproject-review/SKILL.md` |
| 주간 하위 프로젝트 분석, cross-repo 점검, weekly review | `.workspace-skills/weekly-subproject-review/SKILL.md` |
| 큰 구현 전 점검, 구현 시작 가능 여부 확인, pre-implementation review | `.workspace-skills/pre-implementation-review/SKILL.md` |
## 진입 파일
이 파일은 `agentic-framework/agent-ops/bin/entry-files.sh`의 `AGENT_OPS_ENTRY_FILES` 목록을 기준으로 workspace root의 다음 파일에 동일하게 복사한다.
- `GEMINI.md`
- `CLAUDE.md`
- `AGENTS.md`
- `.cursorrules`
- `.clinerules`

33
.cursorrules Normal file
View file

@ -0,0 +1,33 @@
# 워크스페이스 공통 규칙
- 현재 루트는 여러 하위 Git repository를 품은 workspace이며, 그 자체를 제품 repository로 단정하지 않는다.
- 응답은 사용자가 다르게 요청하지 않는 한 한국어로 작성한다.
- 기존 하위 repository의 구조와 규칙을 우선한다.
- 분석 대상 하위 repository는 workspace root `.gitignore`에서 ignore되는 프로젝트 폴더만 대상으로 한다.
- 하위 repository를 변경해야 할 때는 해당 repository의 진입 파일과 `agent-ops/rules/project/rules.md`를 먼저 확인한다.
- 주기 분석, 주간 분석, 구현 전 점검은 `.workspace-skills/` 하위 skill을 사용한다.
- `.workspace-skills/**`는 workspace 운영 도구이므로 하위 프로젝트 분석 대상에서 제외한다. 단, skill 또는 rule을 사용하기 위해 명시적으로 필요한 파일은 읽을 수 있다.
- `.tmp/**`, `.antigravitycli/**`, `**/.git/**`, `**/node_modules/**`, `**/build/**`, `**/dist/**`, `**/.dart_tool/**`, `**/coverage/**`는 일반 분석 대상에서 제외한다.
- `agent-task/archive/**`와 `agent-ops/roadmap/archive/**`는 사용자가 명시적으로 요청한 경우에만 읽는다.
- 분석 요청에서는 기본적으로 읽기 전용으로 진행하고, 파일 수정은 사용자가 명시적으로 요청한 경우에만 한다.
- git 작업 중 기존 변경을 되돌리지 않는다.
## 스킬 라우팅
아래 요청은 작업 최초 1회 해당 `SKILL.md`를 읽고 수행한다.
| 요청 성격 | SKILL.md |
|----------|----------|
| 오늘 작업 평가, 일간 하위 프로젝트 분석, daily review | `.workspace-skills/daily-subproject-review/SKILL.md` |
| 주간 하위 프로젝트 분석, cross-repo 점검, weekly review | `.workspace-skills/weekly-subproject-review/SKILL.md` |
| 큰 구현 전 점검, 구현 시작 가능 여부 확인, pre-implementation review | `.workspace-skills/pre-implementation-review/SKILL.md` |
## 진입 파일
이 파일은 `agentic-framework/agent-ops/bin/entry-files.sh`의 `AGENT_OPS_ENTRY_FILES` 목록을 기준으로 workspace root의 다음 파일에 동일하게 복사한다.
- `GEMINI.md`
- `CLAUDE.md`
- `AGENTS.md`
- `.cursorrules`
- `.clinerules`

16
.gitignore vendored Normal file
View file

@ -0,0 +1,16 @@
# Track root-level files in this workspace repo, but ignore root directories
# by default. Add explicit allow rules for any directory this repo should own.
/*/
# Workspace-owned skills.
!/.workspace-skills/
!/.workspace-skills/**
# Generated or local-only directories should stay ignored even if an allowed
# directory is added later.
**/.git/
**/node_modules/
**/build/
**/dist/
**/.dart_tool/
**/coverage/

View file

@ -0,0 +1,98 @@
---
name: daily-subproject-review
version: 1.0.0
description: workspace root 아래 여러 하위 Git repository의 오늘 작업 내용을 짧게 평가하는 일간 분석 스킬. 사용자가 "오늘 작업 평가", "하위 프로젝트 분석", "일간 리뷰", "daily review"를 요청할 때 사용한다.
---
# Daily Subproject Review
## 목적
workspace root의 하위 Git repository를 대상으로 오늘의 작업 내용을 짧게 평가한다.
커밋 수보다 변경의 의미, cross-repo 영향, 위험/누락, 다음 액션을 우선한다.
## 언제 호출할지
- 사용자가 오늘 작업 내용 평가를 요청할 때
- 여러 하위 프로젝트의 일간 진행 상황을 요약해야 할 때
- cross-repo 동기화나 책임 경계 변화가 있었는지 빠르게 확인해야 할 때
- 다음 작업 우선순위를 하루 단위로 정리해야 할 때
## 입력
- `workspace-root`: 분석할 workspace root. 없으면 현재 작업 디렉터리
- `date`: 분석 기준 날짜. 없으면 현재 날짜
- `timezone`: 날짜 경계 기준 timezone. 없으면 현재 shell timezone
- `include-archives`: archive 디렉터리 읽기 여부. 기본값은 `false`
## 먼저 확인할 것
- [ ] 현재 날짜와 timezone
- [ ] workspace root가 제품 repository인지, 여러 하위 repository를 품은 상위 폴더인지
- [ ] `.workspace-skills/shared/target-discovery.md`의 제외 규칙
- [ ] 하위 repository별 working tree 상태
## 실행 절차
1. **기준 시각 확인**
- `date -Is`로 현재 날짜와 timezone을 확인한다.
- 사용자가 날짜를 지정하지 않았으면 오늘 00:00부터 다음 날 00:00 전까지를 기준으로 한다.
2. **대상 repository 탐색**
- `.workspace-skills/shared/target-discovery.md`의 규칙으로 하위 `.git` 디렉터리를 찾는다.
- `.workspace-skills/**`는 분석 대상에서 제외한다.
3. **기본 git 상태 수집**
- 각 repository에서 `git status --short --branch`, `git branch -vv`, 오늘 커밋 로그와 shortstat을 확인한다.
- 필요하면 `.workspace-skills/shared/scripts/collect-subprojects.sh`를 실행한다.
4. **변경 의미 평가**
- 커밋을 동기화, 문서/로드맵, 실제 코드 구현, 테스트/검증, 운영 설정으로 분류한다.
- 반복 sync 커밋은 실제 진척과 분리해서 본다.
5. **위험과 누락 확인**
- 공통 정책이 각 repository에 반영되지 않은 항목을 찾는다.
- 로드맵과 실제 코드 상태가 충돌하는지 확인한다.
- archive 디렉터리는 사용자가 명시적으로 요청하지 않으면 읽지 않는다.
6. **결과 작성**
- `.workspace-skills/shared/output-format.md`의 일간 분석 형식을 따른다.
- 다음 액션은 3개 이내로 정리한다.
## 출력 형식
```markdown
## 총평
<오늘 작업의 의미와 짧은 평가>
## repo별 요약
| repo | 오늘 커밋 | 작업 성격 | 평가 |
|------|----------:|-----------|------|
## 위험/누락
- <확인할 항목>
## 다음 액션
1. <다음 작업>
2. <다음 작업>
3. <다음 작업>
```
## 실행 결과 검증
- [ ] `.workspace-skills/**`가 분석 대상 repository로 포함되지 않았는가
- [ ] 모든 하위 repository의 working tree 상태를 확인했는가
- [ ] 오늘 커밋이 없는 repository도 누락하지 않았는가
- [ ] sync 커밋과 실질 변경을 구분했는가
- [ ] archive 디렉터리를 명시 요청 없이 읽지 않았는가
## 금지 사항
- 분석 요청만 받은 상태에서 하위 repository 파일을 수정하지 않는다.
- 커밋 수나 라인 수만으로 생산성을 평가하지 않는다.
- `.workspace-skills/**`를 하위 프로젝트 작업량에 포함하지 않는다.
- `agent-task/archive/**``agent-ops/roadmap/archive/**`를 명시 요청 없이 읽지 않는다.

View file

@ -0,0 +1,9 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
WORKSPACE_ROOT="${1:-$(cd "$SCRIPT_DIR/../../.." && pwd)}"
TODAY="${2:-$(date +%Y-%m-%d)}"
TOMORROW="$(date -d "$TODAY +1 day" +%Y-%m-%d)"
"$SCRIPT_DIR/../../shared/scripts/collect-subprojects.sh" "$WORKSPACE_ROOT" "$TODAY 00:00" "$TOMORROW 00:00"

View file

@ -0,0 +1,100 @@
---
name: pre-implementation-review
version: 1.0.0
description: 큰 구현을 시작하기 전에 관련 하위 Git repository, roadmap/current milestone, 구현 잠금, 선행 조건, 책임 경계, 테스트 기준을 확인해 진행 가능 여부를 판정하는 사전 점검 스킬. 사용자가 "구현 전 점검", "이 작업 시작해도 돼?", "pre-implementation review"를 요청할 때 사용한다.
---
# Pre-Implementation Review
## 목적
큰 구현을 시작하기 전에 관련 repository와 milestone을 확인해 지금 구현으로 내려가도 되는지 판정한다.
결과는 `진행 가능`, `조건부 진행`, `보류` 중 하나로 낸다.
## 언제 호출할지
- 사용자가 특정 기능 구현을 시작하기 전에 점검을 요청할 때
- 여러 repository에 걸친 변경을 시작하기 전에 책임 경계를 확인해야 할 때
- roadmap의 구현 잠금 또는 선행 milestone이 구현을 막는지 확인해야 할 때
- 테스트/검증 기준이 충분한지 구현 전에 확인해야 할 때
## 입력
- `workspace-root`: 분석할 workspace root. 없으면 현재 작업 디렉터리
- `feature`: 구현하려는 기능 또는 변경 설명
- `candidate-repos`: 사용자가 지정한 관련 repository 목록. 선택
- `candidate-paths`: 관련 파일 또는 경로. 선택
- `include-archives`: archive 디렉터리 읽기 여부. 기본값은 `false`
## 먼저 확인할 것
- [ ] 구현하려는 기능 또는 변경 범위
- [ ] 관련 repository 후보
- [ ] `.workspace-skills/shared/target-discovery.md`의 제외 규칙
- [ ] 관련 repository의 진입 파일과 `agent-ops/roadmap/current.md`
- [ ] 선택된 milestone의 `구현 잠금` 상태
## 실행 절차
1. **요청 범위 정리**
- feature, 관련 repo, 관련 경로, 기대 산출물을 짧게 정리한다.
- 범위가 너무 넓으면 구현 단위를 나눌 후보를 제시한다.
2. **관련 repository 선정**
- 사용자가 지정한 repo를 우선한다.
- 지정이 없으면 요청 키워드, 경로, roadmap/current milestone, 최근 변경을 보고 후보를 고른다.
- `.workspace-skills/**`는 후보 repository에서 제외한다.
3. **규칙과 roadmap 확인**
- 각 후보 repo의 진입 파일, `agent-ops/rules/project/rules.md`, `agent-ops/roadmap/current.md`를 확인한다.
- 활성 milestone 중 관련 문서만 읽는다.
- archive milestone은 사용자가 명시적으로 요청하지 않으면 읽지 않는다.
4. **구현 잠금과 선행 조건 판정**
- 관련 milestone의 `구현 잠금``잠금`이거나 섹션이 없으면 구현 보류 또는 조건부 진행으로 판정한다.
- 책임 경계, API/protocol, schema, 테스트 기준이 확정되어 있는지 확인한다.
5. **변경 범위와 테스트 기준 확인**
- 어떤 repo가 소유하는 변경인지 분리한다.
- 필요한 테스트, smoke, 문서 갱신, cross-repo sync 여부를 정리한다.
6. **판정 작성**
- `.workspace-skills/shared/output-format.md`의 구현 전 점검 형식을 따른다.
- 사용자가 구현도 요청하지 않았다면 분석에서 멈춘다.
## 출력 형식
```markdown
## 판정
<진행 가능 | 조건부 진행 | 보류>
## 근거
- <근거>
## 막는 항목
- <구현 결정해야 항목>
## 구현 시작 조건
1. <조건>
2. <조건>
3. <조건>
```
## 실행 결과 검증
- [ ] `.workspace-skills/**`가 구현 대상 repository로 포함되지 않았는가
- [ ] 관련 repository의 규칙과 roadmap/current를 확인했는가
- [ ] 관련 milestone의 구현 잠금 상태를 확인했는가
- [ ] 책임 경계와 테스트 기준을 확인했는가
- [ ] 사용자가 구현을 명시하지 않은 경우 파일을 수정하지 않았는가
## 금지 사항
- 구현 잠금이 걸린 milestone을 사용자 승인 없이 우회하지 않는다.
- protocol, schema, API, 파일 구조를 근거 없이 확정하지 않는다.
- `.workspace-skills/**`를 제품 코드 변경 대상으로 삼지 않는다.
- 사전 점검만 요청받은 상태에서 구현을 시작하지 않는다.

View file

@ -0,0 +1,16 @@
# Pre-Implementation Checklist
## 판정 기준
- `진행 가능`: 관련 milestone이 구현 가능한 수준으로 구체화되어 있고, 구현 잠금이 없거나 해제되어 있으며, 책임 경계와 테스트 기준이 확인됨
- `조건부 진행`: 작은 문서 보정, 테스트 기준 보강, repo 소유권 확인 같은 낮은 위험의 선행 작업만 남음
- `보류`: 구현 잠금, 선행 milestone 미완료, API/protocol/schema 미확정, 책임 경계 충돌이 있음
## 확인 질문
- 이 변경의 owner repository는 어디인가?
- sibling repository에 contract 변경이 필요한가?
- 현재 활성 milestone 안의 작업인가?
- `구현 잠금`이 있으면 해제 근거가 문서에 남아 있는가?
- 테스트 또는 smoke 기준이 구현 전에 설명 가능한가?
- 문서 sync와 코드 구현 순서가 충돌하지 않는가?

View file

@ -0,0 +1,33 @@
# 워크스페이스 공통 규칙
- 현재 루트는 여러 하위 Git repository를 품은 workspace이며, 그 자체를 제품 repository로 단정하지 않는다.
- 응답은 사용자가 다르게 요청하지 않는 한 한국어로 작성한다.
- 기존 하위 repository의 구조와 규칙을 우선한다.
- 분석 대상 하위 repository는 workspace root `.gitignore`에서 ignore되는 프로젝트 폴더만 대상으로 한다.
- 하위 repository를 변경해야 할 때는 해당 repository의 진입 파일과 `agent-ops/rules/project/rules.md`를 먼저 확인한다.
- 주기 분석, 주간 분석, 구현 전 점검은 `.workspace-skills/` 하위 skill을 사용한다.
- `.workspace-skills/**`는 workspace 운영 도구이므로 하위 프로젝트 분석 대상에서 제외한다. 단, skill 또는 rule을 사용하기 위해 명시적으로 필요한 파일은 읽을 수 있다.
- `.tmp/**`, `.antigravitycli/**`, `**/.git/**`, `**/node_modules/**`, `**/build/**`, `**/dist/**`, `**/.dart_tool/**`, `**/coverage/**`는 일반 분석 대상에서 제외한다.
- `agent-task/archive/**``agent-ops/roadmap/archive/**`는 사용자가 명시적으로 요청한 경우에만 읽는다.
- 분석 요청에서는 기본적으로 읽기 전용으로 진행하고, 파일 수정은 사용자가 명시적으로 요청한 경우에만 한다.
- git 작업 중 기존 변경을 되돌리지 않는다.
## 스킬 라우팅
아래 요청은 작업 최초 1회 해당 `SKILL.md`를 읽고 수행한다.
| 요청 성격 | SKILL.md |
|----------|----------|
| 오늘 작업 평가, 일간 하위 프로젝트 분석, daily review | `.workspace-skills/daily-subproject-review/SKILL.md` |
| 주간 하위 프로젝트 분석, cross-repo 점검, weekly review | `.workspace-skills/weekly-subproject-review/SKILL.md` |
| 큰 구현 전 점검, 구현 시작 가능 여부 확인, pre-implementation review | `.workspace-skills/pre-implementation-review/SKILL.md` |
## 진입 파일
이 파일은 `agentic-framework/agent-ops/bin/entry-files.sh``AGENT_OPS_ENTRY_FILES` 목록을 기준으로 workspace root의 다음 파일에 동일하게 복사한다.
- `GEMINI.md`
- `CLAUDE.md`
- `AGENTS.md`
- `.cursorrules`
- `.clinerules`

View file

@ -0,0 +1,40 @@
# 워크스페이스 프로젝트 규칙
## 프로젝트 개요
이 workspace는 서로 연관된 하위 Git repository들을 한 루트에서 운영하기 위한 작업 공간이다.
분석 대상은 workspace root 자체가 아니라, root `.gitignore`에서 ignore되는 하위 Git repository다.
현재 주요 하위 repository:
| 경로 | 성격 |
|------|------|
| `agentic-framework/` | 공통 `agent-ops` 규칙과 skill 공급원 |
| `dart-app-core/` | Dart 앱 공통 기반 |
| `iop/` | 실행, 모델, agent runtime, Edge/Node 계층 |
| `nomadcode/` | 개발 workflow/product shell |
| `oto/` | build/deploy domain agent 후보 |
| `proto-socket/` | proto-socket transport 구현 |
## 분석 대상 탐색
- `.workspace-skills/shared/target-discovery.md` 규칙으로 root `.gitignore`에서 ignore되는 하위 Git repository를 찾는다.
- workspace root 자체의 `.git`은 관리 repository로만 보고 분석 대상 repository로 보지 않는다.
- `.workspace-skills/**`는 운영 도구이므로 분석 대상 repository로 보지 않는다.
- 분석 중 `.workspace-skills/`를 읽는 경우는 skill, shared reference, script를 사용해야 할 때로 제한한다.
- 하위 repository 내부의 `agent-task/archive/**``agent-ops/roadmap/archive/**`는 사용자가 명시적으로 요청한 경우에만 읽는다.
## 스킬 라우팅
| 요청 키워드 | SKILL.md |
|------------|----------|
| 오늘 작업 평가 / 일간 분석 / daily | `.workspace-skills/daily-subproject-review/SKILL.md` |
| 주간 분석 / weekly / cross-repo 점검 | `.workspace-skills/weekly-subproject-review/SKILL.md` |
| 구현 전 점검 / 시작 가능 여부 / pre-implementation | `.workspace-skills/pre-implementation-review/SKILL.md` |
## 출력 기준
- 커밋 수와 라인 수는 보조 지표로만 사용한다.
- 실제 평가는 변경의 의미, cross-repo 영향, 책임 경계, 위험/누락, 다음 액션을 기준으로 한다.
- 최종 답변에는 사용자가 바로 행동할 수 있는 다음 액션을 포함한다.
- 단순 분석 요청에서는 파일을 수정하지 않는다.

View file

@ -0,0 +1,73 @@
# Output Format
## 일간 분석
```markdown
## 총평
<오늘 작업의 의미와 점수 또는 짧은 판단>
## repo별 요약
| repo | 오늘 커밋 | 작업 성격 | 평가 |
|------|----------:|-----------|------|
## 좋은 점
- <핵심 성과>
## 위험/누락
- <확인할 위험>
## 다음 액션
1. <가장 중요한 다음 작업>
2. < 번째 작업>
3. < 번째 작업>
```
## 주간 분석
```markdown
## 주간 총평
<방향 정렬, 속도, 위험에 대한 평가>
## cross-repo 흐름
| 흐름 | 관련 repo | 상태 | 다음 결정 |
|------|-----------|------|-----------|
## 불일치/중복
- <로드맵, 문서, 구현 사이의 불일치>
## 다음 주 초점
1. <초점>
2. <초점>
3. <초점>
```
## 구현 전 점검
```markdown
## 판정
<진행 가능 | 조건부 진행 | 보류>
## 근거
- <마일스톤, 구현 잠금, 선행 조건, 책임 경계 근거>
## 막는 항목
- <구현 결정해야 항목>
## 구현 시작 조건
1. <조건>
2. <조건>
3. <조건>
```

View file

@ -0,0 +1,47 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT="${1:-$(pwd)}"
SINCE="${2:-}"
UNTIL="${3:-}"
if [[ -z "$SINCE" ]]; then
SINCE="$(date +%Y-%m-%d) 00:00"
fi
repo_paths() {
find "$ROOT" \
-path "$ROOT/.git" -prune -o \
-path "$ROOT/.workspace-skills" -prune -o \
-path "$ROOT/.tmp" -prune -o \
-path "$ROOT/.antigravitycli" -prune -o \
-path "*/node_modules" -prune -o \
-path "*/build" -prune -o \
-path "*/dist" -prune -o \
-path "*/.dart_tool" -prune -o \
-path "*/coverage" -prune -o \
-type d -name .git -print |
sort |
while IFS= read -r gitdir; do
repo="$(dirname "$gitdir")"
rel="${repo#$ROOT/}"
if git -C "$ROOT" check-ignore -q -- "$rel"; then
printf '%s\n' "$repo"
fi
done
}
while IFS= read -r repo; do
rel="${repo#$ROOT/}"
echo "## $rel"
git -C "$repo" status --short --branch
git -C "$repo" branch -vv
if [[ -n "$UNTIL" ]]; then
git -C "$repo" log --since="$SINCE" --until="$UNTIL" --date=iso --pretty=format:'%h | %ad | %an | %s' --shortstat
else
git -C "$repo" log --since="$SINCE" --date=iso --pretty=format:'%h | %ad | %an | %s' --shortstat
fi
echo
done < <(repo_paths)

View file

@ -0,0 +1,50 @@
# Target Discovery
## 목적
workspace root의 Git 추적 대상이 아니라, root `.gitignore`에서 무시되는 하위 Git repository만 분석 대상으로 찾는다.
workspace root 자체와 `.workspace-skills/`는 분석 도구/관리 영역이므로 대상에서 제외한다.
## 기본 명령
```bash
find "$ROOT" \
-path "$ROOT/.git" -prune -o \
-path "$ROOT/.workspace-skills" -prune -o \
-path "$ROOT/.tmp" -prune -o \
-path "$ROOT/.antigravitycli" -prune -o \
-path "*/node_modules" -prune -o \
-path "*/build" -prune -o \
-path "*/dist" -prune -o \
-path "*/.dart_tool" -prune -o \
-path "*/coverage" -prune -o \
-type d -name .git -print |
sort |
while IFS= read -r gitdir; do
repo="$(dirname "$gitdir")"
rel="${repo#$ROOT/}"
if git -C "$ROOT" check-ignore -q -- "$rel"; then
printf '%s\n' "$repo"
fi
done
```
## 제외 규칙
- workspace root 자체: 관리 repository로만 보고 제품 분석 대상에서 제외한다.
- root `.gitignore`에서 ignore되지 않는 경로: workspace 관리 파일로 보고 하위 프로젝트 분석 대상에서 제외한다.
- `.workspace-skills/**`: skill/rule/script를 사용할 때만 읽는다.
- `.tmp/**`, `.antigravitycli/**`: workspace 부속 디렉터리로 본다.
- `**/.git/**`: git metadata는 git 명령으로만 확인한다.
- `**/node_modules/**`, `**/build/**`, `**/dist/**`, `**/.dart_tool/**`, `**/coverage/**`: 생성물 또는 캐시로 본다.
- `agent-task/archive/**`, `agent-ops/roadmap/archive/**`: 사용자가 명시적으로 요청한 경우에만 읽는다.
## repository별 기본 확인
각 repository에서 다음을 확인한다.
```bash
git status --short --branch
git branch -vv
git log --since="<since>" --until="<until>" --date=iso --pretty=format:'%h | %ad | %an | %s' --shortstat
```

View file

@ -0,0 +1,99 @@
---
name: weekly-subproject-review
version: 1.0.0
description: workspace root 아래 여러 하위 Git repository의 최근 1주 흐름, cross-repo 의존성, 로드맵/구현 불일치, 책임 경계 위험을 평가하는 주간 분석 스킬. 사용자가 "주간 분석", "weekly review", "cross-repo 점검"을 요청할 때 사용한다.
---
# Weekly Subproject Review
## 목적
하위 repository들의 최근 1주 흐름을 묶어서 평가한다.
일간 분석보다 cross-repo 의존성, 중복 계획, 책임 경계 충돌, 오래 남은 잠금/보류 항목을 더 깊게 본다.
## 언제 호출할지
- 사용자가 주간 하위 프로젝트 분석을 요청할 때
- 여러 repository의 로드맵이 같은 방향을 보고 있는지 확인해야 할 때
- 다음 주 구현 우선순위를 정하기 전에 전체 흐름을 점검할 때
- cross-repo 경계나 중복 작업이 늘어난 것 같을 때
## 입력
- `workspace-root`: 분석할 workspace root. 없으면 현재 작업 디렉터리
- `since`: 분석 시작일. 없으면 7일 전
- `until`: 분석 종료일. 없으면 현재 시각
- `focus`: 특정 repo, 기능, 경계. 선택
- `include-archives`: archive 디렉터리 읽기 여부. 기본값은 `false`
## 먼저 확인할 것
- [ ] `.workspace-skills/shared/target-discovery.md`의 제외 규칙
- [ ] 하위 repository 목록과 branch tracking 상태
- [ ] 최근 1주 커밋과 큰 변경 파일
- [ ] 관련 `agent-ops/roadmap/current.md`와 활성 milestone
## 실행 절차
1. **기간 결정**
- 사용자가 기간을 지정하지 않았으면 최근 7일을 기준으로 한다.
2. **대상 repository 탐색**
- `.workspace-skills/**`를 제외하고 하위 `.git` repository를 찾는다.
- focus가 있으면 관련 repository를 우선하되, cross-repo 영향이 있는 sibling repository도 확인한다.
3. **변경 흐름 수집**
- repository별 커밋, 변경 파일, branch 상태, working tree 상태를 확인한다.
- 필요하면 `.workspace-skills/shared/scripts/collect-subprojects.sh`를 실행한다.
4. **cross-repo 관계 분석**
- 같은 기능이 여러 repository에 분산되어 있는지 본다.
- 책임 경계가 겹치거나 반대로 비어 있는 영역을 찾는다.
- 공통 `agent-ops` sync와 실제 제품 변경을 분리한다.
5. **로드맵/구현 불일치 확인**
- 활성 milestone과 실제 변경이 맞는지 확인한다.
- 구현 잠금이 오래 남았거나 잠금 없이 구현으로 내려간 흔적이 있는지 본다.
- archive 디렉터리는 명시 요청 없이 읽지 않는다.
6. **결과 작성**
- `.workspace-skills/shared/output-format.md`의 주간 분석 형식을 따른다.
- 다음 주 초점은 3개 이내로 제안한다.
## 출력 형식
```markdown
## 주간 총평
<방향 정렬, 속도, 위험 평가>
## cross-repo 흐름
| 흐름 | 관련 repo | 상태 | 다음 결정 |
|------|-----------|------|-----------|
## 불일치/중복
- <확인한 문제>
## 다음 주 초점
1. <초점>
2. <초점>
3. <초점>
```
## 실행 결과 검증
- [ ] `.workspace-skills/**`가 분석 대상에 포함되지 않았는가
- [ ] 공통 sync와 실제 제품 변경을 구분했는가
- [ ] cross-repo 책임 경계와 의존성을 최소 1회 점검했는가
- [ ] 활성 roadmap/milestone과 실제 변경의 관계를 확인했는가
- [ ] archive 디렉터리를 명시 요청 없이 읽지 않았는가
## 금지 사항
- 주간 분석 중 근거 없이 새 roadmap 항목을 만들지 않는다.
- 오래된 잠금 또는 보류 항목을 사용자 확인 없이 해제하지 않는다.
- `.workspace-skills/**`를 제품 repository로 평가하지 않는다.
- 코드 구현 여부를 확인하지 않고 문서상 완료만으로 완료 판정을 내리지 않는다.

View file

@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
WORKSPACE_ROOT="${1:-$(cd "$SCRIPT_DIR/../../.." && pwd)}"
SINCE="${2:-7 days ago}"
"$SCRIPT_DIR/../../shared/scripts/collect-subprojects.sh" "$WORKSPACE_ROOT" "$SINCE"

33
AGENTS.md Normal file
View file

@ -0,0 +1,33 @@
# 워크스페이스 공통 규칙
- 현재 루트는 여러 하위 Git repository를 품은 workspace이며, 그 자체를 제품 repository로 단정하지 않는다.
- 응답은 사용자가 다르게 요청하지 않는 한 한국어로 작성한다.
- 기존 하위 repository의 구조와 규칙을 우선한다.
- 분석 대상 하위 repository는 workspace root `.gitignore`에서 ignore되는 프로젝트 폴더만 대상으로 한다.
- 하위 repository를 변경해야 할 때는 해당 repository의 진입 파일과 `agent-ops/rules/project/rules.md`를 먼저 확인한다.
- 주기 분석, 주간 분석, 구현 전 점검은 `.workspace-skills/` 하위 skill을 사용한다.
- `.workspace-skills/**`는 workspace 운영 도구이므로 하위 프로젝트 분석 대상에서 제외한다. 단, skill 또는 rule을 사용하기 위해 명시적으로 필요한 파일은 읽을 수 있다.
- `.tmp/**`, `.antigravitycli/**`, `**/.git/**`, `**/node_modules/**`, `**/build/**`, `**/dist/**`, `**/.dart_tool/**`, `**/coverage/**`는 일반 분석 대상에서 제외한다.
- `agent-task/archive/**``agent-ops/roadmap/archive/**`는 사용자가 명시적으로 요청한 경우에만 읽는다.
- 분석 요청에서는 기본적으로 읽기 전용으로 진행하고, 파일 수정은 사용자가 명시적으로 요청한 경우에만 한다.
- git 작업 중 기존 변경을 되돌리지 않는다.
## 스킬 라우팅
아래 요청은 작업 최초 1회 해당 `SKILL.md`를 읽고 수행한다.
| 요청 성격 | SKILL.md |
|----------|----------|
| 오늘 작업 평가, 일간 하위 프로젝트 분석, daily review | `.workspace-skills/daily-subproject-review/SKILL.md` |
| 주간 하위 프로젝트 분석, cross-repo 점검, weekly review | `.workspace-skills/weekly-subproject-review/SKILL.md` |
| 큰 구현 전 점검, 구현 시작 가능 여부 확인, pre-implementation review | `.workspace-skills/pre-implementation-review/SKILL.md` |
## 진입 파일
이 파일은 `agentic-framework/agent-ops/bin/entry-files.sh``AGENT_OPS_ENTRY_FILES` 목록을 기준으로 workspace root의 다음 파일에 동일하게 복사한다.
- `GEMINI.md`
- `CLAUDE.md`
- `AGENTS.md`
- `.cursorrules`
- `.clinerules`

33
CLAUDE.md Normal file
View file

@ -0,0 +1,33 @@
# 워크스페이스 공통 규칙
- 현재 루트는 여러 하위 Git repository를 품은 workspace이며, 그 자체를 제품 repository로 단정하지 않는다.
- 응답은 사용자가 다르게 요청하지 않는 한 한국어로 작성한다.
- 기존 하위 repository의 구조와 규칙을 우선한다.
- 분석 대상 하위 repository는 workspace root `.gitignore`에서 ignore되는 프로젝트 폴더만 대상으로 한다.
- 하위 repository를 변경해야 할 때는 해당 repository의 진입 파일과 `agent-ops/rules/project/rules.md`를 먼저 확인한다.
- 주기 분석, 주간 분석, 구현 전 점검은 `.workspace-skills/` 하위 skill을 사용한다.
- `.workspace-skills/**`는 workspace 운영 도구이므로 하위 프로젝트 분석 대상에서 제외한다. 단, skill 또는 rule을 사용하기 위해 명시적으로 필요한 파일은 읽을 수 있다.
- `.tmp/**`, `.antigravitycli/**`, `**/.git/**`, `**/node_modules/**`, `**/build/**`, `**/dist/**`, `**/.dart_tool/**`, `**/coverage/**`는 일반 분석 대상에서 제외한다.
- `agent-task/archive/**``agent-ops/roadmap/archive/**`는 사용자가 명시적으로 요청한 경우에만 읽는다.
- 분석 요청에서는 기본적으로 읽기 전용으로 진행하고, 파일 수정은 사용자가 명시적으로 요청한 경우에만 한다.
- git 작업 중 기존 변경을 되돌리지 않는다.
## 스킬 라우팅
아래 요청은 작업 최초 1회 해당 `SKILL.md`를 읽고 수행한다.
| 요청 성격 | SKILL.md |
|----------|----------|
| 오늘 작업 평가, 일간 하위 프로젝트 분석, daily review | `.workspace-skills/daily-subproject-review/SKILL.md` |
| 주간 하위 프로젝트 분석, cross-repo 점검, weekly review | `.workspace-skills/weekly-subproject-review/SKILL.md` |
| 큰 구현 전 점검, 구현 시작 가능 여부 확인, pre-implementation review | `.workspace-skills/pre-implementation-review/SKILL.md` |
## 진입 파일
이 파일은 `agentic-framework/agent-ops/bin/entry-files.sh``AGENT_OPS_ENTRY_FILES` 목록을 기준으로 workspace root의 다음 파일에 동일하게 복사한다.
- `GEMINI.md`
- `CLAUDE.md`
- `AGENTS.md`
- `.cursorrules`
- `.clinerules`

33
GEMINI.md Normal file
View file

@ -0,0 +1,33 @@
# 워크스페이스 공통 규칙
- 현재 루트는 여러 하위 Git repository를 품은 workspace이며, 그 자체를 제품 repository로 단정하지 않는다.
- 응답은 사용자가 다르게 요청하지 않는 한 한국어로 작성한다.
- 기존 하위 repository의 구조와 규칙을 우선한다.
- 분석 대상 하위 repository는 workspace root `.gitignore`에서 ignore되는 프로젝트 폴더만 대상으로 한다.
- 하위 repository를 변경해야 할 때는 해당 repository의 진입 파일과 `agent-ops/rules/project/rules.md`를 먼저 확인한다.
- 주기 분석, 주간 분석, 구현 전 점검은 `.workspace-skills/` 하위 skill을 사용한다.
- `.workspace-skills/**`는 workspace 운영 도구이므로 하위 프로젝트 분석 대상에서 제외한다. 단, skill 또는 rule을 사용하기 위해 명시적으로 필요한 파일은 읽을 수 있다.
- `.tmp/**`, `.antigravitycli/**`, `**/.git/**`, `**/node_modules/**`, `**/build/**`, `**/dist/**`, `**/.dart_tool/**`, `**/coverage/**`는 일반 분석 대상에서 제외한다.
- `agent-task/archive/**``agent-ops/roadmap/archive/**`는 사용자가 명시적으로 요청한 경우에만 읽는다.
- 분석 요청에서는 기본적으로 읽기 전용으로 진행하고, 파일 수정은 사용자가 명시적으로 요청한 경우에만 한다.
- git 작업 중 기존 변경을 되돌리지 않는다.
## 스킬 라우팅
아래 요청은 작업 최초 1회 해당 `SKILL.md`를 읽고 수행한다.
| 요청 성격 | SKILL.md |
|----------|----------|
| 오늘 작업 평가, 일간 하위 프로젝트 분석, daily review | `.workspace-skills/daily-subproject-review/SKILL.md` |
| 주간 하위 프로젝트 분석, cross-repo 점검, weekly review | `.workspace-skills/weekly-subproject-review/SKILL.md` |
| 큰 구현 전 점검, 구현 시작 가능 여부 확인, pre-implementation review | `.workspace-skills/pre-implementation-review/SKILL.md` |
## 진입 파일
이 파일은 `agentic-framework/agent-ops/bin/entry-files.sh``AGENT_OPS_ENTRY_FILES` 목록을 기준으로 workspace root의 다음 파일에 동일하게 복사한다.
- `GEMINI.md`
- `CLAUDE.md`
- `AGENTS.md`
- `.cursorrules`
- `.clinerules`