deuk-agent-rule 2.5.13 → 3.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.ko.md +74 -0
- package/CHANGELOG.md +138 -316
- package/README.ko.md +134 -154
- package/README.md +121 -153
- package/package.json +29 -7
- package/scripts/cli-args.mjs +87 -3
- package/scripts/cli-init-commands.mjs +1382 -223
- package/scripts/cli-init-logic.mjs +28 -16
- package/scripts/cli-prompts.mjs +13 -4
- package/scripts/cli-rule-compiler.mjs +44 -34
- package/scripts/cli-skill-commands.mjs +172 -0
- package/scripts/cli-telemetry-commands.mjs +429 -0
- package/scripts/cli-ticket-commands.mjs +1934 -161
- package/scripts/cli-ticket-index.mjs +298 -0
- package/scripts/cli-ticket-migration.mjs +320 -0
- package/scripts/cli-ticket-parser.mjs +207 -0
- package/scripts/cli-utils.mjs +381 -59
- package/scripts/cli.mjs +99 -19
- package/scripts/lint-md.mjs +247 -0
- package/scripts/lint-rules.mjs +143 -0
- package/scripts/merge-logic.mjs +13 -306
- package/scripts/plan-parser.mjs +53 -0
- package/templates/MODULE_RULE_TEMPLATE.md +11 -0
- package/templates/PROJECT_RULE.md +47 -0
- package/templates/TICKET_TEMPLATE.ko.md +21 -0
- package/templates/TICKET_TEMPLATE.md +21 -0
- package/templates/rules.d/deukcontext-mcp.md +31 -0
- package/templates/rules.d/platform-coexistence.md +29 -0
- package/templates/skills/context-recall/SKILL.md +25 -0
- package/templates/skills/generated-file-guard/SKILL.md +25 -0
- package/templates/skills/safe-refactor/SKILL.md +25 -0
- package/bundle/.cursorrules +0 -11
- package/bundle/AGENTS.md +0 -146
- package/bundle/gemini.md +0 -26
- package/bundle/rules/delivery-and-parallel-work.mdc +0 -26
- package/bundle/rules/git-commit.mdc +0 -24
- package/bundle/rules/multi-ai-workflow.mdc +0 -104
- package/bundle/rules.d/core-workflow.md +0 -48
- package/bundle/rules.d/deukrag-mcp.md +0 -37
- package/bundle/templates/MODULE_RULE_TEMPLATE.md +0 -24
- package/bundle/templates/TICKET_TEMPLATE.md +0 -58
- package/scripts/cli-ticket-logic.mjs +0 -568
- package/scripts/sync-bundle.mjs +0 -77
- package/scripts/sync-oss.mjs +0 -126
package/README.ko.md
CHANGED
|
@@ -1,210 +1,190 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<br />
|
|
3
|
-
<
|
|
3
|
+
<img src="docs/assets/architecture-v3.png" width="800" alt="DeukAgentRules Architecture" />
|
|
4
|
+
<br />
|
|
5
|
+
<h1>DeukAgentRules v3.3.2</h1>
|
|
4
6
|
<p>
|
|
5
7
|
<a href="https://www.npmjs.com/package/deuk-agent-rule"><img src="https://img.shields.io/npm/v/deuk-agent-rule.svg" alt="npm version" /></a>
|
|
6
8
|
<a href="https://www.npmjs.com/package/deuk-agent-rule"><img src="https://img.shields.io/npm/dt/deuk-agent-rule.svg" alt="npm downloads" /></a>
|
|
7
9
|
</p>
|
|
8
|
-
<p><b
|
|
9
|
-
<p><
|
|
10
|
+
<p><b>모든 레포를 위한 AI 코딩 에이전트 가드레일</b></p>
|
|
11
|
+
<p><i>Codex, Copilot, Claude Code, Cursor를 위한 티켓, 범위 계약, 검증, 기억 계층</i></p>
|
|
12
|
+
<p><a href="https://deukpack.app">Deuk Family</a> 생태계의 핵심 모듈입니다.</p>
|
|
10
13
|
</div>
|
|
11
14
|
|
|
12
|
-
|
|
15
|
+
---
|
|
13
16
|
|
|
14
|
-
**
|
|
17
|
+
**DeukAgentRules**는 AI 코딩 에이전트가 티켓, 범위 계약, 검증 기록, 프로젝트 기억을 공유된 방식으로 따라가게 만드는 레포 단위 워크플로우입니다.
|
|
15
18
|
|
|
16
|
-
**
|
|
19
|
+
단순한 프롬프트 모음에 머물지 않습니다. **Hub-Spoke 아키텍처**와 **티켓 기반 실행 모델**을 통해 `AGENTS.md`, Copilot instructions, Cursor rules, Claude skills 같은 에이전트 지침 표면을 하나의 레포 워크플로우로 묶습니다.
|
|
17
20
|
|
|
18
|
-
|
|
19
|
-
프로젝트 규칙(`AGENTS.md`, `.cursor/rules`)을 표준화하고, **티켓 기반 워크플로우**를 통해 쓸데없는 프롬프트 토큰 낭비와 AI의 맥락 환각(Hallucination)을 강력하게 방어합니다.
|
|
21
|
+
티켓 관리는 `.deuk-agent/` 아래에서 이뤄지며, 진행 중인 작업은 `.deuk-agent/tickets/`에, 관련 문서와 계획, 아카이브 정보도 그 주변 구조에 함께 쌓입니다.
|
|
20
22
|
|
|
21
|
-
>
|
|
22
|
-
>
|
|
23
|
+
> **현재 배포 기준:**
|
|
24
|
+
> v3.3.2는 에이전트 기반 리포지토리에 배포해 사용할 수 있는 상태입니다. 현재는 **OpenAI Codex**와 **GitHub Copilot** 환경에서 가장 안정적으로 동작합니다. Cursor, Windsurf, Claude Code, MCP도 포인터 구조로 지원하지만, 워크스페이스별 검증을 권장합니다. MCP 서버 등록은 `init`에 딸려 들어가지 않고 별도로 설정합니다.
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
또한 CLI 티켓 시스템이 고도화되어 `deuk-agent-rule ticket create` 명령 시 설계(Plan) 문서를 자동 스캐폴딩하고 티켓과 연결해 줍니다. Phase 기반 이슈 추적 기능도 대폭 강화되었습니다.
|
|
26
|
+
> **아키텍처 기반:**
|
|
27
|
+
> 거대하고 무거운 레거시 `.cursorrules` 방식을 공식적으로 폐기했습니다. v3.0은 `AGENTS.md`를 단일 진실 공급원으로 사용하는 **Hub-Spoke 모델**을 도입하여, IDE별 규칙은 얇은 진입점 포인터 역할만 수행합니다.
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
> 현재 사내 지식 검색 엔진인 **DeukRag** 시스템 (MCP)과 본 에이전트 룰을 완벽히 연동하여, AI가 티켓을 해결할 때 관련 과거 히스토리와 사내 규약을 스스로 찾아보고 적용하여 **효과를 극대화**할 수 있도록 하는 심화 기능 및 매뉴얼을 준비 중에 있습니다.
|
|
29
|
+
### 🗺️ 핵심 기능 및 아키텍처 (Main Features)
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
DeukAgentRules는 AI 에이전트가 코드를 분석하고 작성하는 흐름을 안정적으로 이끄는 **4대 핵심 기능**을 제공합니다.
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
1. **Zero-Copy Hub-Spoke 아키텍처**
|
|
34
|
+
- **Hub**: 단일 진실 공급원인 `AGENTS.md` (글로벌 룰)
|
|
35
|
+
- **Spoke**: `PROJECT_RULE.md` 등 워크스페이스별 로컬 규칙
|
|
36
|
+
- **효과**: IDE별(Cursor, Copilot, Windsurf) 설정 파일 중복을 제거하고, 에이전트가 오직 하나의 규약만 바라보게 하여 지시 사항의 충돌과 환각을 원천 차단합니다.
|
|
34
37
|
|
|
35
|
-
|
|
38
|
+
2. **티켓 주도 워크플로우 (TDW: Ticket-Driven Workflow)**
|
|
39
|
+
- 계획(Plan) → 실행(Execute) → 검증(Verify) → 보관(Archive)의 분명한 라이프사이클로 작업을 이끕니다.
|
|
40
|
+
- 활성화된 티켓(`ACTIVE_TICKET.md`)을 중심으로 변경을 연결해 범위와 진행 상태가 계속 보이게 합니다.
|
|
36
41
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
```
|
|
42
|
+
3. **플랫폼 공존 및 모드 인지형 게이트 (Mode-Aware Workflow Gate)**
|
|
43
|
+
- 에이전트의 현재 모드(Plan Mode vs. Execute Mode)를 인지하여, Plan Mode에서는 분석과 구현 계획서(Artifacts) 작성에 집중하도록 APC를 적용합니다.
|
|
44
|
+
- MCP(Model Context Protocol) Soft Gate와 연동되어 현재 티켓 컨텍스트에 맞는 변경 흐름을 유지합니다.
|
|
41
45
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
> - **Windows**: Node.js가 `Program Files` 등 시스템 폴더에 설치된 경우, 터미널(PowerShell/CMD)을 **관리자 권한**으로 실행한 상태에서 설치해야 오류가 발생하지 않습니다.
|
|
46
|
+
4. **지식 증류 및 Zero-Legacy (Knowledge Distillation)**
|
|
47
|
+
- 완료된 작업은 `reports/`로 아카이빙되며, 이 과정에서 **Zero-Token 지식 증류** 기술이 적용되어 핵심 히스토리만 벡터 DB(DeukAgentContext)로 전달됩니다.
|
|
48
|
+
- 불필요한 과거 로그나 사용되지 않는 `.cursorrules` 스텁을 자동으로 청소하여 컨텍스트 윈도우 낭비를 막습니다.
|
|
46
49
|
|
|
47
|
-
###
|
|
50
|
+
### 지침 파일만으로 부족한 이유
|
|
48
51
|
|
|
49
|
-
|
|
50
|
-
> **서브모듈 내 로컬 설치 절대 금지 (Local Trap 방지)**: 개별 타깃 서브모듈의 `package.json`에 `deuk-agent-rule`을 로컬 종속성(`npm install deuk-agent-rule`)으로 추가해서는 안 됩니다. 로컬에 구버전이 설치되어 있을 경우, `npx` 명령어는 전역에 설치된 최신 버전을 무시하고 로컬의 구버전을 강제로 실행하여 티켓 포맷이나 로직 충돌 등 심각한 오동작(Local Trap)을 유발합니다.
|
|
52
|
+
이미 AI 코딩 에이전트 생태계에는 `AGENTS.md`, GitHub Copilot instructions, Cursor rules, Claude skills, 여러 에이전트 실행 도구, 일반 LLM 가드레일이 있습니다. DeukAgentRules는 이들과 경쟁하기보다 그 위에 **티켓 기반 레포 워크플로우**를 얹습니다.
|
|
51
53
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
| 비슷한 접근 | 도움이 되는 부분 | DeukAgentRules가 더하는 것 |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| `AGENTS.md` 공개 형식 | 코딩 에이전트가 읽을 공통 지침 파일 | 티켓 생명주기, Phase Gate, 검증, 아카이브 가능한 기억 |
|
|
57
|
+
| Copilot instructions / Cursor rules / Claude memory | 도구별 맞춤 지침 | 여러 에이전트가 공유하는 레포 소유 워크플로우 |
|
|
58
|
+
| Claude/Copilot custom agent와 skill | 재사용 가능한 작업 playbook | skill이 워크플로우를 대체하지 않고 티켓 실행으로 들어가게 함 |
|
|
59
|
+
| 에이전트 실행기와 harness | 여러 코딩 에이전트 실행 | 어떤 에이전트를 쓰든 레포 안에서 생명주기를 통제 |
|
|
60
|
+
| 일반 LLM/MCP 가드레일 | 런타임 정책 검사 | 작업 지시서, 범위 계약, 깃에 남는 기록, 완료 근거 |
|
|
55
61
|
|
|
56
|
-
|
|
57
|
-
- **티켓 공유 정책**: 각 저장소 단위의 `.deuk-agent-ticket/` 폴더를 Git으로 추적하여 팀과 공유할지, 아니면 로컬 전용으로 둘지 결정합니다.
|
|
58
|
-
- 스택 변경이 필요 없으면 이후에는 `deuk-agent-rule init`만 쳐서 규칙을 최신화할 수 있습니다. (전역 설치를 하지 않았다면 `npx deuk-agent-rule init`으로 대체 가능합니다.)
|
|
59
|
-
- CI나 스크립트 환경에서는 대화형 입력을 끄기 위해 `--non-interactive` 파라미터를 추가하세요.
|
|
62
|
+
DeukAgentRules는 AI 코딩 작업을 팀이 이해하고 이어받기 쉬운 흐름으로 만들고 싶을 때 특히 잘 맞습니다. 여러 파일에 걸친 변경, 검증, 기록, 다음 작업 연결이 자연스럽게 이어지도록 돕는 데 초점을 둡니다.
|
|
60
63
|
|
|
61
|
-
###
|
|
62
|
-
새로운 에이전트 워크플로우나 템플릿이 릴리즈되었을 경우, 패키지를 최신 버전으로 갱신하고 `init` 명령을 재실행하여 변경 사항을 쉽게 프로젝트에 동기화할 수 있습니다.
|
|
63
|
-
기존 환경 설정(`.deuk-agent-rule.config.json`)을 기억하고 있으므로 `--non-interactive`를 주면 묻지도 따지지도 않고 규칙만 즉시 최신화해 줍니다.
|
|
64
|
-
```bash
|
|
65
|
-
npm install deuk-agent-rule@latest
|
|
66
|
-
deuk-agent-rule init --non-interactive
|
|
67
|
-
```
|
|
64
|
+
### Karpathy식 skill과 같이 쓰면 좋은 점
|
|
68
65
|
|
|
69
|
-
|
|
70
|
-
> **💡 구버전 마이그레이션 실패 시 강제 초기화 방법**
|
|
71
|
-
> 기존 템플릿 구조가 너무 구버전이거나 설정 파일(`.config.json`)이 꼬여서 마이그레이션 및 동기화가 계속 실패한다면, `--clean` 옵션으로 기존 룰셋과 설정을 날리고 새로 세팅하는 것이 가장 빠릅니다. **(기존 작성된 티켓들은 영향을 받지 않습니다)**
|
|
72
|
-
> ```bash
|
|
73
|
-
> deuk-agent-rule init --clean --interactive
|
|
74
|
-
> ```
|
|
66
|
+
Karpathy식 skill은 한 작업 안에서 에이전트의 행동을 더 좋게 만드는 데 강합니다. DeukAgentRules는 그 작업을 레포 차원에서 티켓화하고, 범위를 맞추고, 검증하고, 다시 찾을 수 있게 남기는 데 강합니다.
|
|
75
67
|
|
|
76
|
-
|
|
68
|
+
둘을 함께 쓰면 skill은 작업 수행 품질을 끌어올리고, DeukAgentRules는 그 결과를 팀 워크플로우에 연결합니다. 앞단에서는 행동 playbook이 작동하고, 뒷단에서는 티켓 생명주기와 DeukAgentContext 기억 계층이 남습니다.
|
|
77
69
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
1. **`.deuk-agent-templates/` (에이전트 템플릿)**: AI가 어떠한 양식으로 작업을 처리하고 보고해야 하는지 정의된 공식 뼈대(`TICKET_TEMPLATE.md`)가 지정됩니다.
|
|
83
|
-
2. **`.deuk-agent-ticket/` (티켓 실행 공간)**: 실제 지시서(`TICKET-XXX.md`)가 발급되는 공간입니다. 서브모듈 단위로 티켓을 분산 관리할 수 있어 서브모듈만 떼어가도 히스토리가 유지됩니다. (공유 정책에 따라 `.gitignore`에 자동으로 기재될 수 있습니다.)
|
|
84
|
-
|
|
85
|
-
### 💡 Workflow Overview
|
|
86
|
-
```mermaid
|
|
87
|
-
%%{init: {"flowchart": {"htmlLabels": false}, "themeCSS": ".node text { fill: #ffffff !important; stroke: none !important; }"} }%%
|
|
88
|
-
graph TD
|
|
89
|
-
classDef action fill:#2563eb,stroke:#1d4ed8,stroke-width:2px,color:#ffffff;
|
|
90
|
-
classDef phase fill:#475569,stroke:#334155,stroke-width:2px,color:#ffffff;
|
|
91
|
-
classDef decision fill:#d97706,stroke:#b45309,stroke-width:2px,color:#ffffff;
|
|
92
|
-
classDef highlight fill:#dc2626,stroke:#b91c1c,stroke-width:2px,color:#ffffff;
|
|
93
|
-
|
|
94
|
-
A(Step 1: Ticket Creation):::action --> B(Step 2: Agent Execution):::phase
|
|
95
|
-
B --> C(Step 3: Verification & Closure):::phase
|
|
96
|
-
|
|
97
|
-
C --> D{Issues Found?}:::decision
|
|
98
|
-
|
|
99
|
-
D -->|Yes| E(MANDATORY Follow-up Chaining):::highlight
|
|
100
|
-
E --> F(Step 4: Archiving):::action
|
|
101
|
-
D -->|No| F
|
|
102
|
-
```
|
|
70
|
+
### 다음 개선 방향
|
|
71
|
+
|
|
72
|
+
다음 단계는 이 워크플로우를 더 잘 보이고 더 쉽게 도입하게 만드는 것입니다. 첫 실행 점검을 더 명확히 하고, CLI/RAG 결과에 짧은 재각인 신호를 붙이며, README/npm 포지셔닝을 강화하고, active ticket, phase, open ticket count, DeukAgentContext memory status를 보여주는 companion 표면을 준비하는 방향입니다. 목표는 팀이 쓰는 코딩 에이전트를 바꾸지 않고도 같은 작업 규율을 자연스럽게 얻는 것입니다.
|
|
103
73
|
|
|
104
|
-
|
|
74
|
+
### 📚 상세 문서
|
|
75
|
+
| 문서 | 용도 |
|
|
76
|
+
|---|---|
|
|
77
|
+
| [docs/usage-guide.ko.md](docs/usage-guide.ko.md) | **[추천]** 실전 배포 및 단계별 사용 가이드 |
|
|
78
|
+
| [docs/architecture.ko.md](docs/architecture.ko.md) | 고수준 시스템 구조 및 시각적 인포그래픽 |
|
|
79
|
+
| [docs/how-it-works.ko.md](docs/how-it-works.ko.md) | 상세 CLI 메커니즘, 초기화 생명주기 및 파일 역할 |
|
|
80
|
+
| [docs/principles.ko.md](docs/principles.ko.md) | 설계 철학: Hub-Spoke, Zero-Legacy, 소스 주권 |
|
|
81
|
+
| [docs/product-positioning-research.ko.md](docs/product-positioning-research.ko.md) | AI 코딩 에이전트 가드레일 제품 포지셔닝 리서치 |
|
|
82
|
+
| [docs/karpathy-skills-vs-deukagent-positioning.ko.md](docs/karpathy-skills-vs-deukagent-positioning.ko.md) | Karpathy식 skill, DeukAgentRules, DeukAgentContext 심층 비교 |
|
|
83
|
+
| [docs/vision-agent-guardrails.ko.md](docs/vision-agent-guardrails.ko.md) | 멀티 에이전트 가드레일 허브 비전 문서 |
|
|
84
|
+
| [docs/organic-growth-plan.ko.md](docs/organic-growth-plan.ko.md) | VS Code, Open VSX, GitHub, 스킬 루프 기반 오가닉 유입 계획 |
|
|
85
|
+
| **English Docs** | [README.md](README.md) · [docs/architecture.md](docs/architecture.md) |
|
|
105
86
|
|
|
106
|
-
|
|
107
|
-
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 🚀 빠른 시작 (Quick Start)
|
|
90
|
+
|
|
91
|
+
가장 빠르게 DeukAgentRules를 프로젝트에 도입하는 방법입니다.
|
|
108
92
|
|
|
109
93
|
```bash
|
|
110
|
-
|
|
94
|
+
# 1. 글로벌 설치
|
|
95
|
+
npm install -g deuk-agent-rule
|
|
96
|
+
|
|
97
|
+
# 2. 프로젝트 초기화 (AGENTS.md 및 설정 생성)
|
|
98
|
+
deuk-agent-rule init
|
|
99
|
+
|
|
100
|
+
# 3. 첫 번째 작업 티켓 생성
|
|
101
|
+
deuk-agent-rule ticket create --topic my-first-task
|
|
111
102
|
```
|
|
112
|
-
명령어를 치면 `.deuk-agent-ticket/` 폴더 내에 템플릿이 입혀진 `TICKET-ui-refactoring.md` 파일이 생성됩니다.
|
|
113
103
|
|
|
114
|
-
|
|
115
|
-
> **티켓 작성 (주의사항)**: 새로 생성된 티켓에는 **YAML Front Matter** (`--- id: ... ---`)가 포함되어 있습니다. 내용을 작성할 때 **파일 전체를 덮어쓰지 마십시오.** 반드시 헤더 아래에 내용을 추가하거나 부분 편집 도구를 사용하여 기존 YAML 메타데이터를 보존해야 합니다. 프론트매터가 삭제되면 티켓 인덱싱 시스템이 파손됩니다.
|
|
104
|
+
자세한 실전 활용법은 **[실전 사용 가이드](docs/usage-guide.ko.md)**를 참조하세요.
|
|
116
105
|
|
|
117
|
-
|
|
106
|
+
## 🛠️ 설치 및 설정
|
|
118
107
|
|
|
119
|
-
###
|
|
120
|
-
|
|
121
|
-
> *"방금 발급된 `.deuk-agent-ticket/TICKET-ui-refactoring.md` 티켓을 열고, 명시된 타겟 서브모듈 내에서 체크리스트를 따라 작업을 시작해"*
|
|
108
|
+
### 1. 글로벌 설치 (일반 사용자)
|
|
109
|
+
\`npx\` 캐시 문제와 "로컬 트랩"을 방지하기 위해 글로벌 설치가 엄격히 권장됩니다.
|
|
122
110
|
|
|
123
|
-
|
|
111
|
+
\`\`\`bash
|
|
112
|
+
npm install -g deuk-agent-rule
|
|
113
|
+
deuk-agent-rule init
|
|
114
|
+
\`\`\`
|
|
124
115
|
|
|
125
|
-
###
|
|
126
|
-
|
|
127
|
-
모든 작업이 끝나면 Phase 상태를 `[Phase 완료]`로 승급시킵니다. 터미널 명령어를 직접 치는 대신, **AI 챗봇 프롬프트에 "현재 진행 중인 티켓 리스트를 보여줘" 또는 "완료된 티켓들을 보고서와 함께 아카이브 해 줘"라고 자연어로 지시**하여 AI가 알아서 CLI를 호출해 리스트업 및 관리하게 위임할 수도 있습니다.
|
|
128
|
-
```bash
|
|
129
|
-
deuk-agent-rule ticket list
|
|
130
|
-
```
|
|
131
|
-
```text
|
|
132
|
-
# STATUS SUBMODULE GROUP PROJECT CREATED TITLE
|
|
133
|
-
1 [ ] DeukPack sub global 2026-04-18T13:34:32.484Z naming-consistency
|
|
134
|
-
```
|
|
116
|
+
### 2. 로컬 소스 개발 (메인테이너/파워 유저)
|
|
117
|
+
v3.0은 **Global CLI Proxy**를 도입했습니다. \`DeukAgentRules\` 워크스페이스 내부에서 개발 중이라면, 글로벌 명령이 자동으로 로컬 소스로 실행을 위임합니다.
|
|
135
118
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
119
|
+
\`\`\`bash
|
|
120
|
+
cd ~/workspace/DeukAgentRules
|
|
121
|
+
sudo npm link
|
|
122
|
+
deuk-agent-rule init # 자동으로 로컬 scripts/cli.mjs로 라우팅됨
|
|
123
|
+
\`\`\`
|
|
139
124
|
|
|
140
|
-
|
|
141
|
-
1. **오류 분석**: 잠재적인 빌드 경고나 깨진 의존성(Side Effects) 전수 조사.
|
|
142
|
-
2. **규약 정합성**: 수정된 파일명과 클래스명이 프로젝트 아키텍처 가이드와 완벽히 일치하는지 재검증.
|
|
143
|
-
3. **잠재 이슈 보고**: 하위 호환성 파괴 위험이나 네이티브 빌드 제약사항 등 미검증 시나리오 리스트업.
|
|
125
|
+
Codex나 Copilot을 주로 사용한다면 이 구성이 일상 운영에 가장 적합합니다. 현재는 이 두 환경에서 Hub-Spoke와 티켓 기반 워크플로우가 가장 부드럽게 동작합니다.
|
|
144
126
|
|
|
145
|
-
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 🎯 프로토콜 워크플로우
|
|
130
|
+
|
|
131
|
+
워크플로우는 **티켓 기반 실행 계약(Ticket-Driven Execution Contract)**에 의해 통제됩니다.
|
|
132
|
+
|
|
133
|
+
1. **스캐폴딩 (Scaffolding)**: `init` 명령어가 프로젝트의 성격을 파악하고 `.deuk-agent/templates/`와 `AGENTS.md` (혹은 `PROJECT_RULE.md` 포인터)를 자동 배치합니다.
|
|
134
|
+
2. **티켓팅 (Plan Phase)**: `ticket create --topic feature-x` 명령어로 새로운 작업 지시서를 생성합니다. 이때 에이전트는 Plan Mode로 동작하며 코드를 수정할 수 없고 계획 수립에만 집중합니다.
|
|
135
|
+
3. **실행 (Execute Phase)**: 사용자의 승인을 받은 후, 에이전트는 **타겟 서브모듈**에 고정되어 실질적인 코드 작성을 수행합니다. MCP Soft Gate가 인가되지 않은 파일의 수정을 감시합니다.
|
|
136
|
+
4. **검증 (Verify Phase)**: 개발 작업 종료 전 사이드 이펙트 감사(Audit) 및 컨벤션(DC-DUP 등 아키텍처 규칙) 체크를 수행합니다.
|
|
137
|
+
5. **아카이빙 (Archive Phase)**: 완료된 티켓은 Zero-Token 지식 증류를 거쳐 `reports/`로 이동하며, 이 데이터는 DeukAgentContext 벡터 데이터베이스에 저장되어 영구적인 **엔지니어링 메모리 엔진**으로 작동합니다.
|
|
146
138
|
|
|
147
139
|
---
|
|
148
140
|
|
|
149
|
-
##
|
|
141
|
+
## ⚙️ CLI 주요 명령어
|
|
150
142
|
|
|
151
|
-
|
|
143
|
+
자연어 프롬프트를 통해 AI 에이전트에게 직접 시키세요!
|
|
152
144
|
|
|
153
|
-
|
|
154
|
-
|
|
145
|
+
| 명령어 | 설명 / 프롬프트 예시 |
|
|
146
|
+
|--------|------|
|
|
147
|
+
| \`deuk-agent-rule init\` | 규칙 허브와 스포크 포인터를 동기화합니다. <br>💬 *"프로젝트 규칙 초기화해줘"* |
|
|
148
|
+
| \`deuk-agent-rule ticket create\` | 새로운 실행 계약(티켓)을 발행합니다. `--summary`와 `--plan-body`를 함께 넣어 1회 생성으로 Phase 1을 끝내는 것을 권장합니다. <br>💬 *"refactor-ui 티켓을 APC까지 채워서 만들어줘"* |
|
|
149
|
+
| \`deuk-agent-rule ticket list\` | 활성화된 작업 지시서를 표시합니다. <br>💬 *"활성 티켓 목록 보여줘"* |
|
|
150
|
+
| \`deuk-agent-rule ticket archive\` | 완료된 작업을 안전하게 보관합니다. <br>💬 *"068번 티켓 아카이브해줘"* |
|
|
151
|
+
| \`deuk-agent-rule skill list\` | `safe-refactor`, `generated-file-guard`, `context-recall` 같은 first-party 얇은 skill을 보여줍니다. |
|
|
152
|
+
| \`deuk-agent-rule skill add --skill safe-refactor\` | TDW/APC 권한 모델을 바꾸지 않고 로컬 skill registry에 skill을 설치합니다. |
|
|
153
|
+
| \`deuk-agent-rule skill expose --platform claude\` | 설치된 skill을 플랫폼별 얇은 wrapper로 노출합니다. MVP 지원 플랫폼은 `claude`, `cursor`입니다. |
|
|
154
|
+
| \`deuk-agent-rule skill lint\` | skill 파일이 중복 workflow 계약이나 generated 파일 직접 수정 지침을 담지 않았는지 검사합니다. |
|
|
155
|
+
|
|
156
|
+
### 티켓 파일 깃 관리 원칙
|
|
155
157
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
+
- `.deuk-agent/tickets/**/*.md`와 `INDEX*.json`은 CLI가 바꾼 결과만 반영합니다.
|
|
159
|
+
- 티켓 본문만 커밋하고 index를 빼먹지 마세요. 다음 작업에서 상태가 맞지 않을 수 있습니다.
|
|
160
|
+
- 생성이 실패한 뒤 티켓 파일을 손으로 만들거나 frontmatter로 상태를 바로 바꾸지 마세요.
|
|
161
|
+
- `telemetry.jsonl`은 보통 실행 로그이므로 일반 코드 커밋에는 넣지 않는 편이 낫습니다.
|
|
162
|
+
- 작업을 마쳤다면 가능하면 `ticket archive`까지 끝낸 뒤 커밋해 active/archive 흐름이 함께 남도록 하세요.
|
|
163
|
+
|
|
164
|
+
자세한 사용 예시는 [docs/usage-guide.ko.md](docs/usage-guide.ko.md)를 참고하세요.
|
|
158
165
|
|
|
159
166
|
---
|
|
160
167
|
|
|
161
|
-
##
|
|
168
|
+
## 관련 아이디어와 영감
|
|
162
169
|
|
|
163
|
-
|
|
170
|
+
DeukAgentRules는 [andrej-karpathy-skills](https://github.com/forrestchang/andrej-karpathy-skills)처럼
|
|
171
|
+
AI 코딩 에이전트가 잘못 가정하고, 과하게 구현하고, 요청 밖 코드를 수정하는 문제의식과 맞닿아 있습니다.
|
|
164
172
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
> 일반 사용자는 해당되지 않습니다. `DeukAgentRules` 저장소 내부 소스코드를 직접 수정하며 로컬 패치를 즉시 테스트하려는 메인테이너의 경우, 글로벌 캐시된 `npx deuk-agent-rule` 대신 `node ./scripts/cli.mjs`를 직접 호출해야 합니다.
|
|
168
|
-
> - **Linux/macOS**: 로컬 심링크(`npm link`) 생성 시 `sudo` 권한이 필요할 수 있으며, 스크립트를 직접 실행(`./scripts/cli.mjs`)할 경우 실행 권한(`chmod +x`) 이슈가 발생할 수 있으므로 `node` 명령어를 통한 명시적 호출이 가장 안전합니다.
|
|
169
|
-
> - **Windows**: `npm link` 사용 시 관리자 권한(또는 개발자 모드)이 필요하며, PowerShell 스크립트 실행 정책(Execution Policy)에 의해 래퍼 스크립트가 차단될 수 있으므로 권한 제약이 없는 `node ./scripts/cli.mjs` 호출 방식을 권장합니다.
|
|
173
|
+
다만 DeukAgentRules는 프롬프트 수준의 지침 파일을 넘어 티켓, Phase Gate,
|
|
174
|
+
스코프 계약, 검증, 아카이브 가능한 엔지니어링 메모리까지 제공하는 레포 단위 워크플로우 계층입니다.
|
|
170
175
|
|
|
171
|
-
|
|
172
|
-
|
|
176
|
+
first-party skill MVP는 이 경계를 명확히 유지합니다. skill은 반복 실패 패턴을 다루는 짧은
|
|
177
|
+
`SKILL.md` playbook이고, workflow 권한의 단일 기준은 계속 `core-rules/AGENTS.md`입니다.
|
|
178
|
+
`skill add`와 `skill expose`로 Claude/Cursor에 playbook을 노출하되, 전체 rule contract를 복사하지 않습니다.
|
|
173
179
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
| `deuk-agent-rule ticket upgrade` | 과거 티켓 구조를 V2(YAML FM)로 마이그레이션 및 서브모듈 분산(DEFRAG) 실행 <br>💬 *"티켓 V2 업그레이드"* |
|
|
181
|
-
| `deuk-agent-rule ticket archive ...` | 완료된 티켓을 안전하게 보관소(`archive/`)로 이동 및 갱신 <br>💬 *"현재 티켓 아카이브해 (보고서 첨부)"* |
|
|
182
|
-
| `deuk-agent-rule ticket reports` | 영구 보관된 에이전트 작업 보고서(`reports/`) 목록 조회 <br>💬 *"완료된 티켓 보고서 목록"* |
|
|
183
|
-
|
|
184
|
-
### Init 고급 옵션
|
|
185
|
-
| 플래그 | 기본값 | 설명 |
|
|
186
|
-
|--------|--------|------|
|
|
187
|
-
| `--non-interactive` | 끔 | CI/스크립트용. 대화형 인터페이스를 끄고 기존 설정(`.config.json`)을 채택 |
|
|
188
|
-
| `--interactive` | 끔 | 이미 생성된 설정값이 있어도 무시하고 강제로 다시 묻기 설정 시작 |
|
|
189
|
-
| `--clean` | 끔 | 기존 템플릿과 설정 파일을 강제로 삭제한 뒤 초기화 진행 |
|
|
190
|
-
| `--cwd <path>` | 현재 디렉터리 | 타깃이 되는 프로젝트의 워크스페이스 Root 절대/상대경로 지정 |
|
|
191
|
-
| `--dry-run` | 끔 | 실제 파일을 생성/변조하지 않고 콘솔에 동작 결과 텍스트만 출력 |
|
|
192
|
-
| `--backup` | 끔 | `AGENTS.md`나 룰 파일 덮어쓰기 전 원본을 `*.bak`으로 안전 보관 |
|
|
193
|
-
|
|
194
|
-
## 📦 릴리즈 및 체인지로그 (Changelog) 정책
|
|
195
|
-
|
|
196
|
-
본 패키지(`DeukAgentRules`)의 시스템 템플릿 추가 및 기능 변경을 배포하기 전에 반드시 다음 절차를 따라 릴리즈 프로세스를 진행해야 합니다:
|
|
197
|
-
|
|
198
|
-
1. **변경사항 커밋**: 문서 및 룰 스크립트 수정 완료 후 `git add` & `git commit` (Conventional Commits 형식 권장, ex: `feat: ...`, `fix: ...`)
|
|
199
|
-
2. **버전 펌핑 및 체인지로그 자동 생성**:
|
|
200
|
-
* Patch (버그 수정): `npm run bump:patch`
|
|
201
|
-
* Minor (기능 추가): `npm run bump:minor`
|
|
202
|
-
* Major (룰/템플릿 대격변): `npm run bump:major`
|
|
203
|
-
|
|
204
|
-
위 명령어를 실행하면 내부적으로 `commit-and-tag-version` 툴이 작동되어 `package.json` 버전 상향, `CHANGELOG.md` 자동 갱신 요약, 릴리즈 커밋, 그리고 태깅 작업까지 한번에 즉시 처리됩니다.
|
|
205
|
-
3. **분산 배포 보정 (OSS Sync)**: 에이전트를 통해 `npm run sync:oss`를 실행하면 자동화 스크립트가 릴리즈 에셋을 스캔하여 OSS 미러 저장소(`DeukAgentRulesOSS`)로 최종적인 퍼블리시 버전을 복제 및 반영합니다.
|
|
180
|
+
\`\`\`bash
|
|
181
|
+
npx deuk-agent-rule init
|
|
182
|
+
npx deuk-agent-rule skill list
|
|
183
|
+
npx deuk-agent-rule skill add --skill safe-refactor
|
|
184
|
+
npx deuk-agent-rule skill expose --platform claude
|
|
185
|
+
\`\`\`
|
|
206
186
|
|
|
207
187
|
---
|
|
208
188
|
|
|
209
|
-
### 🏷️
|
|
210
|
-
|
|
189
|
+
### 🏷️ 검색 태그
|
|
190
|
+
\`#AI-Orchestration\` \`#Agentic-Workflow\` \`#DeukFamily\` \`#Engineering-Intelligence\` \`#Zero-Legacy\` \`#High-Signal-Coding\` \`#AI-Protocol\` \`#CursorRules\` \`#CopilotInstructions\` \`#ClaudeCode\` \`#ClaudeMD\` \`#AgentsMD\` \`#AgentSkills\` \`#CodingAgent\` \`#AI-Guardrails\` \`#LLM-Control-Plane\`
|