@codesook/pi-welcome-screen 0.3.0 → 0.3.1
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 +252 -149
- package/package.json +36 -33
package/README.md
CHANGED
|
@@ -1,208 +1,311 @@
|
|
|
1
|
-
|
|
1
|
+
<h1 align="center">pi-welcome-screen</h1>
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
Customizable animated ASCII art welcome overlay for the <a href="https://github.com/earendil-works/pi-mono">Pi coding agent</a>.<br/>
|
|
5
|
+
Shows on session start with animated banner, info panel, countdown, and auto-dismiss.
|
|
6
|
+
</p>
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
<p align="center">
|
|
9
|
+
<img src="https://github.com/seenark/pi-welcome-screen/blob/main/assets/show-case.png?raw=true" alt="pi-welcome-screen showcase" width="1100" />
|
|
10
|
+
</p>
|
|
6
11
|
|
|
7
|
-
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://www.npmjs.com/package/@codesook/pi-welcome-screen"><img src="https://img.shields.io/npm/v/@codesook/pi-welcome-screen?color=mauve&label=npm" alt="npm" /></a>
|
|
14
|
+
<img src="https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white" alt="TypeScript" />
|
|
15
|
+
<img src="https://img.shields.io/badge/No_Build_Step-jiti-green" alt="No build step" />
|
|
16
|
+
</p>
|
|
8
17
|
|
|
9
|
-
|
|
10
|
-
- 📦 **Styled overlay box** — Box-drawing borders with background fill
|
|
11
|
-
- ⏱️ **Countdown timer** — Auto-dismisses after configurable seconds
|
|
12
|
-
- ⌨️ **Keyboard dismiss** — Press any key to dismiss immediately
|
|
13
|
-
- 🤖 **Auto-dismiss** — Hides when agent starts responding
|
|
14
|
-
- 🎨 **Catppuccin colors** — Full Mocha palette support
|
|
18
|
+
---
|
|
15
19
|
|
|
16
|
-
##
|
|
20
|
+
## ✨ Features
|
|
17
21
|
|
|
18
|
-
|
|
22
|
+
- 🎨 **6 animation styles** — wave, rainbow, glitch, matrix, typewriter, static
|
|
23
|
+
- 📦 **Styled overlay box** — box-drawing borders with background fill
|
|
24
|
+
- 📊 **Info panel** — model, keyboard tips, loaded resources, recent sessions (two-column layout on wide terminals)
|
|
25
|
+
- 🖼️ **Custom banner** — bring your own ASCII art via `banner.txt`
|
|
26
|
+
- ⏱️ **Auto-dismiss** — countdown, keypress, or agent activity
|
|
27
|
+
- 🎨 **Catppuccin Mocha** — full palette, all colors by name
|
|
19
28
|
|
|
20
|
-
|
|
21
|
-
2. Shows an overlay using `ctx.ui.custom({ overlay: true })`
|
|
22
|
-
3. The overlay displays an animated ASCII banner inside a styled box
|
|
23
|
-
4. Dismisses automatically on countdown, keypress, or agent activity
|
|
24
|
-
|
|
25
|
-
## Installation
|
|
26
|
-
|
|
27
|
-
### Option A — Local directory (recommended for development)
|
|
29
|
+
## 📦 Install
|
|
28
30
|
|
|
29
31
|
```bash
|
|
30
|
-
#
|
|
31
|
-
|
|
32
|
-
cd pi-welcome-screen
|
|
33
|
-
```
|
|
32
|
+
# From npm (recommended)
|
|
33
|
+
pi install npm:@codesook/pi-welcome-screen
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
# Try without installing
|
|
36
|
+
pi -e npm:@codesook/pi-welcome-screen
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"extensions": ["/path/to/pi-welcome-screen"]
|
|
40
|
-
}
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Or use the `-e` flag for quick testing:
|
|
38
|
+
# From git
|
|
39
|
+
pi install git:github.com/seenark/pi-welcome-screen
|
|
44
40
|
|
|
45
|
-
|
|
41
|
+
# Local development
|
|
42
|
+
git clone https://github.com/seenark/pi-welcome-screen.git
|
|
46
43
|
pi -e /path/to/pi-welcome-screen
|
|
47
44
|
```
|
|
48
45
|
|
|
49
|
-
|
|
46
|
+
After installing, just start `pi` — the welcome screen appears automatically on every session.
|
|
50
47
|
|
|
51
|
-
|
|
52
|
-
cp -r /path/to/pi-welcome-screen ~/.pi/agent/extensions/pi-welcome-screen
|
|
53
|
-
```
|
|
48
|
+
## 🖼️ Custom Banner
|
|
54
49
|
|
|
55
|
-
|
|
50
|
+
Replace the built-in ASCII banner with your own art. Create a plain text file:
|
|
56
51
|
|
|
57
|
-
|
|
52
|
+
**`~/.pi/agent/pi-welcome-screen/banner.txt`**
|
|
58
53
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
````
|
|
55
|
+
██████╗ ██████╗ ██████╗ ███████╗ ███████╗ ██████╗ ██████╗ ██╗ ██╗
|
|
56
|
+
██╔════╝██╔═══██╗██╔══██╗██╔════╝ ██╔════╝██╔═══██╗██╔═══██╗██║ ██╔╝
|
|
57
|
+
██║ ██║ ██║██║ ██║█████╗ ███████╗██║ ██║██║ ██║█████╔╝
|
|
58
|
+
██║ ██║ ██║██║ ██║██╔══╝ ╚════██║██║ ██║██║ ██║██╔═██╗
|
|
59
|
+
╚██████╗╚██████╔╝██████╔╝███████╗ ███████║╚██████╔╝╚██████╔╝██║ ██╗
|
|
60
|
+
╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝```
|
|
62
61
|
|
|
63
|
-
Or
|
|
62
|
+
Or point to any file via config:
|
|
64
63
|
|
|
65
64
|
```json
|
|
66
65
|
{
|
|
67
|
-
"
|
|
66
|
+
"bannerFile": "/path/to/my-banner.txt"
|
|
68
67
|
}
|
|
69
|
-
|
|
68
|
+
````
|
|
69
|
+
|
|
70
|
+
**Search order** (first found wins):
|
|
71
|
+
|
|
72
|
+
1. Explicit `bannerFile` path from config
|
|
73
|
+
2. `~/.pi/agent/pi-welcome-screen/banner.txt`
|
|
74
|
+
3. `./welcome-screen.banner.txt` (project root)
|
|
70
75
|
|
|
71
|
-
|
|
76
|
+
> **Tip:** Keep your banner under ~80 characters wide for best results on all terminals.
|
|
72
77
|
|
|
73
|
-
|
|
78
|
+
## ⚙️ Configuration
|
|
79
|
+
|
|
80
|
+
Create a config file — only the fields you want to override are needed:
|
|
81
|
+
|
|
82
|
+
**`~/.pi/welcome-screen.config.json`**
|
|
74
83
|
|
|
75
84
|
```json
|
|
76
85
|
{
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
"animationColor": "pink",
|
|
85
|
-
"paddingTop": 2,
|
|
86
|
-
"paddingBottom": 2,
|
|
87
|
-
|
|
88
|
-
"borderStyle": "rounded",
|
|
89
|
-
"bgFillChar": "",
|
|
90
|
-
"minTerminalWidth": 80,
|
|
91
|
-
"overlayWidth": 120,
|
|
92
|
-
"countdown": -1
|
|
86
|
+
"mainText": "Your Name",
|
|
87
|
+
"url": "https://yourwebsite.dev",
|
|
88
|
+
"animationStyle": "rainbow",
|
|
89
|
+
"animationColor": "pink",
|
|
90
|
+
"borderStyle": "rounded",
|
|
91
|
+
"countdown": -1,
|
|
92
|
+
"showInfoPanel": true
|
|
93
93
|
}
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
| Option | Type | Default | Description |
|
|
99
|
-
|--------|------|---------|-------------|
|
|
100
|
-
| `mainText` | string | "CodeSook" | Main text below banner |
|
|
101
|
-
| `url` | string | "https://codesook.dev" | URL displayed below main text |
|
|
102
|
-
| `animationStyle` | string | "rainbow" | Animation style |
|
|
103
|
-
| `frameDelayMs` | number | 80 | Animation speed (ms between frames) |
|
|
104
|
-
| `fgColor` | string | "lavender" | Main text color |
|
|
105
|
-
| `urlColor` | string | "sapphire" | URL text color |
|
|
106
|
-
| `animationColor` | string | "pink" | Color for animated elements |
|
|
107
|
-
| `accentColor` | string | "blue" | Border/background fill color |
|
|
108
|
-
| `paddingTop` | number | 2 | Empty lines above content |
|
|
109
|
-
| `paddingBottom` | number | 2 | Empty lines below content |
|
|
110
|
-
| `countdown` | number | -1 | Auto-dismiss: `-1` = wait for keypress, `0` = never, `>0` = seconds |
|
|
111
|
-
| `borderStyle` | string | "rounded" | Border style (rounded/square/double/minimal) |
|
|
112
|
-
| `bgFillChar` | string | "" | Background fill (empty = no background) |
|
|
113
|
-
| `minTerminalWidth` | number | 80 | Minimum terminal width to show overlay |
|
|
114
|
-
| `overlayWidth` | number | 120 | Width of the overlay box |
|
|
115
|
-
|
|
116
|
-
Config file search order:
|
|
96
|
+
**Config file search order** (first found wins):
|
|
97
|
+
|
|
117
98
|
1. `~/.pi/welcome-screen.config.json`
|
|
118
99
|
2. `~/.pi/config/welcome-screen.json`
|
|
119
|
-
3. `./welcome-screen.config.json`
|
|
100
|
+
3. `./welcome-screen.config.json` (project root)
|
|
101
|
+
|
|
102
|
+
### All Options
|
|
103
|
+
|
|
104
|
+
#### Text & Content
|
|
105
|
+
|
|
106
|
+
| Option | Type | Default | Description |
|
|
107
|
+
| ---------------- | ------ | ------------------------ | ---------------------------------------------- |
|
|
108
|
+
| `mainText` | string | `"CodeSook"` | Text shown below the banner |
|
|
109
|
+
| `url` | string | `"https://codesook.dev"` | URL shown below main text |
|
|
110
|
+
| `animationStyle` | string | `"rainbow"` | Animation style (see below) |
|
|
111
|
+
| `animationText` | string | `"Welcome"` | Text used for some animations |
|
|
112
|
+
| `frameDelayMs` | number | `80` | Milliseconds between animation frames (0–1000) |
|
|
113
|
+
| `bannerFile` | string | `""` | Path to custom banner `.txt` file |
|
|
114
|
+
|
|
115
|
+
#### Layout
|
|
116
|
+
|
|
117
|
+
| Option | Type | Default | Description |
|
|
118
|
+
| ------------------ | ------ | ----------- | ------------------------------------------------------- |
|
|
119
|
+
| `paddingTop` | number | `2` | Empty lines above content |
|
|
120
|
+
| `paddingBottom` | number | `2` | Empty lines below content |
|
|
121
|
+
| `borderStyle` | string | `"rounded"` | Border style: `rounded`, `square`, `double`, `minimal` |
|
|
122
|
+
| `bgFillChar` | string | `""` | Background fill character (e.g. `"░"`). Empty = no fill |
|
|
123
|
+
| `minTerminalWidth` | number | `80` | Hide overlay if terminal is narrower than this |
|
|
124
|
+
| `overlayWidth` | number | `120` | Width of the overlay box |
|
|
125
|
+
|
|
126
|
+
#### Behavior
|
|
127
|
+
|
|
128
|
+
| Option | Type | Default | Description |
|
|
129
|
+
| ----------------- | ------- | ------- | ------------------------------------------------------------- |
|
|
130
|
+
| `countdown` | number | `-1` | `-1` = wait for keypress, `0` = never dismiss, `>0` = seconds |
|
|
131
|
+
| `debug` | boolean | `false` | Overlay stays visible forever (never auto-dismisses) |
|
|
132
|
+
| `enableScrolling` | boolean | `true` | Allow arrow-key scrolling when content overflows |
|
|
133
|
+
|
|
134
|
+
#### Colors (Catppuccin Mocha names)
|
|
135
|
+
|
|
136
|
+
| Option | Type | Default | Description |
|
|
137
|
+
| ---------------- | ------ | ------------ | -------------------------------------- |
|
|
138
|
+
| `fgColor` | string | `"lavender"` | Main text color |
|
|
139
|
+
| `bgColor` | string | `"base"` | Background color |
|
|
140
|
+
| `accentColor` | string | `"blue"` | Border / accent color |
|
|
141
|
+
| `urlColor` | string | `"sapphire"` | URL text color |
|
|
142
|
+
| `animationColor` | string | `"pink"` | Animation / highlighted elements color |
|
|
143
|
+
|
|
144
|
+
#### Visibility Toggles
|
|
145
|
+
|
|
146
|
+
| Option | Type | Default | Description |
|
|
147
|
+
| --------------- | ------- | ------- | ------------------------------------- |
|
|
148
|
+
| `showBanner` | boolean | `true` | Show the ASCII art banner |
|
|
149
|
+
| `showMainText` | boolean | `true` | Show the main text line |
|
|
150
|
+
| `showUrl` | boolean | `true` | Show the URL line |
|
|
151
|
+
| `showCountdown` | boolean | `true` | Show countdown / "press any key" hint |
|
|
152
|
+
| `showPadding` | boolean | `true` | Show top/bottom padding |
|
|
153
|
+
| `showBorder` | boolean | `true` | Show the border box |
|
|
154
|
+
|
|
155
|
+
#### Info Panel
|
|
156
|
+
|
|
157
|
+
The info panel appears on the right side when the terminal is ≥ 100 chars wide, or below the banner on narrower terminals.
|
|
158
|
+
|
|
159
|
+
| Option | Type | Default | Description |
|
|
160
|
+
| ------------------- | -------- | ------------------------------------------------------------ | ----------------------------------------------- |
|
|
161
|
+
| `showInfoPanel` | boolean | `true` | Show the info panel |
|
|
162
|
+
| `showVersion` | boolean | `true` | Show Pi version |
|
|
163
|
+
| `showModel` | boolean | `true` | Show model name & provider |
|
|
164
|
+
| `showTips` | boolean | `true` | Show keyboard tips |
|
|
165
|
+
| `showLoaded` | boolean | `true` | Show loaded counts (extensions, skills, etc.) |
|
|
166
|
+
| `showResources` | boolean | `true` | Show detailed resource listings |
|
|
167
|
+
| `showSessions` | boolean | `true` | Show recent sessions |
|
|
168
|
+
| `infoPanelSections` | string[] | `["version","model","tips","loaded","resources","sessions"]` | Section order |
|
|
169
|
+
| `modelName` | string | `""` | Override model name (auto-detected if empty) |
|
|
170
|
+
| `providerName` | string | `""` | Override provider name (auto-detected if empty) |
|
|
171
|
+
| `logoChar` | string | `"π"` | Character used for the logo |
|
|
172
|
+
|
|
173
|
+
### Animation Styles
|
|
174
|
+
|
|
175
|
+
| Style | Description |
|
|
176
|
+
| ------------ | -------------------------------------------------- |
|
|
177
|
+
| `wave` | Letters shift with a sinusoidal wave effect |
|
|
178
|
+
| `rainbow` | Each line cycles through the Catppuccin spectrum |
|
|
179
|
+
| `glitch` | Random glitch artifacts appear on lines |
|
|
180
|
+
| `matrix` | Text is revealed from left to right (Matrix-style) |
|
|
181
|
+
| `typewriter` | Characters appear one-by-one |
|
|
182
|
+
| `static` | No animation — banner shown in full color |
|
|
183
|
+
|
|
184
|
+
### Border Styles
|
|
185
|
+
|
|
186
|
+
| Style | Corners | Sides |
|
|
187
|
+
| --------- | --------------- | ------- |
|
|
188
|
+
| `rounded` | `╭` `╮` `╰` `╯` | `│` `─` |
|
|
189
|
+
| `square` | `┌` `┐` `└` `┘` | `│` `─` |
|
|
190
|
+
| `double` | `╔` `╗` `╚` `╝` | `║` `═` |
|
|
191
|
+
| `minimal` | `+` `+` `+` `+` | `│` `─` |
|
|
192
|
+
|
|
193
|
+
### Color Palette (Catppuccin Mocha)
|
|
194
|
+
|
|
195
|
+
All color options accept these names:
|
|
196
|
+
|
|
197
|
+
| Name | Hex | Preview | Name | Hex | Preview |
|
|
198
|
+
| ---------- | --------- | ------- | ----------- | --------- | ------- |
|
|
199
|
+
| `base` | `#1e1e2e` | 🟣 | `lavender` | `#b4befe` | 💜 |
|
|
200
|
+
| `mantle` | `#181825` | ⬛ | `blue` | `#89b4fa` | 💙 |
|
|
201
|
+
| `crust` | `#11111b` | ⬛ | `sapphire` | `#74c7ec` | 🩵 |
|
|
202
|
+
| `surface0` | `#313244` | 🔘 | `sky` | `#89dceb` | 🩵 |
|
|
203
|
+
| `surface1` | `#45475a` | 🔘 | `teal` | `#94e2d5` | 🩵 |
|
|
204
|
+
| `surface2` | `#585b70` | 🔘 | `green` | `#a6e3a1` | 💚 |
|
|
205
|
+
| `overlay0` | `#6c7086` | 🔘 | `yellow` | `#f9e2af` | 💛 |
|
|
206
|
+
| `overlay1` | `#7f849c` | 🔘 | `peach` | `#fab387` | 🧡 |
|
|
207
|
+
| `overlay2` | `#9399b2` | 🔘 | `maroon` | `#eba0ac` | 🩷 |
|
|
208
|
+
| `subtext0` | `#a6adc8` | 🔘 | `red` | `#f38ba8` | ❤️ |
|
|
209
|
+
| `subtext1` | `#bac2de` | 🔘 | `mauve` | `#cba6f7` | 💜 |
|
|
210
|
+
| `text` | `#cdd6f4` | ⬜ | `pink` | `#f5c2e7` | 🩷 |
|
|
211
|
+
| | | | `flamingo` | `#f2cdcd` | 🩷 |
|
|
212
|
+
| | | | `rosewater` | `#f5e0dc` | 🩷 |
|
|
213
|
+
|
|
214
|
+
## 🎮 Commands
|
|
215
|
+
|
|
216
|
+
| Command | Description |
|
|
217
|
+
| ------------------ | ------------------------------------ |
|
|
218
|
+
| `/welcome-dismiss` | Manually dismiss the welcome overlay |
|
|
219
|
+
| `/welcome-reload` | Reload config and reshow the overlay |
|
|
120
220
|
|
|
121
|
-
##
|
|
221
|
+
## 🧩 Example Configs
|
|
122
222
|
|
|
123
|
-
|
|
124
|
-
|-------|---------|
|
|
125
|
-
| `rounded` | `╭────╮│ │╰────╯` |
|
|
126
|
-
| `square` | `┌────┐│ │└────┘` |
|
|
127
|
-
| `double` | `╔════╗║ ║╚════╝` |
|
|
128
|
-
| `minimal` | `+----++ ++----+` |
|
|
223
|
+
### Minimal — just change the name
|
|
129
224
|
|
|
130
|
-
|
|
225
|
+
```json
|
|
226
|
+
{
|
|
227
|
+
"mainText": "acme-corp"
|
|
228
|
+
}
|
|
229
|
+
```
|
|
131
230
|
|
|
132
|
-
|
|
133
|
-
|-------|-------------|
|
|
134
|
-
| `wave` | Letters shift with a sinusoidal wave effect |
|
|
135
|
-
| `rainbow` | Each line cycles through the full Catppuccin spectrum |
|
|
136
|
-
| `glitch` | Random glitch artifacts appear on lines |
|
|
137
|
-
| `matrix` | Text is revealed from left to right (Matrix-style) |
|
|
138
|
-
| `typewriter` | Characters appear one-by-one |
|
|
139
|
-
| `static` | No animation — just the banner in full color |
|
|
231
|
+
### Dark cyberpunk theme
|
|
140
232
|
|
|
141
|
-
|
|
233
|
+
```json
|
|
234
|
+
{
|
|
235
|
+
"mainText": "NEON::CORP",
|
|
236
|
+
"url": "https://neon.corp",
|
|
237
|
+
"animationStyle": "glitch",
|
|
238
|
+
"animationColor": "red",
|
|
239
|
+
"fgColor": "red",
|
|
240
|
+
"urlColor": "mauve",
|
|
241
|
+
"borderStyle": "double",
|
|
242
|
+
"bgFillChar": "░"
|
|
243
|
+
}
|
|
244
|
+
```
|
|
142
245
|
|
|
143
|
-
|
|
144
|
-
|---------|-------------|
|
|
145
|
-
| `/welcome-dismiss` | Manually dismiss the welcome overlay |
|
|
146
|
-
| `/welcome-reload` | Reload config and reshow overlay |
|
|
147
|
-
|
|
148
|
-
## Color Names (Catppuccin Mocha)
|
|
149
|
-
|
|
150
|
-
| Name | Hex | Name | Hex |
|
|
151
|
-
|------|-----|------|-----|
|
|
152
|
-
| `base` | #1e1e2e | `lavender` | #b4befe |
|
|
153
|
-
| `mantle` | #181825 | `blue` | #89b4fa |
|
|
154
|
-
| `crust` | #11111b | `sapphire` | #74c7ec |
|
|
155
|
-
| `surface0` | #313244 | `sky` | #89dceb |
|
|
156
|
-
| `surface1` | #45475a | `teal` | #94e2d5 |
|
|
157
|
-
| `surface2` | #585b70 | `green` | #a6e3a1 |
|
|
158
|
-
| `overlay0` | #6c7086 | `yellow` | #f9e2af |
|
|
159
|
-
| `overlay1` | #7f849c | `peach` | #fab387 |
|
|
160
|
-
| `overlay2` | #9399b2 | `maroon` | #eba0ac |
|
|
161
|
-
| `subtext0` | #a6adc8 | `red` | #f38ba8 |
|
|
162
|
-
| `subtext1` | #bac2de | `mauve` | #cba6f7 |
|
|
163
|
-
| `text` | #cdd6f4 | `pink` | #f5c2e7 |
|
|
164
|
-
| | | `flamingo` | #f2cdcd |
|
|
165
|
-
| | | `rosewater` | #f5e0dc |
|
|
166
|
-
|
|
167
|
-
## Compatibility with pi-powerline-footer
|
|
168
|
-
|
|
169
|
-
If you use [pi-powerline-footer](https://github.com/nicobailon/pi-powerline-footer), you can disable its welcome screen to avoid conflicts:
|
|
246
|
+
### Clean & minimal — no animation, no border
|
|
170
247
|
|
|
171
248
|
```json
|
|
172
|
-
// ~/.pi/settings.json
|
|
173
249
|
{
|
|
174
|
-
|
|
175
|
-
"
|
|
176
|
-
|
|
250
|
+
"mainText": "my-project",
|
|
251
|
+
"url": "https://github.com/me/my-project",
|
|
252
|
+
"animationStyle": "static",
|
|
253
|
+
"animationColor": "blue",
|
|
254
|
+
"showBorder": false,
|
|
255
|
+
"showInfoPanel": false,
|
|
256
|
+
"paddingTop": 1,
|
|
257
|
+
"paddingBottom": 0,
|
|
258
|
+
"countdown": 3
|
|
177
259
|
}
|
|
178
260
|
```
|
|
179
261
|
|
|
180
|
-
|
|
262
|
+
### Custom banner with your brand
|
|
181
263
|
|
|
264
|
+
```json
|
|
265
|
+
{
|
|
266
|
+
"mainText": "My Brand",
|
|
267
|
+
"url": "https://mybrand.io",
|
|
268
|
+
"bannerFile": "~/.pi/agent/pi-welcome-screen/banner.txt",
|
|
269
|
+
"animationStyle": "rainbow",
|
|
270
|
+
"animationColor": "green"
|
|
271
|
+
}
|
|
182
272
|
```
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
└── README.md
|
|
273
|
+
|
|
274
|
+
## 🤝 Compatibility
|
|
275
|
+
|
|
276
|
+
**pi-powerline-footer** — if you use [pi-powerline-footer](https://github.com/nicobailon/pi-powerline-footer), disable its welcome screen to avoid conflicts:
|
|
277
|
+
|
|
278
|
+
```json
|
|
279
|
+
{
|
|
280
|
+
"powerline": { "welcome": false }
|
|
281
|
+
}
|
|
193
282
|
```
|
|
194
283
|
|
|
195
|
-
## Development
|
|
284
|
+
## 🛠️ Development
|
|
196
285
|
|
|
197
|
-
No build step
|
|
286
|
+
No build step — Pi loads TypeScript directly via [jiti](https://github.com/unjs/jiti).
|
|
198
287
|
|
|
199
288
|
```bash
|
|
200
289
|
# Test locally
|
|
201
290
|
pi -e .
|
|
202
291
|
|
|
203
|
-
#
|
|
292
|
+
# Install from local path
|
|
293
|
+
pi install /path/to/pi-welcome-screen
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
## 📁 Project Structure
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
src/
|
|
300
|
+
├── index.ts # Entry point — Pi extension factory
|
|
301
|
+
├── WelcomeOverlay.ts # Overlay component with two-column layout
|
|
302
|
+
├── config.ts # Defaults, Catppuccin palette, config loading
|
|
303
|
+
├── animations.ts # ASCII banner data + frame builders per style
|
|
304
|
+
├── renderer.ts # ANSI escape codes, color mapping, centering
|
|
305
|
+
├── info-panel.ts # Loaded counts, recent sessions discovery
|
|
306
|
+
└── types.ts # Config interface, animation & border types
|
|
204
307
|
```
|
|
205
308
|
|
|
206
|
-
## License
|
|
309
|
+
## 📄 License
|
|
207
310
|
|
|
208
|
-
MIT
|
|
311
|
+
MIT © [Code Sook](https://github.com/seenark)
|
package/package.json
CHANGED
|
@@ -1,35 +1,38 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
2
|
+
"name": "@codesook/pi-welcome-screen",
|
|
3
|
+
"version": "0.3.1",
|
|
4
|
+
"description": "Customizable animated ASCII art welcome overlay for pi coding agent — shows on session start with countdown and auto-dismiss",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"src/",
|
|
8
|
+
"README.md",
|
|
9
|
+
"AGENTS.md"
|
|
10
|
+
],
|
|
11
|
+
"keywords": [
|
|
12
|
+
"pi-package",
|
|
13
|
+
"pi",
|
|
14
|
+
"coding-agent",
|
|
15
|
+
"welcome",
|
|
16
|
+
"ascii",
|
|
17
|
+
"extension"
|
|
18
|
+
],
|
|
19
|
+
"author": "Code Sook",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "https://github.com/seenark/pi-welcome-screen"
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "echo 'No build needed — Pi loads TypeScript extensions via jiti'",
|
|
27
|
+
"test": "echo 'No tests yet'",
|
|
28
|
+
"publish": "npm publish --access public"
|
|
29
|
+
},
|
|
30
|
+
"peerDependencies": {
|
|
31
|
+
"@earendil-works/pi-coding-agent": "*"
|
|
32
|
+
},
|
|
33
|
+
"pi": {
|
|
34
|
+
"extensions": [
|
|
35
|
+
"./src/index.ts"
|
|
36
|
+
]
|
|
37
|
+
}
|
|
35
38
|
}
|