๊ธฐ์ฌ
SSH-Frontiรจre์ ๊ธฐ์ฌํ๊ธฐ
AI๊ฐ ๋ณด์กฐํ๊ฑฐ๋ ์์ฑํ ๊ธฐ์ฌ๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ ๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค. SSH-Frontiรจre ์์ฒด๋ Claude Code ์์ด์ ํธ๋ก ๊ฐ๋ฐ๋์์ต๋๋ค.
์์ํ๊ธฐ ์ ์
์ ์ํ๋ ๋ณ๊ฒฝ์ ๋ํด ๋ ผ์ํ๊ธฐ ์ํด ์ด์๋ฅผ ์ด์ด์ฃผ์ธ์. ๋ถํ์ํ ์์ ์ ๋ฐฉ์งํ๊ณ ์ ๊ทผ ๋ฐฉ์์ ๊ฒ์ฆํ ์ ์์ต๋๋ค.
- ๋ฒ๊ทธ: ๊ด์ฐฐ๋ ๋์๊ณผ ์์ ๋์, ๋ฒ์ , OS๋ฅผ ์ค๋ช ํด ์ฃผ์ธ์
- ๊ธฐ๋ฅ: ์ฌ์ฉ ์ฌ๋ก์ ์ ์ํ๋ ์ ๊ทผ ๋ฐฉ์์ ์ค๋ช ํด ์ฃผ์ธ์
- ์ํคํ
์ฒ ๋ณ๊ฒฝ: ADR์ด ํ์ํฉ๋๋ค (
docs/decisions/์ฐธ์กฐ)
ํ๋ก์ธ์ค
1. ์ด์ โ ๋ณ๊ฒฝ ๋
ผ์
2. Fork โ git checkout -b feature/my-contribution
3. TDD โ RED (์คํจํ๋ ํ
์คํธ) โ GREEN (์ต์ ์ฝ๋) โ ๋ฆฌํฉํฐ๋ง
4. ๊ฒ์ฆ โ make lint && make test && make audit
5. Pull request โ ์ค๋ช
, ์ด์ ์ฐธ์กฐ, ๋
น์ CI
ํ์ง ์๊ตฌ์ฌํญ
SSH-Frontiรจre๋ ๋ณด์ ์ปดํฌ๋ํธ์ ๋๋ค. ์๊ตฌ์ฌํญ์ด ์๊ฒฉํฉ๋๋ค:
| ๊ท์น | ์ธ๋ถ์ฌํญ |
|---|---|
| ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง | ์ถ๊ฐ๋ ์ฝ๋์ ๋ํด ์ต์ 90% |
unwrap() ๊ธ์ง | // INVARIANT: ์ฃผ์์ด ์๋ expect() ๋๋ ? / map_err() ์ฌ์ฉ |
unsafe ๊ธ์ง | #[deny(unsafe_code)]๋ก ๊ธ์ง๋จ |
| ์ต๋ 800์ค | ์์ค ํ์ผ๋น |
| ์ต๋ 60์ค | ํจ์๋น |
| ํฌ๋งทํ | cargo fmt ํ์ |
| ๋ฆฐํธ | cargo clippy -- -D warnings (pedantic) |
์์กด์ฑ
ํ์์ ์ด์ง ์์ ์์กด์ฑ์ ์ ๋ก์ ๋๋ค. ์๋ก์ด ์์กด์ฑ์ ์ ์ํ๊ธฐ ์ ์:
- Rust ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๊ตฌ๋ฅผ ์ถฉ์กฑํ์ง ์๋์ง ํ์ธ
- ์์กด์ฑ ๋งคํธ๋ฆญ์ค๋ก ํ๊ฐ (์ต์ ์ ์ 3.5/5)
docs/searches/์ ํ๊ฐ๋ฅผ ๋ฌธ์ํ
ํ์ฌ ํ์ฉ๋ ์์กด์ฑ: serde, serde_json, toml.
์ปค๋ฐ ๊ท์น
๋ฉ์์ง๋ ์์ด๋ก, type(scope): description ํ์:
feat(protocol): add TLS supportfix(dispatch): handle empty argumentstest(integration): add session timeout scenariosdocs(references): update configuration guide
์ ํ: feat, fix, refactor, test, docs.
AI ๊ธฐ์ฌ
AI๊ฐ ์์ฑํ ๊ธฐ์ฌ๋ ์ฌ๋์ ๊ธฐ์ฌ์ ๋์ผํ ์กฐ๊ฑด์ผ๋ก ์์ฉ๋ฉ๋๋ค:
- ์ฌ๋ ๊ธฐ์ฌ์๊ฐ ์ฝ๋ ํ์ง์ ๋ํ ์ฑ ์์ ์ ์ง
- ๋์ผํ ํ ์คํธ ๋ฐ ๋ฆฐํธ ์๊ตฌ์ฌํญ
- PR์์ AI ์ฝ๋ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ๋ช ์ (ํฌ๋ช ์ฑ)
๋ณด์
์ทจ์ฝ์ ์ ๊ณ
๊ณต๊ฐ ์ด์๋ฅผ ํตํด ์ทจ์ฝ์ ์ ์ ๊ณ ํ์ง ๋ง์ธ์. ์ฑ ์ ์๋ ๊ณต๊ฐ๋ฅผ ์ํด ๋ฉ์ธํ ์ด๋์๊ฒ ์ง์ ์ฐ๋ฝํ์ธ์.
๊ฐํ๋ ๋ฆฌ๋ทฐ
๋ค์ ํ์ผ์ ์ํฅ์ ์ฃผ๋ PR์ ๊ฐํ๋ ๋ณด์ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ต๋๋ค:
protocol.rs,crypto.rsโ ์ธ์ฆdispatch.rs,chain_parser.rs,chain_exec.rsโ ๋ช ๋ น ํ์ฑ ๋ฐ ์คํconfig.rsโ ๊ตฌ์ฑ ๊ด๋ฆฌ
์ข์ ์ฒซ ๊ธฐ์ฌ
- ๋ฌธ์ ๊ฐ์
- ๊ฒฝ๊ณ ์ฌ๋ก์ ๋ํ ํ ์คํธ ์ถ๊ฐ
- clippy ๊ฒฝ๊ณ ์์
- ์ค๋ฅ ๋ฉ์์ง ๊ฐ์
๋ผ์ด์ ์ค
SSH-Frontiรจre๋ EUPL-1.2๋ก ๋ฐฐํฌ๋ฉ๋๋ค. Pull request๋ฅผ ์ ์ถํจ์ผ๋ก์จ, ๊ทํ์ ๊ธฐ์ฌ๊ฐ ์ด ๋ผ์ด์ ์ค ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฐฐํฌ๋๋ ๊ฒ์ ๋์ํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ ์ ์ฅ์์ CONTRIBUTING.md ํ์ผ์ ์ฐธ์กฐํ์ธ์.