
터미널에서 작동하는 무료 자율형 코딩 에이전트 「Codeably」를 만들었습니다
요약
터미널 환경에서 작동하는 무료 자율형 코딩 에이전트인 Codeably를 소개합니다. 사용자의 API 키를 활용하여 비용 부담을 줄였으며, 30여 가지의 도구와 7개의 다양한 AI 프로바이더를 지원합니다.
핵심 포인트
- 자신의 API 키를 사용하여 월간 구독료 없이 이용 가능
- IDE 없이 터미널에서 직접 실행 가능한 가벼운 도구
- 코드 리팩터링, 테스트 작성, 문서 생성 등 30종의 툴 탑재
- Groq, Gemini, Ollama 등 7개 프로바이더 지원
서론
AI 코딩 툴(Cursor, GitHub Copilot, Windsurf 등)은 편리하지만, 월간 이용료가 발생하는 점이 고민거리입니다.
그래서 만든 것이 Codeably 입니다.
💰 이용 요금 $0 — 자신의 API 키를 사용하기만 하면 됨
🖥️ 터미널에서 작동 — IDE는 불필요
🔧 30종류의 툴 탑재
🌐 7개의 프로바이더(Provider) 대응 (무료 범위 있음)
설치
# 글로벌 설치 (권장)
npm install -g codeably
npx codeably "하고 싶은 작업"
Node.js 18 이상이 필요합니다.
기본적인 사용법
# 작업을 직접 전달
codeably "로그인 폼에 유효성 검사를 추가해줘"
codeably "src/utils.js 의 테스트를 작성해줘"
codeably "auth.js 를 리팩터링(Refactoring)해서 작은 함수로 분할해줘"
codeably clean # 데드 코드(Dead code)를 검출·삭제
codeably review # 최근의 git 변경 사항을 AI가 코드 리뷰
codeably docs # 프로젝트의 문서(Documentation)를 자동 생성
codeably init # 새로운 프로젝트를 스캐폴딩(Scaffolding)
codeably config # 프로바이더(Provider)나 API 키를 변경
codeably whoami # 현재의 프로바이더(Provider)와 모델을 확인
codeably history # 최근 세션 이력
단축키 설정 (cb 명령어)
매번 codeably 라고 입력하는 것이 번거로운 분들을 위해, cb 라는 단축 명령어를 설정할 수 있습니다.
macOS / Linux / WSL:
bash install-shortcut.sh
source ~/.zshrc
Windows (PowerShell):
.\install-shortcut.ps1
. $PROFILE
설정 후:
cb "auth.js를 리팩터링해줘"
cb clean
cb review
대응 프로바이더 (7종류)
자신의 API 키를 사용하므로, 비용은 프로바이더(Provider)의 요금뿐입니다.
무료 범위만으로도 충분히 사용할 수 있습니다.
| 프로바이더 (Provider) | 모델 | 무료 범위 | 획득처 |
|---|---|---|---|
| Groq | Llama 3.3 70B | 1일 14,400 요청 | console.groq.com |
| Gemini | Gemini 2.0 Flash | 1일 1,500 요청 | aistudio.google.com |
| Ollama | CodeLlama 등 | 완전 무료 (로컬) | ollama.com |
| OpenRouter | 100+ 모델 | 무료 모델 있음 | openrouter.ai |
| Anthropic | Claude Sonnet 4 | 가입 시 $5 제공 | console.anthropic.com |
| Mistral | Mistral Large | 무료 트라이얼 | console.mistral.ai |
| OpenAI | GPT-4o | 종량제 과금 | platform.openai.com |
최초 셋업
codeably 라고 입력하면, 처음 한 번만 셋업 위저드(Setup Wizard)가 실행됩니다:
╭─────────────────────────────────────────────────────╮
│ >/< codeably │
│ autonomous coding agent for your terminal │
│ 7 providers 30 tools free forever │
╰─────────────────────────────────────────────────────╯
Choose a provider:
- Anthropic (Claude Sonnet 4) Free $5 credit on signup
- OpenAI (GPT-4o) Pay per use
- Groq (Llama 3.3 70B) FREE — 14,400 requests/day
- Google (Gemini 2.0 Flash) FREE — 1,500 requests/day
- Mistral (Mistral Large) Free trial credits
- OpenRouter (100+ models) FREE models available
- Ollama (local, offline) FREE forever
your choice (1-7): _
설정은 ~/.codeably/config.json に 저장됩니다. 키는 절대로 외부에 전송되지 않습니다.
작동 원리
모든 태스크는 동일한 루프(loop)로 처리됩니다:
관찰 (OBSERVE) → 파일 목록·언어 감지·관련 코드 읽기
사고 (THINK) → 무엇을·어떤 순서로 할지 결정
실행 (ACT) → 파일 쓰기·편집·삭제·명령어 실행
검증 (VERIFY) → 테스트·빌드로 동작 확인
완료 (DONE) → 변경 내용을 한 줄로 보고
완료되거나 스텝 상한(기본값 50)에 도달할 때까지 자동으로 루프합니다.
30종류의 도구 목록
파일 조작
| 도구 | 설명 |
|---|---|
| read_file | 파일을 읽음 (행 범위 지정 가능) |
| write_file | 파일을 생성·덮어쓰기 |
| patch_file | 파일 내의 문자열을 안전하게 치환 |
| append_file | 파일 끝에 내용 추가 |
| insert_lines | 지정된 행에 콘텐츠 삽입 |
| delete_lines | 지정된 행 범위 삭제 |
| copy_file | 파일을 복사 |
| move_file | 파일을 이동·이름 변경 |
| delete_file | 파일을 삭제 (확인 필수) |
| delete_files_bulk | 여러 파일을 일괄 삭제 (확인 필수) |
디렉토리·검색
| 도구 | 설명 |
|---|---|
| make_dir | 디렉토리 생성 |
| list_files | 디렉토리 트리 탐색 |
| list_dir | 파일 크기를 포함한 목록 |
| search_code | 모든 파일에서 패턴 검색 |
| find_files | glob 패턴으로 파일 검색 |
| grep_replace | 여러 파일에서 일괄 치환 |
쉘·Git
| 도구 | 설명 |
|---|---|
| run_command | 쉘 (shell) 명령어 실행 |
| run_script | 여러 줄의 bash 스크립트 실행 |
| git_status | 변경된 파일 표시 |
| git_diff | 차이점(diff) 표시 |
| git_log | 커밋 (commit) 히스토리 표시 |
| git_commit | 모든 변경 사항을 커밋 |
안전·제어
| 도구 | 설명 |
|---|---|
| confirm_delete | 삭제 전 사용자 확인 (강제) |
| done | 태스크 완료를 알림 |
안전성에 대하여
Codeably는 파일을 삭제하기 전에 반드시 확인을 요청합니다:
⚠ 삭제 확인이 필요합니다
이유: 사용하지 않는 파일, import가 0개
삭제할 파일:
-
src/old-utils.js
-
src/deprecated/auth.js
이 2개의 파일을 삭제하시겠습니까? [y/N]:
y를 입력하면 실행, 그 외에는 취소됩니다.
명시적인 승인 없이는 파일을 삭제할 수 없습니다.
실용적인 사용 예시
bash
기능 추가
codeably "Express 앱에 JWT 인증을 추가해줘"
codeably "속도 제한(rate limit)을 추가해줘 — IP당 분당 100개 요청"
codeably "모든 API 엔드포인트에 유효성 검사(validation)를 추가해줘"
codeably clean
codeably "src/ 디렉토리의 모든 console.log를 삭제해줘"
codeably "api.js의 콜백(callback)을 async/await로 전환해줘"
codeably "utils.js의 모든 export 함수의 유닛 테스트(unit test)를 작성해줘"
codeably "인증 라우트의 통합 테스트(integration test)를 추가해줘"
codeably "300줄짜리 UserController를 작은 파일들로 분할해줘"
codeably "하드코딩된 문자열을 상수 파일로 추출해줘"
codeably "이메일이 비어있을 때 로그인 폼이 충돌해 — 수정해줘"
codeably review
codeably docs
아키텍처
프레임워크 없음, LangChain 없음. 약 900줄의 심플한 설계입니다.
codeably/
├── codeably.js ← CLI 엔트리 포인트 (entry point)
├── install-shortcut.sh ← Mac/Linux 바로가기 설정
├── install-shortcut.ps1 ← Windows 바로가기 설정
├── config/
│ ├── providers.js ← 프로바이더 (provider) 정의
│ ├── store.js ← 설정 읽기/쓰기
│ └── setup.js ← 최초 설정 위저드 (wizard)
├── runtime/
│ ├── agent.js ← Observe-Think-Act 루프
│ ├── client.js ← 통합 LLM 클라이언트 (client)
│ ├── context.js ← 코드베이스 스냅샷 (snapshot)
│ └── memory.js ← 세션 히스토리 (history)
├── tools/
│ └── index.js ← 30가지 도구 정의
├── ui/
│ └── renderer.js ← 터미널 UI
└── docs/
├── README.ja.md ← 일본어 문서
├── README.zh.md ← 중국어 문서
└── README.ko.md ← 한국어 문서
테스트 실행
bashnpm test
30개의 도구 전체에 대해 25개 항목의 체크를 실행합니다. API 키는 필요하지 않습니다.
요약
| 항목 | 내용 |
|---|---|
| 요금 | $0 (본인의 키 사용) |
| 지원 OS | Mac / Linux / Windows |
| 지원 프로바이더 | 7종류 (무료 티어 있음) |
| 도구 수 | 30종류 |
| 코드 양 | 약 900행 |
| 의존성 | openai 패키지만 사용 |
GitHub은 여기로 👉 https://github.com/adamyasingh-05/Codeably
피드백 · Issue · Star를 기다리고 있습니다! ⭐
built with ❤ — 본인의 키로, 본인만의 에이전트를
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기