lostvibe 0.0.0-stage → 0.8.0
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 +72 -2
- package/bin/lostvibe.mjs +753 -0
- package/package.json +32 -4
- package/src/collectors.mjs +198 -0
- package/src/connections.mjs +142 -0
- package/src/gitinfo.mjs +176 -0
- package/src/hooks.mjs +338 -0
- package/src/logs.mjs +586 -0
- package/src/prices.mjs +1127 -0
- package/src/push.mjs +56 -0
- package/src/remote.mjs +111 -0
- package/src/reported.mjs +43 -0
- package/src/scan.mjs +256 -0
- package/src/table.mjs +105 -0
package/README.md
CHANGED
|
@@ -1,3 +1,73 @@
|
|
|
1
|
-
#
|
|
1
|
+
# lostvibe
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[Lost Vibe Society](https://lostvibesociety.com)에 내 프로젝트를 심는 CLI.
|
|
4
|
+
AI 코딩 도구(Claude Code, Codex 등)의 로컬 로그와 git에서 **날짜별 합계 숫자**만 읽어 올린다.
|
|
5
|
+
|
|
6
|
+
## 보내는 것과 안 보내는 것
|
|
7
|
+
|
|
8
|
+
- 보낸다: 날짜·도구·모델별 토큰 합계, 커밋 수, 프로젝트 이름과 설명(사이트에서 직접 쓴 것).
|
|
9
|
+
- 안 보낸다: 소스 코드, 대화 내용, 응답별 기록, 비밀값.
|
|
10
|
+
- 받는 곳은 `https://lostvibesociety.com` 하나뿐이다.
|
|
11
|
+
- 공개 여부와 공개 항목은 사이트에서 사람이 직접 고른다. CLI는 공개를 바꿀 수 없다.
|
|
12
|
+
|
|
13
|
+
## 쓰는 법
|
|
14
|
+
|
|
15
|
+
사이트 You 탭에서 **AI로 가져오기**를 누르면 AI에게 붙여 넣을 지시문이 복사된다.
|
|
16
|
+
AI가 아래 명령을 대신 실행한다.
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
npx -y lostvibe@0.8.0 setup --token <사이트에서 받은 토큰>
|
|
20
|
+
npx -y lostvibe@0.8.0 draft --file .lostvibe/project.json
|
|
21
|
+
npx -y lostvibe@0.8.0 sync
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
여러 프로젝트를 한 번에 가져올 때:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
lostvibe scan --all --json # 목록(JSON)만 출력. 고를 때 쓴다
|
|
28
|
+
lostvibe setup # setup:"folder" 인 프로젝트: 그 폴더에서 (git 없어도 된다)
|
|
29
|
+
lostvibe setup --source <id> # setup:"source" 인 프로젝트: 로그만 남은 것, 어느 폴더에서나
|
|
30
|
+
lostvibe setup --merge <id>[,<id>] # 같은 프로젝트의 다른 폴더 기록을 합친다 (주 프로젝트 폴더에서)
|
|
31
|
+
lostvibe draft --file .lostvibe/project.json --of <N> # N: 이번에 가져오는 프로젝트 수 (1~200)
|
|
32
|
+
lostvibe draft --file project.json --project <프로젝트 id> --of <N> # 폴더 없는 프로젝트
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
`scan --all --json` 출력: `{"projects":[{"n","id","name","tokens","last","path","exists","git","setup","url"}]}`.
|
|
36
|
+
경로가 들어간 전체 목록은 `~/.lostvibe/scan-all.json`(권한 600)에만 저장되고 보내지 않는다.
|
|
37
|
+
|
|
38
|
+
토큰은 비밀이다. 화면·코드·저장소 어디에도 남기지 않는다.
|
|
39
|
+
|
|
40
|
+
## 자동 갱신 훅
|
|
41
|
+
|
|
42
|
+
`hooks install`은 Claude Code와 Codex에 `Stop`, `SessionEnd` 훅을 넣는다. 다른 훅은 건드리지 않고,
|
|
43
|
+
예전 버전이 넣은 Lost Vibe 훅은 찾아서 바꾼다. 훅은 항상 `~/.lostvibe/runtime/current`를 실행하므로
|
|
44
|
+
버전을 올려도 명령이 같아서 Codex를 다시 승인할 필요가 없다. `Stop`은 프로젝트마다 10분에 한 번만 동기화한다.
|
|
45
|
+
|
|
46
|
+
`hooks status`는 클라이언트마다 `미설치` / `설치됨·승인 전` / `승인됨·실행 기록 없음` / `실행됨`을 보여 준다.
|
|
47
|
+
Claude Code는 승인이 필요 없다. Codex는 Codex CLI에서 `/hooks`를 열고 Lost Vibe 항목 2개를 Trust 해야 한다.
|
|
48
|
+
|
|
49
|
+
## 명령
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
lostvibe scan [폴더] 폴더 하나를 읽어 그 폴더에 lostvibe.json 저장
|
|
53
|
+
lostvibe scan --all [--json] 로그 전체에서 내 프로젝트를 전부 찾아 표(또는 JSON)로 출력
|
|
54
|
+
lostvibe setup [--no-hooks] 현재 폴더의 프로젝트만 비공개로 등록하고 이 컴퓨터와 연결
|
|
55
|
+
lostvibe setup --source ID 폴더 없이 로그만 남은 프로젝트를 등록
|
|
56
|
+
lostvibe setup --merge ID[,ID] scan --all 의 다른 프로젝트를 이 프로젝트에 합친다
|
|
57
|
+
lostvibe draft --file F [--of N] [--project ID]
|
|
58
|
+
AI가 만든 JSON을 검토할 초안으로 보낸다
|
|
59
|
+
lostvibe sync 등록한 프로젝트의 바뀐 기록만 올린다
|
|
60
|
+
lostvibe hooks install 기존 훅을 보존하며 자동 갱신 연결
|
|
61
|
+
lostvibe hooks status 설치·승인·실행 상태 확인
|
|
62
|
+
lostvibe hooks remove Lostvibe가 추가한 항목만 제거
|
|
63
|
+
lostvibe collector add --project ID --slot result --command-json '[...]' [--cwd 폴더]
|
|
64
|
+
성과 조회 명령 등록 (--cwd 는 프로젝트 폴더 안)
|
|
65
|
+
lostvibe collector test --command-json '[...]' [--cwd 폴더]
|
|
66
|
+
보내지 않고 실행만 해서 "값: N (날짜)" 또는 실패 종류를 보여 준다
|
|
67
|
+
lostvibe collect 연결한 성과를 읽어 갱신
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
`collector test` 실패 종류: 환경 변수 없음 / 모듈을 찾지 못함 / 테이블 없음 / DB 연결 실패 / JSON 형식 오류 / 시간 초과 / 알 수 없는 오류.
|
|
71
|
+
명령의 출력과 오류 내용은 화면에 내보내지 않는다.
|
|
72
|
+
|
|
73
|
+
Node 22.15 이상. MIT.
|