# 명령줄 도구 (oneend)

Supabase CLI·Vercel CLI처럼 터미널과 CI에서 이 플랫폼을 다루는 도구예요. 같은 토큰으로 /api/v1을 불러요.

```
npm install -g oneend        또는 npx oneend <명령>
oneend login                 콘솔의 계정 → API · MCP 토큰에서 만든 토큰을 넣어요
oneend link                  이 폴더를 프로젝트에 연결 (.oneend/project.json)
```

```
oneend projects list|create        oneend status
oneend env ls|pull|push|set|rm     oneend deploy [--branch --commit | --dir --prod --prebuilt]
oneend deployments ls|inspect      oneend logs [--follow]     oneend rollback <id>
oneend functions ls|deploy|rm|invoke|download
oneend migration new|list|repair   oneend db push|pull
oneend gen types typescript
oneend branches list|create|merge|reset|delete
```

- 토큰은 `~/.config/oneend/config.json`에 본인만 읽을 수 있게(0600) 저장해요. CI에서는 `ONEEND_TOKEN` 환경 변수를 쓰세요.
- 마이그레이션 파일은 `oneend/migrations/<버전>_<이름>.sql`이고, `db push`가 blackwall://migrations의 `apply_migrations`를 불러요.
- `--json`을 붙이면 모든 명령이 JSON 한 덩어리로 답해요. 실패하면 0이 아닌 종료 코드를 돌려줘요.
- `deploy`는 빌드가 끝날 때까지 로그를 보여 주고, 실패하면 종료 코드 1이에요.
- 저장소가 없거나 `--dir` 또는 `--upload`를 주면 `deploy`는 폴더를 압축해 올리고 같은 빌드를 거쳐요(`.gitignore`와 `.oneendignore`를 따르고 `node_modules`와 `.git`은 빼요). `--prebuilt`는 빌드 없이 그대로, `--prod`는 프로덕션으로 배포해요.

---

https://end.blackall.ai/docs/cli?lang=ko
