Dev

개인 서버 CLI에 Claude Code + Discord - #3 채널마다 프로젝트 연결 + write 테스트

ybjeon.today 2026. 6. 6. 18:33

목표

  • Claude code 연결
  • Write 테스트

코드

코드 링크: https://github.com/ybjeon/claude-discord-bot

버전: tag/v1.0.2

 

 

Write 테스트

Claude에 Write를 시켜봤다.

권한 위임이 말로는 안된다.

다른 방법으로 Tool 권한을 allow 해줘야한다.

 

1. 자주 쓰는 도구를 미리 allowlist에 넣기

1) Claude code 이용 (추천 안함, 귀찮음)

Claude Code UI 또는 CLI에서:

/permissions
 

로 들어가서 자주 필요한 도구를 Allow로 바꾸면 된다.

ex) Read, Edit, 특정 Bash 명령 등

Allow rule은 해당 도구를 수동 승인 없이 쓰게 하고, Ask rule은 매번 확인을 요구 (Chatting으로는 불가능)

프로젝트 또는 사용자 설정에 allowedTools / allow rules를 넣는 방식도 가능

Discord bot에서 Claude Code를 자동화하려면 이 방식이 제일 현실적

 

프로젝트 폴더에 들어간다. (claude-code-bot 폴더 말고 PROJECT_DIR)

터미널에서 Claude 치고 들어가서 Write 추가

 

 

1. 프로젝트 적용 - gitignore에 넣고 local 유저만 사용

2. 프로젝트 적용 - 파일로 저장해서 전부 공유

3. 전체 적용

 

폴더 별로 다를 수 있을 것 같아 1번 선택

 

2) 바로 파일 생성

PROJECT_DIR에 .claude/settings.json 생성 

 

python project 자동화 특화 (권한 조금 널럴한 버전)

 

{
  "permissions": {
    "allow": [
      "Read",
      "LS",
      "Glob",
      "Grep",
      "Edit",
      "Write",
      "Bash(pytest:*)",
      "Bash(python -m pytest:*)",
      "Bash(ruff check:*)",
      "Bash(ruff format:*)",
      "Bash(mypy:*)"
    ],
    "ask": [
      "Bash(pip install:*)",
      "Bash(poetry add:*)",
      "Bash(uv add:*)",
      "Bash(git commit:*)",
      "Bash(git push:*)"
    ],
    "deny": [
      "Bash(rm -rf:*)",
      "Bash(sudo:*)",
      "Bash(curl * | sh:*)",
      "Bash(wget * | sh:*)",
      "Bash(*.env*)",
      "Bash(printenv:*)"
    ]
  }
}
 

 

2. Write 명령어 테스트

 

권한 escalation 테스트

PROJECT_DIR에 있는 setting.json (기존에 write 권한은 있음) 을 수정해보려 했으나 아래처럼 권한이 잘 막혀있다.

 

todos

1) Discord 승인: (#todos 추후 업그레이드)
SDK canUseTool callback ↔ Discord 버튼 연동

 

2) Execution 테스트

 

3) Think 과정도 메시지