규칙
OpenCode는 Cursor의 규칙과 유사하게 AGENTS.md 파일을 통해 커스텀 지침을 제공할 수 있습니다. 이러한 지침은 특정 프로젝트의 동작을 사용자 정의하기 위해 LLM의 컨텍스트에 포함됩니다.
초기화
OpenCode에서 /init 명령을 실행하여 새 AGENTS.md 파일을 생성합니다:
/init
/init은 repo의 중요한 파일을 스캔하고 코드베이스가 답변할 수 없을 때 목표 중심 질문을 할 수 있으며, 간결한 프로젝트별 지침으로 AGENTS.md를 생성하거나 업데이트합니다.
미래 에이전트 세션에 가장 필요한 것에 집중합니다:
- 빌드, lint 및 테스트 명령
- 명령 순서 및 집중된 확인 단계
- 파일 이름에서 명확하지 않은 아키텍처 및 repo 구조
- 프로젝트별 규칙, 설정quirks 및 운영 gotchas
- Cursor 또는 Copilot 규칙과 같은 기존 지침 소스에 대한 참조
이미 AGENTS.md가 있으면 /init이原地에서 개선합니다.
예시
이 파일을 수동으로 생성할 수도 있습니다. 예시:
# SST v3 모노레포 프로젝트
이것은 TypeScript를 사용하는 SST v3 모노레포입니다. 프로젝트는 bun workspaces를 사용합니다.
## 프로젝트 구조
- `packages/` - 모든 workspace 패키지
- `infra/` - 인프라 정의
## 코드 표준
- 엄격 모드로 TypeScript 사용
- 공유 코드는 `packages/core/`에 배치
유형
OpenCode는 다양한 목적으로 여러 위치에서 AGENTS.md 읽기를 지원합니다.
프로젝트
프로젝트별 규칙에 대해 프로젝트 루트에 AGENTS.md를 배치합니다. 이는 해당 디렉토리或其 하위 디렉토리에서만 적용됩니다.
전역
~/.config/opencode/AGENTS.md에서 전역 규칙도 가질 수 있습니다. 이는 모든 OpenCode 세션에 적용됩니다. 커밋되지 않으므로 개인 규칙에 사용하세요.
Claude Code 호환성
Claude Code에서 마이그레이션하는 사용자를 위해 OpenCode는 폴백으로 Claude Code 파일 규칙을 지원합니다:
- 프로젝트 규칙: 프로젝트 디렉토리의
CLAUDE.md(AGENTS.md가 없으면 사용) - 전역 규칙:
~/.claude/CLAUDE.md(~/.config/opencode/AGENTS.md가 없으면 사용)
Claude Code 호환성을 비활성화하려면:
export OPENCODE_DISABLE_CLAUDE_CODE=1 # 모든 .claude 지원 비활성화
export OPENCODE_DISABLE_CLAUDE_CODE_PROMPT=1 # ~/.claude/CLAUDE.md만 비활성화
export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # .claude/skills만 비활성화
우선순위
OpenCode가 시작되면 이 순서로 규칙 파일을 찾습니다:
- 현재 디렉토리에서 위로 탐색하여 로컬 파일 (
AGENTS.md, 그런 다음CLAUDE.md) ~/.config/opencode/AGENTS.md의 전역 파일~/.claude/CLAUDE.md의 Claude Code 파일 (비활성화되지 않은 경우)
각 카테고리에서 첫 번째 일치 파일이 우선합니다.
커스텀 지침
opencode.json에서 커스텀 지침 파일을 지정할 수 있습니다:
{
"$schema": "https://opencode.ai/config.json",
"instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
}
원격 URL도 사용할 수 있습니다:
{
"$schema": "https://opencode.ai/config.json",
"instructions": ["https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"]
}
모든 지침 파일은 AGENTS.md 파일과 결합됩니다.
외부 파일 참조
OpenCode는 AGENTS.md의 파일 참조를 자동으로 구문 분석하지 않지만 두 가지 방법으로 이를 달성할 수 있습니다:
opencode.json 사용
opencode.json의 instructions 필드를 사용하는 것이 권장되는 접근 방식입니다:
{
"$schema": "https://opencode.ai/config.json",
"instructions": ["docs/development-standards.md", "test/testing-guidelines.md"]
}
AGENTS.md의 수동 지침
외부 파일을 읽도록 OpenCode에 가르치는 명시적 지침 제공:
# TypeScript 프로젝트 규칙
## 개발 지침
TypeScript 코드 스타일: @docs/typescript-guidelines.md
React 패턴: @docs/react-patterns.md
OpenCode는 선제적으로가 아니라 필요할 때 파일을 로드합니다.