@buzzni/saycode-cli 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -9
- package/index.mjs +1961 -202
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
npm i -g @buzzni/saycode-cli
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
> `node out/cli/index.mjs`를 쓰세요.
|
|
12
|
+
저장소에서 직접 빌드하려면 `npm run build:cli` 후 `node out/cli/index.mjs`를 쓰세요.
|
|
14
13
|
|
|
15
14
|
Node 20 이상이 필요합니다. 런타임 의존성은 없습니다 — 번들 하나로 동작합니다.
|
|
16
15
|
|
|
@@ -36,6 +35,11 @@ saycode # 터미널이면 탐색기, 파이프면 도움말
|
|
|
36
35
|
항목을 보여주지 않으며, 필요하면 `chat -m <machine> -d <path>`를 사용하세요. 기존 대화에 들어가면
|
|
37
36
|
직전 대화가 먼저 재생된 뒤 이어서 입력할 수 있습니다.
|
|
38
37
|
|
|
38
|
+
새 대화를 고르면 데스크톱과 같은 순서로 **Claude/Codex/opencode → 모델 → effort → 격리 worktree
|
|
39
|
+
→ 첨부 파일 → 음성 입력**을 선택합니다. Enter만 누르면 각 기본값을 유지합니다. worktree는 프로젝트
|
|
40
|
+
대화에서만 만들 수 있으며 생성 또는 경계 검증에 실패하면 원래 프로젝트 경로로 묵시적으로 돌아가지
|
|
41
|
+
않습니다.
|
|
42
|
+
|
|
39
43
|
`saycode watch`에서도 `Enter`로 그 세션에 바로 들어갈 수 있습니다.
|
|
40
44
|
|
|
41
45
|
대화를 끝내면(`/exit` 또는 `/detach`) **탐색기로 되돌아옵니다** — 목록은 새로 읽어오므로
|
|
@@ -96,6 +100,10 @@ saycode attach <session> --since 20 # 한 세션 따라가기 (직전 20개
|
|
|
96
100
|
saycode chat -p <프로젝트> # 그 프로젝트에서 새 세션 시작 (경로 자동)
|
|
97
101
|
saycode chat -m mini -d /repo # 경로를 직접 지정해 새 세션
|
|
98
102
|
saycode chat -s <session> # 기존 세션 이어서 대화 (직전 20개 재생)
|
|
103
|
+
saycode chat -p <프로젝트> --agent codex --model gpt-5.6-terra --effort high
|
|
104
|
+
saycode chat -p <프로젝트> --worktree --file ./screenshot.png
|
|
105
|
+
saycode chat -p <프로젝트> --voice # 마이크 녹음 → 전사 → 첫 프롬프트
|
|
106
|
+
saycode chat -p <프로젝트> --voice-file ./prompt.wav
|
|
99
107
|
```
|
|
100
108
|
|
|
101
109
|
`-m`은 머신 id 접두사 또는 host 부분 문자열로 매칭합니다. 여러 개가 걸리면 후보를 보여주고 멈춥니다 —
|
|
@@ -103,15 +111,22 @@ saycode chat -s <session> # 기존 세션 이어서 대화 (직전 20개
|
|
|
103
111
|
|
|
104
112
|
## 대화에서 나가기
|
|
105
113
|
|
|
106
|
-
|
|
114
|
+
채팅 하단 상태가 현재 입력 가능 여부를 그대로 나타냅니다.
|
|
107
115
|
|
|
108
116
|
```
|
|
109
|
-
|
|
117
|
+
● Ready — you can type
|
|
118
|
+
› 다음 작업을 진행해줘
|
|
119
|
+
● Agent is responding — input locked · Ctrl+C for options
|
|
110
120
|
⏺ Bash(npm test)
|
|
111
121
|
│ running tests...
|
|
112
122
|
^C [Enter] keep watching · [d] detach, agent keeps working · [s] stop the response
|
|
113
123
|
```
|
|
114
124
|
|
|
125
|
+
`Agent is responding` 동안 stdin은 raw/no-echo로 잠겨 일반 문자와 Enter가 화면에 나타나거나 다음
|
|
126
|
+
프롬프트에 쌓이지 않습니다. 권한 요청 때만 `◆ Action required — permission response only`로 바뀌고
|
|
127
|
+
해당 선택 입력을 받습니다. 에이전트 턴이 끝나 `Ready`가 표시된 뒤에만 일반 프롬프트가 열립니다.
|
|
128
|
+
|
|
129
|
+
에이전트가 작업 중일 때 **`Ctrl+C`를 누르면 선택지가 뜹니다.**
|
|
115
130
|
한 글자만 누르면 됩니다 (Enter 불필요). `Ctrl+C`를 한 번 더 누르면 `d`와 같습니다 —
|
|
116
131
|
반복해서 누르는 건 "빨리 나가자"는 뜻이고, 나가는 건 되돌릴 수 있지만 작업을 죽이는 건
|
|
117
132
|
되돌릴 수 없기 때문입니다.
|
|
@@ -124,13 +139,23 @@ saycode chat -s <session> # 기존 세션 이어서 대화 (직전 20개
|
|
|
124
139
|
| `Ctrl+C` (유휴 중) | CLI를 종료합니다 |
|
|
125
140
|
| `/detach` | 프롬프트에서 치는 `d`의 별칭 |
|
|
126
141
|
| `/exit` | 대화를 떠납니다 (탐색기에서 왔다면 탐색기로 복귀) |
|
|
142
|
+
| `/voice` | 마이크로 다음 프롬프트를 녹음·전사합니다 |
|
|
143
|
+
| `/voice <audio-path>` | 기존 음성 파일을 다음 프롬프트로 전사합니다 |
|
|
127
144
|
|
|
128
145
|
**어느 경우에도 원격 세션은 죽지 않습니다.** 데스크탑이나 다른 터미널에서 하던 작업을
|
|
129
146
|
CLI를 닫았다는 이유로 파괴하지 않습니다.
|
|
130
147
|
|
|
131
|
-
응답이 오래 걸릴 때
|
|
148
|
+
응답이 오래 걸릴 때 `Ctrl+C` → `d`로 빠져나와 `saycode watch`로 진행만 지켜보다가,
|
|
132
149
|
끝나면 `saycode chat -s <id>`로 돌아오는 흐름을 의도했습니다.
|
|
133
150
|
|
|
151
|
+
## 답변 표시
|
|
152
|
+
|
|
153
|
+
에이전트 답변의 제목·목록·인용·굵게·기울임·취소선·인라인 코드·링크·fenced code block을
|
|
154
|
+
터미널 표현으로 바꾸고, 현재 터미널 폭에서 좌우 여백을 뺀 최대 100열로 줄바꿈합니다. 한글과
|
|
155
|
+
emoji의 표시 폭도 반영합니다. 링크는 파이프 출력에서도 목적지를 잃지 않도록 URL을 함께 남깁니다.
|
|
156
|
+
긴 도구 stdout은 첫 3줄까지만 표시하고 종료 시 생략한 줄 수와 마지막 줄을 요약하며, stderr는
|
|
157
|
+
숨기지 않습니다. `NO_COLOR`이거나 파이프로 출력해도 `◆`, `•`, `│`, `┌─` 같은 구조 표시는 남습니다.
|
|
158
|
+
|
|
134
159
|
## 권한 승인
|
|
135
160
|
|
|
136
161
|
에이전트가 권한을 요청하면 인라인으로 물어봅니다.
|
|
@@ -145,7 +170,7 @@ CLI를 닫았다는 이유로 파괴하지 않습니다.
|
|
|
145
170
|
|
|
146
171
|
## 아직 안 되는 것
|
|
147
172
|
|
|
148
|
-
프로젝트
|
|
173
|
+
프로젝트 생성·기존 worktree 목록 관리/삭제·코드리뷰·배포·커넥터 커맨드, 원격 터미널(PTY), 마우스 클릭.
|
|
149
174
|
자세한 내용은 `specs/saycode-cli/spec.md`와 `specs/saycode-cli-navigation/spec.md`의 비목표 절.
|
|
150
175
|
|
|
151
176
|
## 릴리스 (메인테이너용)
|
|
@@ -154,11 +179,11 @@ GitHub Actions 가 태그로 발행합니다 (`.github/workflows/publish-saycode
|
|
|
154
179
|
|
|
155
180
|
```bash
|
|
156
181
|
# 1. 버전 올리기 — 데스크탑 앱 버전과 무관합니다
|
|
157
|
-
vi cli/manifest.json # "version": "0.1.
|
|
182
|
+
vi cli/manifest.json # "version": "0.1.3"
|
|
158
183
|
|
|
159
184
|
# 2. 커밋하고 태그를 밀면 끝
|
|
160
|
-
git tag saycode-cli-v0.1.1
|
|
161
|
-
git push origin saycode-cli-v0.1.
|
|
185
|
+
git tag -a saycode-cli-v0.1.3 -m "Release saycode-cli 0.1.3"
|
|
186
|
+
git push origin saycode-cli-v0.1.3
|
|
162
187
|
```
|
|
163
188
|
|
|
164
189
|
워크플로는 발행 전에 이 순서로 막습니다:
|