Loading...
Loading...
AI 에이전트 설정 정책 및 보안 가이드. 프로젝트 설명 파일 작성법, Hooks/Skills/Plugins 설정, 보안 정책, 팀 공유 워크플로우 정의.
npx skill4agent add supercent-io/skills-template agent-configuration/init # Claude가 코드베이스 분석 후 초안 생성# Project: [프로젝트명]
## Tech Stack
- **Frontend**: React + TypeScript
- **Backend**: Node.js + Express
- **Database**: PostgreSQL
- **ORM**: Drizzle
## Coding Standards
- Use TypeScript strict mode
- Prefer server components over client components
- Use `async/await` instead of `.then()`
- Always validate user input with Zod
## DO NOT
- Never commit `.env` files
- Never use `any` type in TypeScript
- Never bypass authentication checks
- Never expose API keys in client code
## Common Commands
- `npm run dev`: Start development server
- `npm run build`: Build for production
- `npm run test`: Run testsOur authentication system is built using NextAuth.js, which is a
complete authentication solution for Next.js applications...
(5줄 이상의 설명)## Authentication
- NextAuth.js with Credentials provider
- JWT session strategy
- **DO NOT**: Bypass auth checks, expose session secrets"처음에는 프로젝트 설명 파일 없이 시작하세요. 같은 말을 반복하게 되면 그때 추가하세요."
| Hook | 실행 시점 | 사용 사례 |
|---|---|---|
| 도구 실행 전 | 위험한 명령어 차단 |
| 도구 실행 후 | 로그 기록, 알림 전송 |
| 권한 요청 시 | 자동 승인/거부 |
| 알림 시 | 외부 시스템 통합 |
| 서브에이전트 시작 | 모니터링 |
| 서브에이전트 종료 | 결과 수집 |
// ~/.claude/settings.json
{
"hooks": {
"PreToolUse": [
{
"pattern": "rm -rf /",
"action": "block",
"message": "루트 디렉토리 삭제 차단"
},
{
"pattern": "rm -rf /*",
"action": "block",
"message": "위험한 삭제 명령어 차단"
},
{
"pattern": "sudo rm",
"action": "warn",
"message": "sudo 삭제 명령어 주의"
},
{
"pattern": "curl * | sh",
"action": "block",
"message": "파이프 실행 스크립트 차단"
},
{
"pattern": "chmod 777",
"action": "warn",
"message": "과도한 권한 설정 주의"
}
]
}
}| 기능 | 로딩 시점 | 주요 사용자 | 토큰 효율성 |
|---|---|---|---|
| 프로젝트 설명 파일 | 항상 로드 | 프로젝트 팀 | 낮음 (항상 로드) |
| Skills | 필요 시 로드 | AI 자동 | 높음 (온디맨드) |
| Slash Commands | 사용자 호출 시 | 개발자 | 중간 |
| Plugins/MCP | 설치 시 | 팀/커뮤니티 | 다양함 |
항상 적용되어야 하는 규칙 → 프로젝트 설명 파일
특정 작업에만 필요한 지식 → Skills (토큰 효율적)
자주 쓰는 명령어 → Slash Commands
외부 서비스 연동 → Plugins / MCP# 스킬 디렉토리 생성
mkdir -p ~/.claude/skills/my-skill
# SKILL.md 작성
cat > ~/.claude/skills/my-skill/SKILL.md << 'EOF'
---
name: my-skill
description: 나의 커스텀 스킬
platforms: [Claude, Gemini, ChatGPT]
---
# My Skill
## When to use
- 특정 작업에 필요할 때
## Instructions
1. 첫 번째 단계
2. 두 번째 단계
EOF.envcredentials.jsonsudocurl | shchmod 777# cc-safe 도구로 위험한 명령어 검사
npx cc-safe .
npx cc-safe ~/projects
# 감지 대상:
# - sudo, rm -rf, chmod 777
# - curl | sh, wget | bash
# - git reset --hard, git push --force
# - npm publish, docker run --privileged# 안전한 명령어만 자동 승인
/sandbox "npm test"
/sandbox "npm run lint"
/sandbox "git status"
/sandbox "git diff"
# 패턴 승인
/sandbox "git *" # git 명령어 전체
/sandbox "npm test *" # npm test 관련
# MCP 도구 패턴
/sandbox "mcp__server__*"project/
├── .claude/ # Claude Code 설정
│ ├── team-settings.json
│ ├── hooks/
│ └── skills/
├── .agent-skills/ # 범용 스킬
│ ├── backend/
│ ├── frontend/
│ └── ...
├── CLAUDE.md # Claude용 프로젝트 설명
├── .cursorrules # Cursor용 설정
└── ...{
"permissions": {
"allow": [
"Read(src/)",
"Write(src/)",
"Bash(npm test)",
"Bash(npm run lint)"
],
"deny": [
"Bash(rm -rf /)",
"Bash(sudo *)"
]
},
"hooks": {
"PreToolUse": {
"command": "bash",
"args": ["-c", "echo 'Team hook: validating...'"]
}
},
"mcpServers": {
"company-db": {
"command": "npx",
"args": ["@company/db-mcp"]
}
}
}.claude/ 폴더 커밋 → 팀원 Clone → 동일 설정 자동 적용 → 팀 표준 유지| Agent | 설정 파일 | 위치 |
|---|---|---|
| Claude Code | CLAUDE.md, settings.json | 프로젝트 루트, ~/.claude/ |
| Gemini CLI | .geminirc | 프로젝트 루트, ~/ |
| Cursor | .cursorrules | 프로젝트 루트 |
| ChatGPT | Custom Instructions | UI 설정 |
.agent-skills/
├── backend/
├── frontend/
├── code-quality/
├── infrastructure/
├── documentation/
├── project-management/
├── search-analysis/
└── utilities//initcccgcxexport EDITOR=vimcc-safe~/.claude/settings.json # 글로벌 설정
~/.claude/skills/ # 글로벌 스킬
.claude/settings.json # 프로젝트 설정
.claude/skills/ # 프로젝트 스킬
.agent-skills/ # 범용 스킬
CLAUDE.md # 프로젝트 AI 설명서1. Hooks로 위험 명령어 차단
2. /sandbox로 안전한 명령어만 자동 승인
3. cc-safe로 정기 감사
4. 실험 모드는 컨테이너에서만프로젝트 설명 파일: 항상 로드 (간결하게 유지)
Skills: 필요 시 로드 (토큰 효율적)
.toon 모드: 95% 토큰 절감