feat(agent): deprecate and completely remove cline agent support

- Delete adapters/cline.py and unregister from registry.py
- Remove cline branches from lib.sh and all 8 skill scripts (create, resume, stop, status, reconcile, update_yaml_resumed, resolve_session_id, orc_onboard)
- Narrow own-key mapping dictionaries across lib_py core modules to 4 supported agents
- Delete cline-exclusive tests and retarget shared fixtures to grok/hermes/claude
- Update skills documentation and installation guides (439 passed, 0 failures)
- Archive cline deprecation consensus and review reports
This commit is contained in:
2026-08-28 22:38:48 +09:00
parent e0c0c107f5
commit f57cd5cdde
40 changed files with 530 additions and 411 deletions
+5 -8
View File
@@ -36,10 +36,10 @@ MAM은 에이전트별 동작 특성(TUI 프롬프트 패턴, 세션 복원 인
│ │ • spawn_spec(), resume_spec(), auth_ok(), discover() │ │
│ └────────────────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌────────────────────┬──────────────────────────────────────────────────────────────┬─────────────────────┐ │
│ ┌────────────────────┬──────────────────────────────────────────────────────────────┬─────────────────────┐ │
│ ▼ ▼ ▼ ▼ ▼ │
│ ClaudeAgentAdapter AgyAgentAdapter ClineAgentAdapter HermesAgentAdapter [NewAgentAdapter] │
│ (Claude Code) (Antigravity) (Cline) (Hermes) (Grok / Codex / ...) │
│ ClaudeAgentAdapter AgyAgentAdapter HermesAgentAdapter GrokAgentAdapter [NewAgentAdapter] │
│ (Claude Code) (Antigravity) (Hermes) (Grok) (Codex / ...)
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
```
@@ -186,7 +186,6 @@ _ADAPTERS: Dict[str, BaseAgentAdapter] = {
'claude': ClaudeAgentAdapter(),
'agy': AgyAgentAdapter(),
'hermes': HermesAgentAdapter(),
'cline': ClineAgentAdapter(),
'grok': GrokAgentAdapter(), # 👈 추가
}
```
@@ -209,13 +208,11 @@ case "$name" in
*-creator-claude|*-planner-claude|*-reviewer-claude) kind="claude" ;;
*-creator-agy|*-planner-agy|*-reviewer-agy) kind="agy" ;;
*-creator-hermes|*-planner-hermes|*-reviewer-hermes) kind="hermes" ;;
*-creator-cline|*-planner-cline|*-reviewer-cline) kind="cline" ;;
*-creator-grok|*-planner-grok|*-reviewer-grok) kind="grok" ;; # 👈 추가
*)
if echo "$name" | grep -qi "claude"; then kind="claude"
elif echo "$name" | grep -qi "agy"; then kind="agy"
elif echo "$name" | grep -qi "hermes"; then kind="hermes"
elif echo "$name" | grep -qi "cline"; then kind="cline"
elif echo "$name" | grep -qi "grok"; then kind="grok" # 👈 추가
else kind="generic"; fi
;;
@@ -225,7 +222,7 @@ esac
#### 2) 바이너리 이름 중복 제거 튜플 (`lib.sh:385`)
`herdr agent start` 호출 시 첫 번째 인자로 전달되는 바이너리 중복을 방지하기 위해 등록합니다:
```bash
if [[ " claude agy hermes cline grok " =~ " ${cmd_binary} " ]]; then
if [[ " claude agy hermes grok " =~ " ${cmd_binary} " ]]; then
```
---
@@ -248,7 +245,7 @@ if [[ " claude agy hermes cline grok " =~ " ${cmd_binary} " ]]; then
def test_agent_adapter_registry():
"""모든 등록된 에이전트 어댑터 인스턴스 검증"""
adapters = get_all_adapters()
assert set(adapters.keys()) == {'claude', 'agy', 'hermes', 'cline', 'grok'}
assert set(adapters.keys()) == {'claude', 'agy', 'hermes', 'grok'}
def test_adapter_required_properties():