프로젝트 구성
프로젝트 구성은 특정 프로젝트에 대한 Cyberstrike 동작을 커스터마이즈하며, 존재할 경우 전역 설정을 재정의합니다.
📸 SCREENSHOT: project-config.png
프로젝트 설정 파일 구조
파일 위치
프로젝트 구성은 프로젝트 루트의 cyberstrike.json (또는 cyberstrike.jsonc)에 저장됩니다. Cyberstrike는 작업 디렉토리에서 상위로 탐색하므로, 상위 폴더의 설정도 인식됩니다:
my-project/├── cyberstrike.json ← 프로젝트 설정├── src/├── package.json└── ...프로젝트 설정 만들기
init 명령어는 없습니다 — 파일을 수동으로 생성하세요:
{ "$schema": "https://cyberstrike.io/config.json", "model": "anthropic/claude-sonnet-4-20250514"}기본 설정
모델 선택
{ "model": "anthropic/claude-opus-4-5-20251101"}기본 에이전트
{ "default_agent": "cyberstrike"}default_agent는 기본 에이전트여야 하며, 설정되지 않거나 유효하지 않으면 cyberstrike로 폴백됩니다.
커스텀 지침
instructions는 시스템 프롬프트에 내용이 추가되는 파일 또는 글로브 패턴 목록입니다 (인라인 산문이 아닙니다). 목록은 전역 설정과 유니온 병합됩니다:
{ "instructions": [ "SECURITY.md", "docs/security-guidelines.md", ".cursor/rules/*.md" ]}제공자 구성
provider 아래에 제공자를 구성합니다. provider.default 키는 없습니다 — 활성 제공자는 model (provider/model)에서 따릅니다:
{ "provider": { "anthropic": { "options": { "apiKey": "{env:ANTHROPIC_API_KEY}" } }, "openai": { "options": { "apiKey": "{env:OPENAI_API_KEY}" } } }}제공자별 세부 정보는 AI 제공자를 참조하세요.
권한
권한은 도구 이름을 동작(ask, allow, deny)에 매핑하거나, 글로브 → 동작 맵에 매핑합니다. 허용/거부 배열이나 권한 “모드”는 없습니다:
{ "permission": { "read": "allow", "bash": { "npm test": "allow", "npm run lint": "allow", "rm -rf *": "deny" }, "edit": { "reports/**": "allow", ".env*": "deny" } }}와일드카드는 *와 ?만 지원됩니다. 전체 모델과 권한 키 목록은 권한을 참조하세요.
MCP 서버
MCP 서버는 mcp 아래에 서버 이름으로 키를 지정한 평면 맵으로 선언합니다. 로컬 서버는 단일 command 배열과 함께 type: "local"을 사용합니다:
{ "mcp": { "project-tools": { "type": "local", "command": ["node", "./tools/mcp-server.js"], "enabled": true } }}프로젝트 mcp 항목은 전역 항목 위에 병합됩니다. 상속된 서버를 끄려면 enabled를 false로 설정합니다:
{ "mcp": { "some-global-server": { "enabled": false } }}커스텀 에이전트
.cyberstrike/agents/ 아래에 프로젝트 에이전트를 Markdown 파일로 정의한 후 (커스텀 에이전트 참조), 하나를 기본값으로 선택합니다:
{ "default_agent": "project-scanner"}전체 예시
{ "$schema": "https://cyberstrike.io/config.json", "model": "anthropic/claude-sonnet-4-20250514", "default_agent": "cyberstrike", "instructions": ["docs/SECURITY.md"],
"provider": { "anthropic": { "options": { "apiKey": "{env:ANTHROPIC_API_KEY}" } } },
"permission": { "read": "allow", "bash": { "npm *": "allow", "git status": "allow", "rm *": "deny" }, "edit": { "reports/**": "allow", ".env*": "deny" } },
"mcp": { "db-tools": { "type": "local", "command": ["node", "./tools/db-mcp.js"], "enabled": true } }}구성 상속
프로젝트 설정은 전역 및 원격 설정 위에 병합됩니다:
원격 / well-known 설정 (기본) ↓전역 설정 (~/.config/cyberstrike/) ↓커스텀 설정 (CYBERSTRIKE_CONFIG) ↓프로젝트 설정 (cyberstrike.json) ↓.cyberstrike/ 디렉토리 설정 ↓CYBERSTRIKE_CONFIG_CONTENT / 관리 설정 / CLI 인수 (재정의)전체 우선순위 순서는 구성 레퍼런스를 참조하세요.
병합 동작
| 설정 | 동작 |
|---|---|
| 스칼라 | 대체됨 |
| 객체 | 딥 병합 |
| 배열 | 대체됨 — 단, plugin과 instructions는 유니온 병합 |
스키마 검증
IDE 자동완성 및 검증을 위해 스키마 참조를 추가합니다:
{ "$schema": "https://cyberstrike.io/config.json"}Git 통합
프로젝트 설정 커밋
git add cyberstrike.jsongit commit -m "Add Cyberstrike project configuration"민감한 데이터 무시
# 로컬 세션 데이터 무시.cyberstrike/sessions/모범 사례
- 버전 관리 - 팀 공유를 위해 프로젝트 설정 커밋
- 환경 변수 참조 사용 - API 키를 절대 하드코딩하지 마세요 (
{env:VAR}) - 지침 문서화 -
instructions를 보안 문서를 가리키게 설정 - 최소 권한 - 필요한 것만 허용
- 개인 재정의 - 커밋하지 말아야 할 설정에
CYBERSTRIKE_CONFIG사용
Tip
팀 공유를 위해 cyberstrike.json을 커밋하세요. 개인 재정의에는 환경 변수 또는 CYBERSTRIKE_CONFIG를 사용하세요.