cc-face 0.1.13 → 0.1.15
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 +20 -28
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
# cc-face:
|
|
1
|
+
# cc-face: turn claude code into an anime girl
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
monitors claude code and changes expression based on what claude is doing.
|
|
4
|
+
|
|
5
|
+

|
|
4
6
|
|
|
5
7
|
## Install
|
|
6
8
|
|
|
@@ -8,13 +10,11 @@ An expressive ASCII face that reacts to Claude Code in real-time. It monitors Cl
|
|
|
8
10
|
npm i -g cc-face
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Usage
|
|
13
|
+
requires node.js >= 18 and [claude code](https://docs.anthropic.com/en/docs/claude-code) installed.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
## usage
|
|
16
16
|
|
|
17
|
-
**Terminal 1** — launch
|
|
17
|
+
**Terminal 1** — launch claude code with the face server:
|
|
18
18
|
```bash
|
|
19
19
|
cc-face
|
|
20
20
|
```
|
|
@@ -24,14 +24,14 @@ cc-face
|
|
|
24
24
|
cc-face -face
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
## how it works
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
cc-face runs as two processes connected via a local socket:
|
|
30
|
+
|
|
31
|
+
1. **wrapper** (`cc-face`) — spawns claude code in a virtual terminal ([node-pty](https://github.com/microsoft/node-PTY)) and broadcasts state updates over socket
|
|
32
|
+
2. **renderer** (`cc-face -f`) — renders ASCII frames with smooth per-character transitions
|
|
33
|
+
|
|
34
|
+
frames are stored as JPEG, converted into ASCII at launch, and dynamically scaled to fit the terminal.
|
|
35
35
|
|
|
36
36
|
### Options
|
|
37
37
|
|
|
@@ -39,26 +39,18 @@ The face automatically detects Claude's state:
|
|
|
39
39
|
|---|---|
|
|
40
40
|
| `--face <path>` | Load a custom face definition |
|
|
41
41
|
| `-face, -f` | Run only the face renderer |
|
|
42
|
-
| `--theme dark\|light\|auto` | Color theme (default: `auto`) |
|
|
43
|
-
| `--no-face` | Plain passthrough, no face server |
|
|
44
42
|
| `--debug` | Print diagnostics before launching |
|
|
45
43
|
| `-h, --help` | Show help |
|
|
46
44
|
| `-v, --version` | Show version |
|
|
47
45
|
|
|
48
|
-
|
|
46
|
+
The face automatically detects Claude's state:
|
|
49
47
|
|
|
50
|
-
|
|
|
48
|
+
| Expression | Trigger |
|
|
51
49
|
|---|---|
|
|
52
|
-
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
cc-face runs as two processes connected via a Unix domain socket:
|
|
57
|
-
|
|
58
|
-
1. **Wrapper** (`cc-face`) — spawns Claude Code in a PTY, monitors the output stream for state changes (spinner characters, text output, etc.), and broadcasts state updates over IPC.
|
|
59
|
-
2. **Renderer** (`cc-face -face`) — connects to the wrapper, receives state updates, and renders the appropriate animated ASCII frames with smooth per-character transitions.
|
|
60
|
-
|
|
61
|
-
Each expression has 26-27 hand-drawn ASCII frames that loop with configurable timing. Transitions between expressions use a sigmoid-distributed per-character flip effect.
|
|
50
|
+
| **Idle** | claude is not active |
|
|
51
|
+
| **Listening** | You're typing a prompt |
|
|
52
|
+
| **Thinking** | claude is reasoning |
|
|
53
|
+
| **Typing** | claude is generating output |
|
|
62
54
|
|
|
63
55
|
## Custom faces
|
|
64
56
|
|