symposium-dev/symposium
AI the Rust Way
해결하는 문제
AI 코딩 에이전트는 범용적이며 프로젝트에서 사용하는 Rust 크레이트의 세부 정보를 알지 못합니다. 추가 설정 없이는 특정 의존성에 적용되는 중요한 규칙, 주의 사항 또는 도구를 놓치게 됩니다. Symposium은 프로젝트의 의존성을 크레이트 작성자가 게시한 가이던스에 자동으로 연결하여 이 문제를 해결하므로, 에이전트가 작업 중인 환경에서 관련 스킬과 훅을 즉시 파악할 수 있습니다.
작동 방식
Symposium은 cargo metadata를 사용하여 Rust 워크스페이스의 의존성 그래프를 읽습니다. 그런 다음 각 플러그인과 스킬의 "술어"(예: depends-on("serde") 또는 path_exists(...)와 같은 조건)를 해당 그래프에 대해 평가합니다. 술어가 일치하면 Symposium은 관련 확장 기능을 사용하는 AI 에이전트에 설치합니다:
- Skills: 에이전트가 가이던스로 로드하는 컨텍스트가 포함된
SKILL.md파일. - Hooks: 에이전트가 작업(코드 작성 또는 명령 실행 등)을 수행할 때 실행되는 검사 또는 변환.
- MCP servers: Model Context Protocol을 통해 에이전트에 노출되는 도구 및 리소스.
cargo agents init을 한 번 실행하여 사용하는 에이전트(예: Claude Code, Codex CLI, GitHub Copilot)를 지정합니다. 그 이후에는 cargo agents sync를 실행하면 플러그인이 현재 워크스페이스와 일치하는지 확인하고 설치된 스킬을 업데이트합니다. ~/.symposium/config.toml의 단일 설정 파일이 각 에이전트가 기대하는 파일로 변환되므로, 같은 프로젝트의 팀원들이 서로 다른 에이전트를 사용하더라도 설정을 중복할 필요가 없습니다.
대상 사용자
- Rust 개발자: AI 코딩 에이전트를 사용하며 수동 설정 없이 프로젝트를 인식하는 가이던스를 원하는 개발자.
- 크레이트 작성자: 라이브러리와 함께 스킬, 훅, MCP 서버를 배포하여 사용자가 자동으로 버전이 일치하는 지원을 받도록 하려는 작성자.
- 팀: Rust 워크스페이스를 공유하며, 팀원들이 서로 다른 에이전트를 선호하더라도 일관된 에이전트 설정을 유지해야 하는 팀.
주요 특징
- Agent-agnostic: 단일 설정으로 Antigravity CLI, Claude Code, Codex CLI, GitHub Copilot, Kiro, OpenCode, Goose와 호환됩니다(에이전트별 지원 범위는 다를 수 있음).
- Dependency-driven matching: 워크스페이스의 크레이트가 플러그인의 술어와 일치할 때만 확장 기능이 설치됩니다.
- Auto-sync: 기본적으로 훅은 호출될 때마다 의존성을 다시 스캔하여 스킬을 최신 상태로 유지합니다.
- Plugin sources: 플러그인은 내장 레지스트리, git 저장소, 로컬 디렉토리 또는
[[plugins]]참조를 통해 크레이트에서 직접 가져올 수 있습니다. - Crate-author friendly: 크레이트에
skills/디렉토리나Symposium.toml을 추가하여 가이던스를 배포할 수 있습니다. - Flexible configuration:
auto-sync,hook-scope,auto-update와 같은 옵션은~/.symposium/config.toml에서 조정할 수 있습니다. - Open source: MIT 또는 Apache-2.0 라이선스로 오픈 소스화되어 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트