projmux 0.4.4 → 0.4.6
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-ko.md +58 -269
- package/README.md +57 -259
- package/docs/agent-workflow.md +56 -0
- package/docs/architecture.md +199 -0
- package/docs/assets/projmux-icon.png +0 -0
- package/docs/assets/projmux-shell-sidebar.gif +0 -0
- package/docs/cli.md +429 -0
- package/docs/configuration.md +127 -0
- package/docs/hooks.md +118 -0
- package/docs/install.md +99 -0
- package/docs/keybindings.md +337 -0
- package/docs/migration-plan.md +82 -0
- package/docs/notify-queue.md +199 -0
- package/docs/npm-distribution.md +86 -0
- package/docs/picker-ui-plan.md +111 -0
- package/docs/pr-guideline.md +106 -0
- package/docs/repo-layout.md +50 -0
- package/docs/roadmap.md +95 -0
- package/docs/shell-autostart.md +33 -0
- package/docs/statusbar.md +151 -0
- package/docs/testing.md +57 -0
- package/docs/upgrading.md +100 -0
- package/docs/usage-tracking.md +153 -0
- package/package.json +7 -5
package/README-ko.md
CHANGED
|
@@ -1,318 +1,107 @@
|
|
|
1
1
|
# projmux
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="docs/assets/projmux-icon.png" alt="projmux icon" width="112">
|
|
5
|
+
</p>
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
attention signal을 함께 제공합니다. 자체 tmux 앱(`projmux shell`)으로 실행할
|
|
8
|
-
수도 있고, 기존 tmux 서버에 같은 기능을 설치할 수도 있습니다.
|
|
7
|
+
프로젝트별 tmux workspace를 빠르게 전환하고, preview/status context/AI pane
|
|
8
|
+
attention까지 함께 다루는 터미널 workspace 도구입니다.
|
|
9
9
|
|
|
10
|
-
[
|
|
11
|
-
|
|
12
|
-
## 왜 projmux인가
|
|
13
|
-
|
|
14
|
-
많은 tmux project switcher는 "디렉터리를 고르고 세션에 붙는다"에서 멈춥니다.
|
|
15
|
-
`projmux`는 그 흐름을 기본값으로 삼고, 매일 쓰는 터미널 workspace에 필요한
|
|
16
|
-
앱 수준의 요소를 더합니다.
|
|
17
|
-
|
|
18
|
-
- **프로젝트 정체성이 안정적으로 유지됩니다.** directory, pin, live session,
|
|
19
|
-
preview selection, lifecycle command가 같은 session model을 공유합니다.
|
|
20
|
-
- **전환하기 전에 맥락을 볼 수 있습니다.** popup과 sidebar에서 session,
|
|
21
|
-
window, pane, git branch, Kubernetes context, pane metadata를 미리 봅니다.
|
|
22
|
-
- **tmux layer를 손으로 이어 붙이지 않습니다.** popup launcher, window/pane
|
|
23
|
-
rename, status segment, pane border, attention badge, app mode에 필요한 tmux
|
|
24
|
-
설정을 `projmux`가 생성합니다.
|
|
25
|
-
- **AI pane을 일급 workspace 요소로 다룹니다.** Codex/Claude pane을 실행하고,
|
|
26
|
-
agent 이름, topic, thinking/waiting 상태, pane/window/session badge, desktop
|
|
27
|
-
notification까지 tmux 안에서 추적합니다.
|
|
28
|
-
- **격리 실행과 기존 tmux 통합 중 선택할 수 있습니다.** `projmux shell`로 자체
|
|
29
|
-
tmux 앱을 쓰거나, 생성된 snippet을 기존 tmux 서버에 설치할 수 있습니다.
|
|
30
|
-
|
|
31
|
-
## 0.4 주요 변경
|
|
10
|
+
[](https://www.npmjs.com/package/projmux)
|
|
11
|
+
[](https://github.com/crevissepartners/projmux/actions/workflows/ci.yml)
|
|
32
12
|
|
|
33
|
-
|
|
34
|
-
swallow 하는지 진단한 뒤, Ghostty 또는 Windows Terminal 설정에 맞는
|
|
35
|
-
CSI-u 바인딩을 자동 머지한다.
|
|
36
|
-
- **`projmux doctor`** — 런타임 의존성 점검 + 최소 버전 강제 (tmux 3.4,
|
|
37
|
-
fzf 0.55).
|
|
38
|
-
- **`projmux focus`** — AI reply-ready 와 status-bar notify 클릭이 공유하는
|
|
39
|
-
통합 switch-client 디스패처.
|
|
40
|
-
- **영속 notify queue** — `projmux notify push|list|ack|reconcile` 가 TTL,
|
|
41
|
-
severity, source, target 메타데이터를 가진 큐를 디스크에 보존한다.
|
|
42
|
-
자세한 내용은 [notify-queue.md](docs/notify-queue.md).
|
|
43
|
-
- **Authoritative 사용량 추적** — `projmux usage` 가 Claude OAuth usage
|
|
44
|
-
endpoint 와 Codex 로컬 rollout 의 `rate_limits` 를 직접 읽는다.
|
|
45
|
-
자세한 내용은 [usage-tracking.md](docs/usage-tracking.md).
|
|
46
|
-
- **Two-line clickable status bar** — row 0 는 native window list 를 그대로
|
|
47
|
-
살려 탭 클릭으로 전환할 수 있고, row 1 은 좌측 notify HUD 와 우측 usage
|
|
48
|
-
HUD 로 분할된다. 폭이 좁아지면 두 세그먼트 모두 단계적으로 축소된다.
|
|
49
|
-
자세한 내용은 [statusbar.md](docs/statusbar.md).
|
|
50
|
-
|
|
51
|
-
## 무엇을 하나
|
|
13
|
+
[English README](README.md)
|
|
52
14
|
|
|
53
|
-
|
|
54
|
-
- 기존 session을 window/pane preview와 함께 탐색.
|
|
55
|
-
- `fzf` 기반 popup/sidebar navigation 제공.
|
|
56
|
-
- 자주 쓰는 프로젝트 pin 관리와 일반적인 source root 자동 탐색.
|
|
57
|
-
- window/pane preview 선택 상태 저장 및 빠른 순환.
|
|
58
|
-
- launcher, rename prompt, pane border, status segment, attention hook을 위한
|
|
59
|
-
tmux binding 생성.
|
|
60
|
-
- git branch와 Kubernetes context/namespace를 status area에 표시.
|
|
61
|
-
- Two-line clickable status bar — row 0 의 native 윈도우 목록은 탭 클릭으로
|
|
62
|
-
바로 전환되고, row 1 은 notify(좌)와 AI usage(우) HUD 세그먼트로 분할된다.
|
|
63
|
-
- Codex/Claude/plain shell split을 만들고 agent/topic/status/notification 상태를
|
|
64
|
-
tmux UI에 표시.
|
|
15
|
+

|
|
65
16
|
|
|
66
|
-
##
|
|
17
|
+
## 무엇인가
|
|
67
18
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
19
|
+
`projmux`는 프로젝트 디렉터리를 오래 유지되는 tmux session으로 연결합니다.
|
|
20
|
+
프로젝트 전환, session preview, AI split 실행, tmux 안의 상태 표시를 한
|
|
21
|
+
키보드 중심 workspace 앱으로 묶습니다.
|
|
71
22
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
- sidebar 또는 popup에서 프로젝트 이동,
|
|
75
|
-
- attach 전에 session 내용을 미리 확인,
|
|
76
|
-
- 현재 workspace에 Codex, Claude, plain shell split 추가,
|
|
77
|
-
- window와 AI pane topic rename,
|
|
78
|
-
- 확인이 필요한 pane을 badge와 desktop notification으로 파악.
|
|
23
|
+
터미널 workspace를 한 명령으로 열고, 한 세트의 키로 project/window/pane,
|
|
24
|
+
notification, settings 사이를 오가고 싶을 때 사용합니다.
|
|
79
25
|
|
|
80
26
|
## 요구 사항
|
|
81
27
|
|
|
82
|
-
- [
|
|
83
|
-
- [tmux](https://github.com/tmux/tmux/wiki/Installing)
|
|
84
|
-
- [fzf](https://github.com/junegunn/fzf#installation)
|
|
85
|
-
- `bash`, `zsh`, `sh` 같은 Unix shell — `projmux shell` 이 만드는 앱 tmux
|
|
86
|
-
설정은 절대 경로 `$SHELL` 을 사용하고, 없으면 `/bin/sh` 로 fallback 합니다.
|
|
87
|
-
- [git](https://git-scm.com/downloads) — branch/status segment.
|
|
88
|
-
- `stty` — POSIX 터미널 제어, `projmux setup` 에서 사용. macOS/Linux 기본 시스템에 이미 포함, Windows 호스트에선 해당 없음.
|
|
89
|
-
- [kubectl](https://kubernetes.io/docs/tasks/tools/) — 선택, Kubernetes status segment 사용 시에만.
|
|
90
|
-
|
|
91
|
-
데스크톱 알림: Linux 는 `notify-send`, WSL 은 `powershell.exe` 토스트를 사용합니다.
|
|
92
|
-
다른 실행 파일로 보내려면 `PROJMUX_NOTIFY_HOOK` 을 설정하세요.
|
|
28
|
+
- [Node.js](https://nodejs.org/)와 npm: 기본 설치 경로에 필요합니다.
|
|
29
|
+
- [tmux](https://github.com/tmux/tmux/wiki/Installing) **3.4 이상**.
|
|
30
|
+
- [fzf](https://github.com/junegunn/fzf#installation) **0.65.0 이상**.
|
|
93
31
|
|
|
94
|
-
`projmux doctor
|
|
95
|
-
|
|
32
|
+
설치 후 `projmux doctor`로 로컬 runtime을 확인하세요. 필요한 `fzf`는
|
|
33
|
+
junegunn/fzf CLI binary입니다. `npm i fzf`는 다른 JavaScript library입니다.
|
|
96
34
|
|
|
97
35
|
## 설치
|
|
98
36
|
|
|
99
37
|
```sh
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
binary 는 `$(go env GOBIN)` (설정된 경우) 또는 `$(go env GOPATH)/bin`
|
|
104
|
-
(기본값 `~/go/bin`) 에 떨어집니다. 해당 디렉터리가 `PATH` 에 있어야 합니다:
|
|
105
|
-
|
|
106
|
-
```sh
|
|
107
|
-
export PATH="$(go env GOPATH)/bin:$PATH"
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
확인:
|
|
111
|
-
|
|
112
|
-
```sh
|
|
38
|
+
npm install -g projmux
|
|
113
39
|
projmux version
|
|
114
40
|
```
|
|
115
41
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
`PROJMUX_PROJDIR` 은 명시적으로 설정했을 때 projmux 가 picker/탐색에서 사용할
|
|
119
|
-
primary 프로젝트 루트입니다. 설정하지 않으면 projmux 는 canonical repo root 를
|
|
120
|
-
가정하지 않습니다. 탐색은 pin, 살아 있는 session, saved workdirs, 그리고 존재할
|
|
121
|
-
때만 참고하는 약한 common-folder probe(`~/source`, `~/work`, `~/projects`,
|
|
122
|
-
`~/src`, `~/code`) 를 사용합니다.
|
|
123
|
-
|
|
124
|
-
```sh
|
|
125
|
-
export PROJMUX_PROJDIR="/your/path"
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
`~/.bashrc`, `~/.zshrc` 또는 사용 중인 shell rc 파일에 한 줄 추가하면 됩니다. 첫 실행
|
|
129
|
-
이후에는 `~/.config/projmux/projdir` 에 memoize 되므로, 이후 env 가 없어도 같은
|
|
130
|
-
루트가 유지됩니다.
|
|
131
|
-
|
|
132
|
-
`PROJMUX_PROJDIR` 은 OS-native PATH 형식의 multi-path 도 받습니다 (Linux/macOS
|
|
133
|
-
는 `:`, Windows 는 `;`). 첫 번째 비어있지 않은 항목이 primary 프로젝트 루트가
|
|
134
|
-
되고, 이후 항목은 `PROJMUX_MANAGED_ROOTS` 처럼 managed roots 검색 목록 앞에
|
|
135
|
-
prepend 됩니다. saved 파일에는 primary 만 memoize 됩니다.
|
|
136
|
-
|
|
137
|
-
```sh
|
|
138
|
-
# Linux/macOS — primary repo + 보조 검색 root
|
|
139
|
-
export PROJMUX_PROJDIR="/main/repos:/srv/work/repos"
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
#### 최초 설치 시 projdir 지정
|
|
143
|
-
|
|
144
|
-
```sh
|
|
145
|
-
PROJMUX_PROJDIR=/your/path go install github.com/crevissepartners/projmux/cmd/projmux@latest
|
|
146
|
-
PROJMUX_PROJDIR=/your/path projmux tmux apply
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
env 가 살아있는 첫 실행이 `~/.config/projmux/projdir` 에 값을 기록하므로,
|
|
150
|
-
이후 새 shell 에서 env 없이도 같은 루트가 유지됩니다.
|
|
151
|
-
|
|
152
|
-
### 소스에서 빌드
|
|
153
|
-
|
|
154
|
-
```sh
|
|
155
|
-
git clone https://github.com/crevissepartners/projmux.git
|
|
156
|
-
cd projmux
|
|
157
|
-
make install
|
|
158
|
-
```
|
|
42
|
+
npm package는 작은 Node.js shim과 Linux/macOS x64/arm64용 projmux binary를
|
|
43
|
+
설치합니다. 일반 사용자의 기본 배포 경로는 npm입니다.
|
|
159
44
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
반영하도록 합니다. 설치 위치는 `INSTALL_DIR=/usr/local/bin` 으로 override.
|
|
45
|
+
수동 Go 설치, source checkout, GitHub Release, packaging 세부 사항은
|
|
46
|
+
[Install](docs/install.md)을 참고하세요.
|
|
163
47
|
|
|
164
48
|
## 빠른 시작
|
|
165
49
|
|
|
166
|
-
격리된 projmux tmux 앱을
|
|
50
|
+
격리된 projmux tmux 앱을 엽니다:
|
|
167
51
|
|
|
168
52
|
```sh
|
|
169
53
|
projmux shell
|
|
170
54
|
```
|
|
171
55
|
|
|
172
|
-
|
|
173
|
-
하단 좌측 뱃지에는 현재 프로젝트 이름이, 우측에는 경로/kube/git/시간이 표시됩니다.
|
|
174
|
-
|
|
175
|
-
키가 동작하지 않으면 `projmux setup` 으로 터미널이 어떤 시퀀스를 swallow 하는지
|
|
176
|
-
진단한 뒤, `projmux init [terminal] --apply` (terminal 생략 시 자동 감지) 로
|
|
177
|
-
필요한 CSI-u 바인딩을 터미널 설정에 머지하세요. 여러 머신을 dotfiles 로
|
|
178
|
-
관리하는 경우에는 `--allow-symlink` 또는 `--config <path>` 로 의도를 명시합니다.
|
|
179
|
-
전체 흐름과 수동 CSI-u fallback 은 [터미널 키 설정](docs/keybindings.md) 참고.
|
|
180
|
-
|
|
181
|
-
뭔가 동작이 이상하면 `projmux doctor` 가 어떤 의존성이 누락/구버전인지와
|
|
182
|
-
설치 방법을 알려줍니다. 지원 버전은 [요구 사항](#요구-사항) 참고.
|
|
183
|
-
|
|
184
|
-
## 업그레이드
|
|
185
|
-
|
|
186
|
-
`projmux upgrade` 는 `go install` 로 binary 를 다시 받아 atomically 교체하고,
|
|
187
|
-
동작 중인 `-L projmux` 서버에 라이브 tmux 설정까지 다시 적용합니다.
|
|
188
|
-
|
|
189
|
-
```sh
|
|
190
|
-
projmux upgrade # @latest 로 교체 + apply
|
|
191
|
-
projmux upgrade --ref @v0.2.0 # 특정 tag 고정
|
|
192
|
-
projmux upgrade --ref @main # branch tracking
|
|
193
|
-
projmux upgrade --target /usr/local/bin/projmux # 다른 경로 교체
|
|
194
|
-
projmux upgrade --no-apply # 'projmux tmux apply' 생략
|
|
195
|
-
projmux upgrade --dry-run # 실행 없이 단계만 출력
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
upgrade 는 호출 shell 의 `PROJMUX_PROJDIR` 을 읽어 primary (첫 번째) 경로를
|
|
199
|
-
`~/.config/projmux/projdir` 에 memoize 하므로, 새 binary 도 같은 프로젝트 루트
|
|
200
|
-
컨텍스트를 유지합니다.
|
|
201
|
-
|
|
202
|
-
업그레이드와 동시에 새 프로젝트 루트로 전환하고 싶다면 env 와 함께 호출하세요:
|
|
203
|
-
|
|
204
|
-
```sh
|
|
205
|
-
PROJMUX_PROJDIR=/new/path projmux upgrade
|
|
206
|
-
|
|
207
|
-
# multi-path 도 동일하게 동작합니다. saved 파일에는 primary 만 기록됩니다.
|
|
208
|
-
PROJMUX_PROJDIR="/main/repos:/secondary/repos" projmux upgrade # Linux/macOS
|
|
209
|
-
# Windows: PROJMUX_PROJDIR="C:\main\repos;C:\secondary\repos"
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
## 사용법
|
|
213
|
-
|
|
214
|
-
일상 작업은 `projmux shell` 안의 tmux 키바인딩으로 진행합니다 —
|
|
215
|
-
[터미널 키 설정](docs/keybindings.md) 참고. pin / preview / status helper /
|
|
216
|
-
`upgrade` 같은 CLI 전체 표면은 `projmux help` 또는 `<command> --help` 로 확인할
|
|
217
|
-
수 있습니다.
|
|
218
|
-
|
|
219
|
-
## 프로젝트 탐색 방식
|
|
220
|
-
|
|
221
|
-
`projmux switch`는 pinned directory, 현재 살아 있는 tmux session, 발견된
|
|
222
|
-
project root를 합쳐 후보를 만듭니다. 명시적인 검색 root 가 없으면 기본 탐색은
|
|
223
|
-
존재하는 경우 `~/source`, `~/work`, `~/projects`, `~/src`, `~/code` 같은 약한
|
|
224
|
-
common-folder probe 를 참고합니다. canonical `~/source/repos` root 는 가정하지
|
|
225
|
-
않습니다. `projmux settings`의 `Project Picker > Add Project...`는 filesystem
|
|
226
|
-
root를 depth 3까지 스캔하므로 약한 probe 밖의 프로젝트도 picker 후보로 추가할
|
|
227
|
-
수 있습니다. 세션 이름은 정규화된 디렉터리 경로에서 만들어지므로 같은 프로젝트는
|
|
228
|
-
다시 실행해도 같은 tmux 세션으로 연결됩니다.
|
|
229
|
-
|
|
230
|
-
탐색 root를 영구적으로 커스터마이즈하려면 Project Picker 섹션의 다음 항목을
|
|
231
|
-
사용하세요:
|
|
56
|
+
앱 안에서:
|
|
232
57
|
|
|
233
|
-
-
|
|
234
|
-
- `
|
|
235
|
-
|
|
236
|
-
|
|
58
|
+
- `Alt-1`: project sidebar.
|
|
59
|
+
- `Alt-2`: notification list.
|
|
60
|
+
- `Alt-3`: existing-session picker.
|
|
61
|
+
- `Alt-4`: AI split picker.
|
|
62
|
+
- `Alt-5`: settings.
|
|
63
|
+
- `Alt-6`: project switcher popup.
|
|
237
64
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
65
|
+
전체 key map은 [Terminal Keybindings](docs/keybindings.md)를 참고하세요. 키가
|
|
66
|
+
동작하지 않으면 tmux 밖에서 `projmux setup`을 실행한 뒤,
|
|
67
|
+
지원 터미널에서는 `projmux init [terminal] --apply`를 사용하세요.
|
|
241
68
|
|
|
242
|
-
|
|
243
|
-
`#`로 시작하는 줄은 주석으로 무시됩니다. env가 설정되어 있을 때는 무시되며
|
|
244
|
-
env가 비었을 때만 사용됩니다.
|
|
69
|
+
## 일상 사용
|
|
245
70
|
|
|
246
|
-
|
|
71
|
+
- project directory를 고르면 projmux가 tmux session을 만들거나 재사용합니다.
|
|
72
|
+
- 중요한 project는 pin으로 고정합니다.
|
|
73
|
+
- 전환 전에 window, pane, git branch, Kubernetes context, AI pane state를
|
|
74
|
+
preview합니다.
|
|
75
|
+
- env var를 직접 편집하지 않고 Settings > Project Picker에서 root와 workdir을
|
|
76
|
+
추가할 수 있습니다.
|
|
77
|
+
- Settings > About > Update 또는 `projmux update apply`로 업그레이드합니다.
|
|
247
78
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
부수 효과를 걸 때 활용하세요. 파일이 없거나 실행 비트가 빠져 있으면 조용히
|
|
252
|
-
건너뛰며, hook 실패는 세션 생성을 막지 않습니다. 환경 변수 계약, 예시,
|
|
253
|
-
문제 해결은 [Hooks](docs/hooks.md)를 참고하세요.
|
|
79
|
+
`PROJMUX_PROJDIR`, managed roots, notification, usage tracking 같은 자세한
|
|
80
|
+
설정은 [Configuration](docs/configuration.md)을 참고하세요. installer별 update
|
|
81
|
+
동작은 [Upgrading](docs/upgrading.md)에 있습니다.
|
|
254
82
|
|
|
255
|
-
##
|
|
83
|
+
## 추가 문서
|
|
256
84
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
## AI 사용량 추적
|
|
267
|
-
|
|
268
|
-
`projmux usage` 는 Claude Code 와 Codex CLI 양쪽의 authoritative 5시간 / 주간
|
|
269
|
-
사용률을 보고한다. 두 어댑터 모두 upstream 의 계정 뷰를 직접 읽으므로 `claude
|
|
270
|
-
/usage` 와 `codex` 가 native 로 보여주는 숫자와 일치한다:
|
|
271
|
-
|
|
272
|
-
- **Claude** — `~/.claude/.credentials.json` 의 bearer 토큰으로
|
|
273
|
-
`GET https://api.anthropic.com/api/oauth/usage` 호출. 401 응답 시 한 번의
|
|
274
|
-
refresh round-trip 을 수행해 credentials 파일을 회전된 토큰으로 다시 쓴다.
|
|
275
|
-
토큰은 로그에 기록되지 않는다.
|
|
276
|
-
- **Codex** — 가장 최근의 `~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl` 에서
|
|
277
|
-
마지막 `rate_limits` 페이로드를 읽는다. `primary` 는 5시간 창,
|
|
278
|
-
`secondary` 는 주간 창에 매핑된다.
|
|
279
|
-
|
|
280
|
-
Snapshot 은 `<state>/projmux/usage/snapshots.json` (또는
|
|
281
|
-
`PROJMUX_USAGE_STATE_DIR`) 에 저장되며, tmux 상태바에서 `projmux status
|
|
282
|
-
usage` 가 실행될 때 최대 30초 주기로만 refresh 된다.
|
|
283
|
-
|
|
284
|
-
## 범위
|
|
285
|
-
|
|
286
|
-
`projmux`는 portable한 세션 관리 핵심을 담당합니다. 예를 들어 session naming,
|
|
287
|
-
project discovery, pin, preview state, tmux orchestration, status segment,
|
|
288
|
-
생성 가능한 tmux binding이 여기에 속합니다.
|
|
85
|
+
- [Install](docs/install.md)
|
|
86
|
+
- [Configuration](docs/configuration.md)
|
|
87
|
+
- [Terminal Keybindings](docs/keybindings.md)
|
|
88
|
+
- [CLI Reference](docs/cli.md)
|
|
89
|
+
- [Statusbar](docs/statusbar.md)
|
|
90
|
+
- [Hooks](docs/hooks.md)
|
|
91
|
+
- [Usage tracking](docs/usage-tracking.md)
|
|
92
|
+
- [Agent Workflow](docs/agent-workflow.md)
|
|
289
93
|
|
|
290
94
|
## 개발
|
|
291
95
|
|
|
292
|
-
자주 쓰는 명령:
|
|
293
|
-
|
|
294
96
|
```sh
|
|
295
97
|
make build
|
|
296
98
|
make fmt
|
|
297
99
|
make fix
|
|
298
100
|
make test
|
|
299
|
-
make test-integration
|
|
300
|
-
make test-e2e
|
|
301
|
-
make verify
|
|
302
101
|
```
|
|
303
102
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
- [Architecture](docs/architecture.md)
|
|
307
|
-
- [CLI Reference](docs/cli.md)
|
|
308
|
-
- [Statusbar](docs/statusbar.md)
|
|
309
|
-
- [Notify queue](docs/notify-queue.md)
|
|
310
|
-
- [Usage tracking](docs/usage-tracking.md)
|
|
311
|
-
- [Hooks](docs/hooks.md)
|
|
312
|
-
- [Migration Plan](docs/migration-plan.md)
|
|
313
|
-
- [Repo Layout](docs/repo-layout.md)
|
|
314
|
-
- [터미널 키 설정](docs/keybindings.md)
|
|
315
|
-
- [Agent Workflow](docs/agent-workflow.md)
|
|
103
|
+
기여자용 세부 사항은 [Testing](docs/testing.md), [Architecture](docs/architecture.md),
|
|
104
|
+
[Repo Layout](docs/repo-layout.md)을 참고하세요.
|
|
316
105
|
|
|
317
106
|
## 라이선스
|
|
318
107
|
|