Files
gravity_control/.agents/references/tech-stack.md
Variet Worker e7631177f8 refactor(cleanup): v0.5.0 Collector 제거 + dead code 정리 + HttpBridgeContext 버그 수정
- DELETE collector.py (523줄)
- main.py: BOT_MODE=remote 분기 제거
- gateway.py: Collector REST 6개 endpoint 제거 (311→168줄)
- bridge.py: RemoteTransport 제거 (480→270줄)
- config.py: REMOTE_BRIDGE_URL 제거
- extension.ts: dead code 4개 + stale module vars 제거
- step-probe.ts: getStepProbeContext() 추가, autoApproveEnabled 제거
- FIX: HttpBridgeContext stale primitive (getter 패턴으로 수정)
- ADD: extension.log rotation (10MB→2MB tail)
- docs: architecture.md, tech-stack.md, known-issues.md 업데이트
2026-03-18 11:08:59 +09:00

3.6 KiB

Tech Stack

AI 에이전트는 구현 전 이 문서를 확인하여 올바른 기술/버전을 사용합니다.

언어 & 런타임

항목 버전 경로/비고
Python 3.12 (miniforge3) C:\ProgramData\miniforge3\envs\gravity_control\python.exe
Node.js 시스템 설치 node, npm (PowerShell에서 cmd /c npm 권장)
TypeScript 5.3+ extension/src/*.tstscextension/out/*.js

Important

Python은 반드시 위 miniforge3 경로를 사용. WindowsApps의 python stub은 동작하지 않음.

프레임워크 & 라이브러리

Python (서버)

패키지 버전 용도
discord.py 2.x Discord 봇 (슬래시 명령, 버튼 UI, 이벤트)
aiohttp 3.x Gateway HTTP 서버 + WebSocket endpoint
watchdog - Brain 디렉토리 파일시스템 감시
python-dotenv - .env 파일 로드
PyJWT - 미사용 (자체 HMAC-SHA256 구현)

TypeScript (Extension)

패키지 용도
@types/vscode VS Code Extension API 타입
@types/node Node.js 타입
typescript 컴파일러
ws WebSocket Hub 연결 (.vscodeignore!node_modules/ws/** 필수)
antigravity-sdk AG RPC 호출 (로컬 임베드 sdk/)

패키지 관리

도구 파일
Python pip requirements.txt
Extension npm extension/package.json

개발 도구 & 명령어

작업 명령어
봇 실행 C:\ProgramData\miniforge3\envs\gravity_control\python.exe main.py
봇 실행 (gateway) .env에서 BOT_MODE=gateway 설정 후 위 명령
Extension 구문 검사 cd extension && npx tsc --noEmit
Extension 컴파일 cd extension && cmd /c npm run compile
Extension VSIX cd extension && npx @vscode/vsce package --no-dependencies
Python 구문 검사 python -c "import ast; [ast.parse(open(f).read()) for f in ['bot.py','hub.py',...]]"
Hub WS 테스트 python tests/test_ws_hub.py (서버 기동 상태에서)

환경 변수 (.env)

필수

변수명 용도 기본값
DISCORD_TOKEN Discord 봇 토큰 (필수)
DISCORD_GUILD_ID Discord 서버 ID (필수)

선택

변수명 용도 기본값
BRAIN_PATH AG 브레인 경로 ~/.gemini/antigravity/brain
BOT_MODE local / gateway local
DEBOUNCE_SECONDS Watcher 디바운스 간격 5
PROJECT_NAME 프로젝트 이름 gravity_control

Gateway 모드 전용

변수명 용도 기본값
GATEWAY_PORT Gateway HTTP/WS 포트 8585
GATEWAY_API_KEY REST API 인증 키 (미설정 시 인증 미사용)
GRAVITY_HUB_SECRET WS Hub JWT 서명 시크릿 (64char hex) (미설정 시 인증 생략)
GRAVITY_REGISTRATION_CODE Extension 등록 코드 (32char hex) (미설정 시 인증 생략)

Extension VS Code 설정

설정 키 용도
gravityBridge.bridgePath Bridge 디렉토리 경로
gravityBridge.projectName 프로젝트 이름 (기본: git remote)
gravityBridge.hubUrl Hub WS URL (예: ws://localhost:8585/ws)
gravityBridge.registrationCode Hub 등록 코드

빌드 산출물

항목 경로 설명
VSIX extension/gravity-bridge-{ver}.vsix VS Code 확장 패키지
JS 출력 extension/out/*.js TypeScript 컴파일 결과물
SDK 복사 extension/out/sdk/ compile 시 자동 복사