์ฐธ๊ณ ํญ๋ชฉ
Copilot ์ฝ๋ฉ ์์ด์ ํธ๋ ๊ณต๊ฐ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ๋ฒ์ ์ด๋ฉฐ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ์ค ๊ธฐ๋ฅ์ ์ฌ์ฉ์ GitHub ์ํํ ์ฌ์ฉ ์กฐ๊ฑด์(๋ฅผ) ๋ฐ๋ฆ ๋๋ค.
Copilot ์ฝ๋ฉ ์์ด์ ํธ์ ๋ํ ์๊ฐ๋ About GitHub Copilot coding agent์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ด์์ ๋ฒ์๊ฐ ์ฌ๋ฐ๋ฅธ์ง ํ์ธ
GitHub Copilot์ ๋ช ํํ ๋ฒ์์ ์์ ์ด ํ ๋น๋ ๋ ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด์์ ์ธ ์์ ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
- ํด๊ฒฐํด์ผ ํ ๋ฌธ์ ๋๋ ํ์ํ ์์ ์ ๋ํ ๋ช ํํ ์ค๋ช
- ์ข์ ์๋ฃจ์ ์ ๋ชจ์ต์ ๋ํ ์์ ํ ์์ฉ ์กฐ๊ฑด(์: ๋จ์ ํ ์คํธ๊ฐ ์์ด์ผ ํ๋์?).
- ๋ณ๊ฒฝํด์ผ ํ๋ ํ์ผ์ ๋ํ ์ง์นจ.
์ด์๋ฅผ ํ ๋นํ์ฌ Copilot์ ์์ ์ ์ ๋ฌํ๋ ๊ฒฝ์ฐ Copilot์ ํ ๋นํ๋ ์ด์๋ฅผ ํ๋กฌํํธ๋ก ์๊ฐํ๋ ๊ฒ์ด ์ ์ฉํฉ๋๋ค. ์ด์ ์ค๋ช ์ด AI ํ๋กฌํํธ๋ก ์๋ํ ๊ฐ๋ฅ์ฑ์ด ์๋์ง, ๊ทธ๋ฆฌ๊ณ Copilot์ด ํ์ํ ์ฝ๋ ๋ณ๊ฒฝ์ ํ ์ ์๋๋ก ํ ์ง๋ฅผ ๊ณ ๋ คํฉ๋๋ค.
Copilot์ ์ ๊ณตํ ์ ์ํ ์์ ์ ํ ์ ํ
Copilot์ ์ฌ์ฉํ์ฌ ์์ ํ ๋ ๊ฐ์ฅ ์ ํฉํ ์์ ์ ํ์ ํ์ ํ ์ ์์ต๋๋ค. ์ฒ์์๋ Copilot์ ๋ ๊ฐ๋จํ ์์ ์ ์ ๊ณตํ์ฌ ์ฝ๋ฉ ์์ด์ ํธ๋ก ์๋ํ๋ ๋ฐฉ์์ ํ์ธํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋จผ์ Copilot์ ๋ฒ๊ทธ ์์ , ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๊ธฐ๋ฅ ๋ณ๊ฒฝ, ํ ์คํธ ์ ์ฉ ๋ฒ์ ๊ฐ์ , ์ค๋ช ์ ์ ๋ฐ์ดํธ, ์ ๊ทผ์ฑ ํฅ์ ๋๋ ๊ธฐ์ ์ ์ธ ๋ฌธ์ ํด๊ฒฐ์ ์์ฒญํ ์ ์์ต๋๋ค.
Copilot์ ํ ๋นํ์ง ์๊ณ ์ง์ ์์ ํ๋๋ก ์ ํํ ์ ์๋ ์ด์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
๋ณต์กํ๊ณ ๊ด๋ฒ์ํ ์์
- ๋ฆฌํฌ์งํ ๋ฆฌ ๊ฐ ์ง์๊ณผ ํ ์คํธ๊ฐ ํ์ํ ๊ด๋ฒ์ํ๊ณ ๋ค์ํ ์ปจํ ์คํธ ๋ฆฌํฉํฐ๋ง ๋ฌธ์
- ์ข ์์ฑ ๋ฐ ๋ ๊ฑฐ์ ์ฝ๋๋ฅผ ์ดํดํด์ผ ํ๋ ๋ณต์กํ ์ด์
- ์ฌ์ธต ๋๋ฉ์ธ ์ง์์ด ํ์ํ ์์
- ์๋นํ ๋น์ฆ๋์ค ๋ ผ๋ฆฌ๋ฅผ ํฌํจํ๋ ์์
- ๋์์ธ ์ผ๊ด์ฑ์ด ํ์ํ ์ฝ๋๋ฒ ์ด์ค์ ๋๋์ ๋ณ๊ฒฝ
-
๋ฏผ๊ฐํ๊ณ ์ค์ํ ์์
- ํ๋ก๋์ ์ ์ค์ํ ์ด์
- ๋ณด์, ๊ฐ์ธ ์๋ณ ์ ๋ณด, ์ธ์ฆ ์ํฅ๊ณผ ๊ด๋ จ๋ ์์
- ์ธ์๋ํธ ๋์
-
๋ชจํธํ ์์
- ๋ช ํํ ์ ์๊ฐ ๋ถ์กฑํ ์์ : ๋ชจํธํ ์๊ตฌ ์ฌํญ์ด ์๋ ์์ , ๊ฐ๋ฐฉํ ์์ , ๋ถํ์ค์ฑ์ ๊ทน๋ณตํ๋ฉด์ ์๋ฃจ์ ์ ์ฐพ์์ผ ํ๋ ์์
-
ํ์ต ์์
- ๊ฐ๋ฐ์๊ฐ ๋ ์ฌ์ธต์ ์ธ ์ดํด๋ฅผ ์ํด ๋ฐฐ์ฐ๋ ค๊ณ ํ๋ ์์
์ฃผ์์ ์ฌ์ฉํ์ฌ ๋์ด์ค๊ธฐ ์์ฒญ ๋ฐ๋ณต
๋์ด์ค๊ธฐ ์์ฒญ์ ๋ํด Copilot์ผ๋ก ์์ ํ๋ ๊ฒ์ ์ธ๊ฐ ๊ฐ๋ฐ์์ ์์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๋์ด์ค๊ธฐ ์์ฒญ์ด ๋ณํฉ๋๊ธฐ ์ ์ ์ถ๊ฐ ์์ ์ด ํ์ํ ๊ฒฝ์ฐ๋ ์ผ๋ฐ์ ์ ๋๋ค. ๋์ด์ค๊ธฐ ์์ฒญ์ ๋ณํฉ ๊ฐ๋ฅํ ์ํ๋ก ๊ฐ์ ธ์ค๋ ํ๋ก์ธ์ค๋ Copilot์ด ๋์ด์ค๊ธฐ ์์ฒญ์ ๋ง๋ค ๋ ์ธ๊ฐ์ด ๋ง๋ค ๋์ ๋๊ฐ์ต๋๋ค. ์ํ๋ ๊ฒฝ์ฐ ๊ธฐ๋ฅ ๋ถ๊ธฐ์์ ์ง์ ์์ ํ๊ณ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋์ด์ค๊ธฐ ์์ฒญ์ ํธ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋, ์๋ชป๋์๊ฑฐ๋ ๊ฐ์ ๋ ์ ์๋ค๊ณ ์๊ฐ๋๋ ๊ฒ์ ์ค๋ช ํ๋ ๋ฑ ๋์ด์ค๊ธฐ ์์ฒญ์ ์ค๋ช ์ ์ถ๊ฐํ๊ณ Copilot์ด ํ์ํ ๋ณ๊ฒฝ์ ์ํํ๋๋ก ๋ ์ ์์ต๋๋ค.
Copilot์ด ์ฐ๊ธฐ ๊ถํ์ด ์๋ ์ฌ์ฉ์๊ฐ ์ค๋ช ์ ์ ์ถํ๋ ์ฆ์ ๋ชจ๋ ์ค๋ช ์ ์ฝ๊ณ ์กฐ์น๊ฐ ํ์ํ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ์ํ ๋ณ๊ฒฝ์ ์์ํ๊ณ ์๋ฃ๋๋ฉด ๋์ด์ค๊ธฐ ์์ฒญ์ ์ ๋ฐ์ดํธํฉ๋๋ค. Copilot์ ์ค๋ช ์ด ์ ์ถ๋๋ ์ฆ์ ์ดํด๋ณด๊ธฐ ๋๋ฌธ์ ๋์ด์ค๊ธฐ ์์ฒญ์ ์ฌ๋ฌ ๋ฒ ์ค๋ช ์ ์ ์ถํ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค๋ฉด Add single comment๋ฅผ ํด๋ฆญํ์ง ์๊ณ Start a review๋ฅผ ํด๋ฆญํ์ฌ ์ค๋ช ์ ์ผ๊ด ์ฒ๋ฆฌํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ชจ๋ ์ค๋ช ์ ํ ๋ฒ์ ์ ์ถํ์ฌ, Copilot์ด ๊ฐ๋ณ ์ค๋ช ์ ๋ํด ๊ฐ๋ณ์ ์ผ๋ก ์์ ํ์ง ์๊ณ ์ ์ฒด ๊ฒํ ์์ ์์ ํ๋๋ก ํ ์ ์์ต๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
Copilot only responds to comments from people who have write access to the repository.
Copilot์ด ๋์ด์ค๊ธฐ ์์ฒญ์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์ ์ฉํ๋ฉด ํ์ฌ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ฐ์ํ ์ ์๋๋ก ์ ๋ชฉ๊ณผ ๋ณธ๋ฌธ๋ ์ต์ ์ํ๋ก ์ ์ง๋ฉ๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฌ์ฉ์ ์ง์ ์ง์นจ ์ถ๊ฐ
๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฌ์ฉ์ ์ง์ ์ง์นจ์ ์ถ๊ฐํ์ฌ, ํ๋ก์ ํธ๋ฅผ ์ดํดํ๊ณ , ํ๋ก์ ํธ์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์์ฑ ๋ฐ ํ ์คํธํ๊ณ ์ ํจ์ฑ์ ๊ฒ์ฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด Copilot์ ์๋ดํ ์ ์์ต๋๋ค.
Copilot์ด ์์ฒด ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์์ฑ ๋ฐ ํ ์คํธํ๊ณ ์ ํจ์ฑ์ ๊ฒ์ฌํ ์ ์๋ ๊ฒฝ์ฐ, ์ ์ํ๊ฒ ๋ณํฉํ ์ ์๋ ์ ์ ํ ๋์ด์ค๊ธฐ ์์ฒญ์ ์์ฑํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ์ ๋จ์ผ .github/copilot-instructions.md
ํ์ผ์ ์ง์นจ์ ์ถ๊ฐํ๊ฑฐ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ค๋ฅธ ํ์ผ ๋๋ ๋๋ ํฐ๋ฆฌ์ ์ ์ฉ๋๋ ํ๋ ์ด์์ .github/instructions/**/*.instructions.md
ํ์ผ์ ๋ง๋ค ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ GitHub Copilot์ ๋ํ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฌ์ฉ์ ์ง์ ์ง์นจ ์ถ๊ฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋ค์์ ์ ํจ copilot-instructions.md
ํ์ผ์ ์์
๋๋ค.
This is a Go based repository with a Ruby client for certain API endpoints. It is primarily responsible for ingesting metered usage for GitHub and recording that usage. Please follow these guidelines when contributing:
## Code Standards
### Required Before Each Commit
- Run `make fmt` before committing any changes to ensure proper code formatting
- This will run gofmt on all Go files to maintain consistent style
### Development Flow
- Build: `make build`
- Test: `make test`
- Full CI check: `make ci` (includes build, fmt, lint, test)
## Repository Structure
- `cmd/`: Main service entry points and executables
- `internal/`: Logic related to interactions with other GitHub services
- `lib/`: Core Go packages for billing logic
- `admin/`: Admin interface components
- `config/`: Configuration files and templates
- `docs/`: Documentation
- `proto/`: Protocol buffer definitions. Run `make proto` after making updates here.
- `ruby/`: Ruby implementation components. Updates to this folder should include incrementing this version file using semantic versioning: `ruby/lib/billing-platform/version.rb`
- `testing/`: Test helpers and fixtures
## Key Guidelines
1. Follow Go best practices and idiomatic patterns
2. Maintain existing code structure and organization
3. Use dependency injection patterns where appropriate
4. Write unit tests for new functionality. Use table-driven unit tests when possible.
5. Document public APIs and complex logic. Suggest changes to the `docs/` folder when appropriate
Copilot ์ง์นจ ํ์ผ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํฌํจํ์ง ์๋๋ก ์ ํํ ๊ฒฝ์ฐ Copilot์ CLAUDE.md
, AGENTS.md
๋ฐ GEMINI.md
๋ฅผ ๋น๋กฏํ ๊ธฐ์กด ์ฌ์ฉ์ ์ง์ ์ง์นจ์ผ๋ก ๋์ฒด๋ฉ๋๋ค.
MCP(๋ชจ๋ธ ์ปจํ ์คํธ ํ๋กํ ์ฝ) ์ฌ์ฉ
MCP๋ฅผ ์ฌ์ฉํ์ฌ Copilot ์ฝ๋ฉ ์์ด์ ํธ์ ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด Copilot ์ฝ๋ฉ ์์ด์ ํธ๊ฐ ๋ก์ปฌ ๋ฐ ์๊ฒฉ MCP ์๋ฒ์์ ์ ๊ณตํ๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. GitHub MCP ์๋ฒ ๋ฐ Playwright MCP ์๋ฒ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๋๋ก ์ค์ ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ MCP(๋ชจ๋ธ ์ปจํ ์คํธ ํ๋กํ ์ฝ)๋ฅผ ์ฌ์ฉํ์ฌ Copilot ์ฝ๋ฉ ์์ด์ ํธ ํ์ฅ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
GitHub Copilot์ ํ๊ฒฝ์ ์ข ์์ฑ ์ฌ์ ์ค์น
์์ ์ ์ํํ๋ ๋์ Copilot์ GitHub Actions๋ก ๊ตฌ๋๋๋ ์์ฒด ์์ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. Copilot์ ์ฌ์ฉ์์ ์ฝ๋๋ฅผ ์ดํด๋ณด๊ณ , ํ์ํ ๋ถ๋ถ์ ๋ณ๊ฒฝํ๊ณ , ์๋ํ๋ ํ ์คํธ ๋ฐ Linter๋ฅผ ์คํํ๋ ๋ฑ์ ์์ ์ ์งํํ ์ ์์ต๋๋ค.
Copilot์ด ์์ฒด ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์์ฑ ๋ฐ ํ ์คํธํ๊ณ ์ ํจ์ฑ์ ๊ฒ์ฌํ ์ ์๋ ๊ฒฝ์ฐ, ์ ์ํ๊ฒ ๋ณํฉํ ์ ์๋ ์ ์ ํ ๋์ด์ค๊ธฐ ์์ฒญ์ ์์ฑํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
๊ทธ๋ ๊ฒ ํ๋ ค๋ฉด ํ๋ก์ ํธ์ ์ข ์์ฑ์ด ํ์ํฉ๋๋ค. Copilot์ ์ํ์ฐฉ์ค๋ฅผ ํตํด ์ข ์์ฑ์ ์ค์ค๋ก ๋ฐ๊ฒฌํ๊ณ ์ค์นํ ์ ์์ง๋ง, LLM(๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ)์ ๋น๊ฒฐ์ ์ ์ธ ํน์ฑ ๋๋ฌธ์ ์ด ๊ณผ์ ์ด ๋๋ฆฌ๊ฑฐ๋ ์ ๋ขฐํ ์ ์์ ์ ์์ต๋๋ค.
์์ด์ ํธ๊ฐ ์์
์ ์์ํ๊ธฐ ์ ์ ๋น ๋ฅด๊ฒ ์ ์ํ ์ ์๋๋ก ์ด๋ฌํ ์ข
์์ฑ์ ์ฌ์ ์ค์นํ๋๋ก copilot-setup-steps.yml
ํ์ผ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ Copilot ์ฝ๋ฉ ์์ด์ ํธ์ ๊ฐ๋ฐ ํ๊ฒฝ ์ฌ์ฉ์ ์ง์ ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.