SharpClaw Code
.NET 10
C%23 13
MCP
Cross-platform
SharpClaw Code는 AI 개발 도구, 에이전트형 CLI(CLI), 그리고 MCP 지원 워크플로우를 구축하는 팀을 위한 C# 및 .NET 네이티브 코딩 에이전트 런타임입니다.
이는 내구성 있는 세션(durable sessions), 권한 인식 도구 실행(permission-aware tool execution), 제공자 추상화(provider abstraction), 구조화된 원격 측정(structured telemetry), 그리고 실제 .NET 시스템에 맞춰진 자동화 친화적인 명령줄 인터페이스를 결합합니다: 명시적이고, 테스트 가능하며, 운영적으로 가독성이 높습니다.
해당 레포지토리는 이제 터미널 우선 에이전트 런타임과 SharpClaw.Code를 통한 임베디드 호스트 SDK를 모두 제공하여, 독립형 CLI, 로컬 에디터 백엔드, 그리고 테넌트 인식 임베디드 서비스에 활용 가능하게 만들었습니다.
개요
SharpClaw Code는 .NET 생태계에서 코딩 에이전트 경험을 구축하고 운영하기 위한 오픈 소스 런타임입니다. claude code가 C#의 opencode와 만난 느낌이라고 생각할 수 있습니다.
이는 다음을 위해 설계되었습니다:
-
임시 스크립트를 조합하는 대신 C# 코딩 에이전트 런타임을 원하는 팀
-
강력한 기계 판독형 출력을 갖춘 AI 기반 CLI 도구를 구축하는 개발자
-
MCP 통합, 플러그인 검색(plugin discovery), 그리고 권한 인식 도구 실행이 필요한 제품
-
내구성 있는 세션 상태, 추가 전용 기록(append-only history), 그리고 재현 가능한 런타임 이벤트가 필요한 워크플로우
-
Windows 안전 동작에 대한 의도적인 주의를 기울인 크로스 플랫폼 환경
-
.NET 네이티브 아키텍처: .NET 10, C# 13을 중심으로 하며, 관용적인 DI(Dependency Injection), System.Text.Json, System.CommandLine, 그리고 Spectre.Console을 활용합니다.
-
내구성 있는 런타임 모델 (Durable runtime model): 세션, 체크포인트, 추가 전용 이벤트 로그(append-only event logs), 내보내기/가져오기 흐름(export/import flows), 그리고 복구 인식 오케스트레이션(recovery-aware orchestration)을 지원합니다.
-
디폴트 안전성 (Safety by default): 권한 모드, 승인 게이트(approval gates), 작업 공간 경계 강제(workspace-boundary enforcement), 그리고 매개된 도구 실행(mediated tool execution) 기능을 제공합니다.
-
확장 가능한 표면 (Extensible surface): 프로바이더(providers), MCP 서버, 플러그인, 스킬(skills), ACP 호스팅, 런타임 명령을 명시적인 이음매(explicit seams)를 통해 통합할 수 있습니다.
-
자동화 준비 인터페이스 (Automation-ready interface): 안정적인 JSON 출력, 운영 명령어(operational commands), 그리고 사람과 스크립트 모두에게 작동하는 깔끔한 CLI 우선 워크플로우를 제공합니다.
빠른 시작 (Quick Start)
요구 사항 (Requirements)
프레임워크 의존형 NuGet CLI 도구와 집계 SDK 패키지는 ASP.NET Core 10 공유 런타임(shared runtime)을 필요로 하며, 이는 .NET 10 SDK에 포함되어 있습니다. 자급자족적 네이티브 아카이브(Self-contained native archives)에는 필요한 런타임이 포함됩니다.
버전 태그가 지정된 릴리스는 x64 및 ARM64용 Windows, Linux, macOS의 네이티브 바이너리를 포함하도록 구성되었습니다. 일치하는 아카이브를 추출하고 sharpclaw version을 실행하면 됩니다. 기본적인 명령어는 설치된 .NET 런타임이 필요하지 않습니다. 하지만 시맨틱 프로젝트 로딩(Semantic project loading) 및 빌드/테스트 검증에는 여전히 .NET SDK와 복원된 에셋(restored assets)이 필요합니다. 패키징 및 스모크 게이트에 대한 자세한 내용은 바이너리 배포를 참조하십시오.
dotnet tool install --global SharpClaw.Code.Cli --prerelease
권한, 전제 조건 및 예시에 대한 자세한 내용은 .NET 인텔리전스, 검증(verification), 그리고 MCP 서버를 참조하십시오.
빌드 및 테스트 (Build and test)
git clone https://github.com/clawdotnet/SharpClawCode.git
cd SharpClawCode
dotnet build SharpClawCode.sln
...
CLI 실행 (Run the CLI)
dotnet run --project src/SharpClaw.Code.Cli -- [arguments]
일반 CLI 흐름
dotnet run --project src/SharpClaw.Code.Cli
dotnet run --project src/SharpClaw.Code.Cli -- repl
...
내장된 REPL 슬래시 명령어에는 /help, /status, /doctor, /session, /commands, /mode, /editor, /export, /undo, /redo, 그리고 /version이 포함됩니다. /help를 사용하여 발견된 워크스페이스 사용자 정의 명령어를 포함한 활성 명령어 세트를 확인할 수 있습니다.
패리티 지향(Parity-oriented) 명령어에는 다음이 추가되었습니다:
index / /index
memory / /memory
models / /models
usage / /usage
cost / /cost
stats / /stats
connect / /connect
hooks / /hooks
skills / /skills
agents / /agents
todo / /todo
share / /share
unshare / /unshare
compact / /compact
serve / /serve
worktree / /worktree
/sessions (/session list의 더 사용자 친화적인 별칭)
주요 워크플로우 모드:
build: 일반 코딩 에이전트(coding-agent) 실행
plan: 도구 변경을 차단하고 계획 소유 세션의 할 일 목록(todo)과 동기화하는 구조적 심층 계획(structured deep planning)
spec: docs/superpowers/specs/<date>-<slug>/ 아래에 Kiro 스타일 사양(spec) 아티팩트를 생성합니다.
핵심 기능
| 기능 | 중요한 이유 |
|---|
| 영속적인 세션 (Durable sessions) | 더 오래 실행되는 에이전트 작업의 대화 상태, 턴 기록, 체크포인트 및 복구 메타데이터를 보존합니다. |
| ... | |
적합한 사용 사례
- C# AI 코딩 어시스턴트 구축
- 로컬 또는 호스팅되는 코딩 에이전트 CLI 실행
- .NET MCP 클라이언트/런타임 생성
- 에이전트 워크플로우에 세션 영속성 및 감사 가능성(auditability) 추가
- 애플리케이션 핵심을 프레임워크별 코드에 포함하지 않으면서 Microsoft Agent Framework 기반 구축
솔루션 레이아웃
예시 호스트
솔루션에는 examples/ 아래에 임베드 가능한 호스트 샘플이 포함되어 있습니다.
- 직접적인 SDK 프롬프트 실행을 위한
MinimalConsoleAgent
- HTTP 호스팅 런타임 표면(surface)을 위한
WebApiAgent
- 생명 주기 관리형 백그라운드 호스팅을 위한
WorkerServiceHost
- MCP 인식 호스트 구성을 위한
McpToolAgent
McpToolAgent는 또한 모델 제공자 키 없이 익명의 웹 검색 및 페이지 추출을 위해 SharpClaw 도구 레지스트리(tool registry)와 권한 실행기(permission executor)를 통해 실행 가능한 병렬 검색 MCP 예제를 제공합니다.
테스트 (Testing)
dotnet test SharpClawCode.sln
...
| 프로젝트 | 목적 |
|---|
SharpClaw.Code.UnitTests | 도구, 권한, 세션, 제공자(providers), 상태 기계(state machine), 원격 측정(telemetry), 직렬화 등을 포함하는 빠른 단위 테스트 |
| ... | |
전역 CLI 옵션 (Global CLI Options)
| 옵션 | 설명 |
|---|
--cwd <path> | 작업 디렉터리; 현재 디렉터리에 기본값 설정 |
| ... | |
하위 명령어에는 prompt, repl, doctor, status, session, index, memory, models, usage, cost, stats, connect, hooks, skills, agents, todo, share, unshare, compact, serve, commands, worktree, mcp, plugins, tool-packages, acp, bridge, 및 version이 포함됩니다. | |
문서화 맵 (Documentation Map)
구성 (Configuration)
SharpClaw Code는 표준 .NET 구성 스택(appsettings.json, 환경 변수, CLI 인자)과 계층화된 SharpClaw JSONC 설정 파일을 모두 사용합니다:
- 사용자 구성: Unix 유사 시스템의 경우
~/.config/sharpclaw/config.jsonc
- Windows 사용자 구성:
%AppData%\SharpClaw\config.jsonc
- 작업 공간 구성:
<workspace>/sharpclaw.jsonc
우선순위는 다음과 같습니다:
CLI 인자 > workspace sharpclaw.jsonc > user config.jsonc > appsettings/environment 기본값
주요 런타임 구성 섹션(Key runtime configuration sections):
현재 범위 (Current Scope)
- 공유 도구 계층(shared tooling layer)은 런타임 전반에 걸쳐 권한 인식(permission-aware) 기능을 갖추고 있습니다.
- 현재 런타임에는 다중 턴(multi-turn) 제공자 기반 도구 실행, 세션 기반 프롬프트 재생(prompt replay), 영속적인 대화 기록이 포함되어 있습니다.
- 에이전트 주도 도구 호출은 직접적인 도구 실행에 사용되는 것과 동일한 승인 및 허용 목록 적용 경로를 거치며, 호출자 인식 상호작용 승인 동작을 포함합니다.
- 작업 공간 인덱싱(Workspace indexing), 심볼 검색(symbol search), 영속 메모리(durable memory)는 CLI 명령과 내장 도구를 통해 사용할 수 있습니다.
- ACP는 이제 에디터 컨텍스트, 승인 왕복 처리(approval round-trips), 모델 카탈로그 쿼리, 작업 공간 검색/인덱스 작업, 그리고 메모리 작업을 수행할 수 있게 되었으며, 이는 단일 전송 계층(single transport)을 통해 실제 VS Code 클라이언트를 구현하기에 충분합니다.
- OpenAI와 호환되는 로컬 런타임 프로필은 Ollama, llama.cpp 및 유사한 엔드포인트를 프로필 인식 인증(profile-aware auth)과 모델 검색 기능을 갖추어 노출할 수 있습니다.
- 내장 호스트는 신뢰 헤더(trusted-header) 또는 OIDC 기반 승인 ID, 테넌트 인식 사용량 측정(tenant-aware usage metering), 웹훅/SSE 이벤트 스트리밍, 그리고 제공자 카탈로그, 인덱스 상태, 검색, 메모리 검사 및 도구 패키지 관리를 위한 관리자 API를 선택적으로 사용할 수 있습니다.
- CLI는
usage summary, usage detail, tool-packages 명령을 통해 이러한 엔터프라이즈 표면(enterprise surfaces)을 미러링하며, 기존의 작업 공간 로컬 usage, cost, 및 stats 흐름을 유지합니다.
- Operational commands는
--output-format json을 통해 안정적인 JSON 출력을 지원하여, 스크립트, 에디터 및 자동화에 적합합니다.
- 내장 서버는 프롬프트, 세션, 관리 제어(admin control), 계량(metering), 이벤트 스트리밍 등을 위한 로컬 JSON 및 SSE 엔드포인트를 노출합니다.
기여 (Contributing)
.NET 10과 C# 13을 사용하세요. 프로젝트 경계, 직렬화 규칙(serialization conventions), 로깅 기대치, 크로스 플랫폼 규칙에 대해서는 AGENTS.md를 따르세요.
PR을 열기 전에:
dotnet build SharpClawCode.sln
dotnet test SharpClawCode.sln
dotnet build examples/WebApiAgent/WebApiAgent.csproj
...
라이선스 (License)
이 프로젝트는 MIT License에 따라 라이선스가 부여됩니다.
리포지토리: github.com/clawdotnet/SharpClawCode