Skip to content

Latest commit

Β 

History

History
131 lines (88 loc) Β· 3.44 KB

File metadata and controls

131 lines (88 loc) Β· 3.44 KB

Contributing to claude-code-hooks

Thank you for your interest in contributing! This guide covers everything you need to get started.

Getting Started

  1. Fork & clone the repo:
git clone https://github.com/<your-fork>/claude-code-hooks.git
cd claude-code-hooks
npm install
  1. The repo is an npm workspaces monorepo. Packages live under packages/.

  2. Use Node.js 18+.

Development Workflow

# Install all workspace dependencies
npm install

# Run a command in a specific package
npm -w @claude-code-hooks/sound <command>
npm -w @claude-code-hooks/security <command>
npm -w @claude-code-hooks/secrets <command>

# Run tests across all packages
npm test

# Run linting across all packages
npm run lint

Making Changes

  1. Create a feature branch from main:
    git checkout -b feat/my-feature
  2. Keep commits small and focused. One logical change per commit.
  3. Follow existing code style β€” the codebase is plain JS (ES modules), no transpiler needed.
  4. Test your changes locally before pushing.

Pull Requests

  • Open a PR against main.
  • Describe what changed and why.
  • Link related issues if applicable.
  • Keep PRs small. Prefer multiple small PRs over one massive one.

Reporting Bugs

Open a GitHub issue with:

  • Steps to reproduce
  • Expected vs actual behavior
  • OS + Node.js version

Code of Conduct

Please follow our Code of Conduct.

License

By contributing, you agree that your contributions will be licensed under the MIT License.


κΈ°μ—¬ κ°€μ΄λ“œ (ν•œκ΅­μ–΄)

claude-code-hooks에 κΈ°μ—¬ν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! μ•„λž˜λŠ” μ‹œμž‘ν•˜λŠ” 데 ν•„μš”ν•œ λͺ¨λ“  λ‚΄μš©μž…λ‹ˆλ‹€.

μ‹œμž‘ν•˜κΈ°

  1. μ €μž₯μ†Œλ₯Ό 포크 & ν΄λ‘ ν•©λ‹ˆλ‹€:
git clone https://github.com/<your-fork>/claude-code-hooks.git
cd claude-code-hooks
npm install
  1. 이 μ €μž₯μ†ŒλŠ” npm workspaces λͺ¨λ…Έλ ˆν¬μž…λ‹ˆλ‹€. νŒ¨ν‚€μ§€λŠ” packages/ μ•„λž˜μ— μžˆμŠ΅λ‹ˆλ‹€.

  2. Node.js 18 이상을 μ‚¬μš©ν•˜μ„Έμš”.

개발 μ›Œν¬ν”Œλ‘œμš°

# 전체 μ›Œν¬μŠ€νŽ˜μ΄μŠ€ μ˜μ‘΄μ„± μ„€μΉ˜
npm install

# νŠΉμ • νŒ¨ν‚€μ§€μ—μ„œ λͺ…λ Ή μ‹€ν–‰
npm -w @claude-code-hooks/sound <command>
npm -w @claude-code-hooks/security <command>
npm -w @claude-code-hooks/secrets <command>

# 전체 νŒ¨ν‚€μ§€ ν…ŒμŠ€νŠΈ
npm test

λ³€κ²½ 사항 μž‘μ„±

  1. mainμ—μ„œ κΈ°λŠ₯ 브랜치λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  2. 컀밋은 μž‘κ³  μ§‘μ€‘μ μœΌλ‘œ μœ μ§€ν•©λ‹ˆλ‹€. ν•˜λ‚˜μ˜ 논리적 변경에 ν•˜λ‚˜μ˜ 컀밋.
  3. κΈ°μ‘΄ μ½”λ“œ μŠ€νƒ€μΌμ„ λ”°λ¦…λ‹ˆλ‹€ β€” μ½”λ“œλ² μ΄μŠ€λŠ” 순수 JS (ES λͺ¨λ“ˆ)이며 νŠΈλžœμŠ€νŒŒμΌλŸ¬κ°€ ν•„μš” μ—†μŠ΅λ‹ˆλ‹€.
  4. ν‘Έμ‹œν•˜κΈ° 전에 λ‘œμ»¬μ—μ„œ λ³€κ²½ 사항을 ν…ŒμŠ€νŠΈν•©λ‹ˆλ‹€.

ν’€ λ¦¬ν€˜μŠ€νŠΈ

  • main λΈŒλžœμΉ˜μ— λŒ€ν•΄ PR을 μ—½λ‹ˆλ‹€.
  • 무엇이 λ³€κ²½λ˜μ—ˆκ³  μ™œ λ³€κ²½ν–ˆλŠ”μ§€ μ„€λͺ…ν•©λ‹ˆλ‹€.
  • κ΄€λ ¨ μ΄μŠˆκ°€ 있으면 λ§ν¬ν•©λ‹ˆλ‹€.
  • PR은 μž‘κ²Œ μœ μ§€ν•©λ‹ˆλ‹€. ν•˜λ‚˜μ˜ κ±°λŒ€ν•œ PR보닀 μ—¬λŸ¬ 개의 μž‘μ€ PR을 μ„ ν˜Έν•©λ‹ˆλ‹€.

버그 보고

GitHub 이슈λ₯Ό μ—΄κ³  λ‹€μŒμ„ ν¬ν•¨ν•˜μ„Έμš”:

  • μž¬ν˜„ 단계
  • μ˜ˆμƒ λ™μž‘ vs μ‹€μ œ λ™μž‘
  • OS + Node.js 버전

행동 κ°•λ Ή

행동 강령을 λ”°λΌμ£Όμ„Έμš”.

λΌμ΄μ„ μŠ€

κΈ°μ—¬ν•¨μœΌλ‘œμ¨, κ·€ν•˜μ˜ κΈ°μ—¬κ°€ MIT λΌμ΄μ„ μŠ€ ν•˜μ— λΌμ΄μ„ μŠ€λ¨μ— λ™μ˜ν•©λ‹ˆλ‹€.