feat(bot,bridge): P1 !auto 토글 자동승인 + P2 BridgeTransport 추상화 #task-304 #task-305

P1: !auto 토글 (bot.py + extension.ts)
- auto_approve_projects set으로 프로젝트별 상태 관리
- !auto → on/off 토글, pending 자동 승인 + 🤖 자동 승인됨 embed
- Extension step_probe에서 autoApproveEnabled 시 직접 tryApprovalStrategies

P2: BridgeTransport 추상화 (bridge.py)
- BridgeTransport ABC + LocalTransport (기존 동작 100% 호환)
- RemoteTransport 스켈레톤 (multi-PC 대비)
- config.py BOT_MODE/REMOTE_BRIDGE_URL, main.py transport 주입

docs: usage-guide.md + tech-stack.md Python 경로 기록
This commit is contained in:
Variet Worker
2026-03-11 19:25:40 +09:00
parent 1696a2976b
commit c1303999cf
8 changed files with 434 additions and 106 deletions

View File

@@ -4,34 +4,43 @@
## 언어 & 런타임
| 항목 | 버전 | 비고 |
|------|------|------|
| (예: Node.js) | (예: 20.x) | (설치 경로 등) |
| (예: Python) | (예: 3.12) | (가상환경 경로 등) |
| 항목 | 버전 | 경로/비고 |
|------|------|-----------|
| Python | 3.x (miniforge3) | `C:\ProgramData\miniforge3\envs\gravity_control\python.exe` |
| Node.js | 시스템 설치 | `node`, `npm` (PowerShell에서 `cmd /c npm` 권장) |
| TypeScript | (Extension) | `extension/src/extension.ts``tsc` 빌드 |
> [!IMPORTANT]
> Python은 **반드시** 위 miniforge3 경로를 사용. WindowsApps의 python stub은 동작하지 않음.
## 프레임워크
| 항목 | 버전 | 용도 |
|------|------|------|
| (예: Express) | (예: 4.18) | (서버) |
| (예: React) | (예: 18.x) | (프론트엔드) |
| discord.py | 2.x | Discord 봇 |
| watchdog | - | 파일시스템 감시 |
| antigravity-sdk | 로컬 | VS Code Extension SDK 연동 |
## 패키지 관리
- 패키지 매니저: (npm / yarn / pnpm / pip 등)
- Lock 파일: (package-lock.json / yarn.lock 등)
- **Python**: pip (`requirements.txt`)
- **Extension**: npm (`extension/package.json`)
## 개발 도구
| 도구 | 명령어 |
|------|--------|
| 개발 서버 | (예: `cmd /c npm run dev`) |
| 빌드 | (예: `cmd /c npm run build`) |
| 테스트 | (예: `cmd /c npm test`) |
| 린트 | (예: `cmd /c npm run lint`) |
| **봇 실행** | `start_bot.bat` 또는 `C:\ProgramData\miniforge3\envs\gravity_control\python.exe main.py` |
| **Extension 빌드** | `cd extension && cmd /c npm run compile` |
| **Extension VSIX** | `cd extension && cmd /c npx vsce package` |
| **봇 구문 검사** | `C:\ProgramData\miniforge3\envs\gravity_control\python.exe -c "import bot, bridge, config, main"` |
## 환경 변수
| 변수명 | 용도 | 기본값 |
|--------|------|--------|
| (예: PORT) | (서버 포트) | (3000) |
| DISCORD_TOKEN | Discord 봇 토큰 | (필수) |
| DISCORD_GUILD_ID | Discord 서버 ID | (필수) |
| BRAIN_PATH | AG 브레인 경로 | `~/.gemini/antigravity/brain` |
| BOT_MODE | 봇 모드 (local/remote) | `local` |
| REMOTE_BRIDGE_URL | 원격 브릿지 URL | (remote 모드 전용) |