AI 기반 코드 편집기 개발: Node.js와 Gemini 활용
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
Node.js 개발자, AI 도구 개발에 관심 있는 프론트엔드/백엔드 개발자
(난이도: 중급 이상, CLI 도구 및 LLM 활용 경험 필요)
핵심 요약
- Gemini API를 활용한 자연어 기반 코드 생성 도구 개발
- Node.js CLI 툴로 디렉토리 생성, 파일 생성, 코드 작성 기능 구현
createDirectory
,writeCode
,executeAction
등 핵심 함수를 통해 자율적 작업 흐름(Agentic Workflow) 구현
섹션별 세부 요약
1. 프로젝트 개요
- Gemini API(Google Generative AI) 사용으로 자연어 입력 → 코드 생성 기능 구현
- CLI 도구로 사용자 입력을 처리하고, 프로젝트 구조 자동 생성 가능
- 예시:
"Create a server for a to-do application"
→ 자동으로package.json
, 서버 코드 생성
2. 주요 의존성 및 초기 설정
- 필요 모듈:
readline-sync
,fs
,path
,child_process
,@google/generative-ai
- 프로젝트 초기화:
npm init -y
로package.json
생성 - Gemini API 키 설정:
const API_KEY = "YOUR_GEMINI_API_KEY"
3. 핵심 함수 구현
createDirectory(directoryName)
: 디렉토리 존재 여부 확인 후 생성writeCode(fileName, description, language)
: Gemini API 호출 → 생성된 코드 추출 후 파일에 저장getInstructionsFromGemini(input)
: 사용자 입력을 JSON 형식의 작업 명령어(Action)로 변환
- 예: { "action": "createFile", "fileName": "index.js" }
4. 작업 실행 및 CLI 인터페이스
runEditor()
: 사용자 입력 반복 처리 → Gemini으로 명령어 생성 →executeAction()
호출- CLI 인터페이스 개선: ANSI 코드로 색상 적용 (예:
colors.cyan
,colors.green
)
5. 학습 및 도움말
- Agentic Workflow, LLM 기반 CLI 도구 개발 경험 획득
- 파일 시스템 조작, JSON 파싱, 프로세스 실행 등 Node.js 핵심 기술 습득
- 사용자에게 예시 입력 제공:
"generate a python script that reads a csv and plots a graph"
결론
- Gemini API와 Node.js CLI를 결합한 AI 기반 코드 편집기 개발 가능
- 자율적 작업 흐름(Agentic Workflow) 구현을 위해
executeAction()
과getInstructionsFromGemini()
함수 활용 - 프로젝트 확장 시
npm install
자동화, 추가 언어 지원 등으로 기능 확장 가능