{"_id":"@codesook/pi-welcome-screen","_rev":"8-49c9d8fe5c424af7934905ae9981f900","name":"@codesook/pi-welcome-screen","dist-tags":{"latest":"0.4.1"},"versions":{"0.3.0":{"name":"@codesook/pi-welcome-screen","version":"0.3.0","keywords":["pi-package","pi","coding-agent","welcome","ascii","extension"],"author":{"name":"Code Sook"},"license":"MIT","_id":"@codesook/pi-welcome-screen@0.3.0","maintainers":[{"name":"hadesgod","email":"um_oom@hotmail.com"}],"homepage":"https://github.com/seenark/pi-welcome-screen#readme","bugs":{"url":"https://github.com/seenark/pi-welcome-screen/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"bfa79e4f57eb016774251da3f37ae76574688946","tarball":"https://registry.npmjs.org/@codesook/pi-welcome-screen/-/pi-welcome-screen-0.3.0.tgz","fileCount":11,"integrity":"sha512-JFmg72B7lxjlZDFBXlb0mtbuTfEhAslwUUU6STEPIrJPPFDrTgvCddbKhbXvZgH+IVX/HperjdwJgjO2j8tL5A==","signatures":[{"sig":"MEQCIBrksq/XRqbTqwq/R0Prvh5h8j47F30aTj1PLm1N437OAiA/AEAkwZ4C/ghrjLIMkdGwdAWBdQnoarPnrl4kQMjACw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84940},"type":"module","gitHead":"e42f4de10f1bd6621cff0559e6862f23633b23a5","scripts":{"test":"echo 'No tests yet'","build":"echo 'No build needed — Pi loads TypeScript extensions via jiti'"},"_npmUser":{"name":"hadesgod","email":"um_oom@hotmail.com"},"repository":{"url":"git+https://github.com/seenark/pi-welcome-screen.git","type":"git"},"_npmVersion":"10.9.3","description":"Customizable animated ASCII art welcome overlay for pi coding agent — shows on session start with countdown and auto-dismiss","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-welcome-screen_0.3.0_1779951229416_0.9460909618482105","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@codesook/pi-welcome-screen","version":"0.3.1","keywords":["pi-package","pi","coding-agent","welcome","ascii","extension"],"author":{"name":"Code Sook"},"license":"MIT","_id":"@codesook/pi-welcome-screen@0.3.1","maintainers":[{"name":"hadesgod","email":"um_oom@hotmail.com"}],"homepage":"https://github.com/seenark/pi-welcome-screen#readme","bugs":{"url":"https://github.com/seenark/pi-welcome-screen/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"250f2f07b221d1d59a113e9927e35187ed85da61","tarball":"https://registry.npmjs.org/@codesook/pi-welcome-screen/-/pi-welcome-screen-0.3.1.tgz","fileCount":11,"integrity":"sha512-a7gVqblLSd02cyh5nfVExp76gm7V3Hzkb3zS5uud7trdKOhIecNdMb3NChWAjkhv01dAdT2XonLOGeoVkwnpvA==","signatures":[{"sig":"MEUCIQDbvJgu+Uk13V7aFsbOaAdRhe1eidMSYcaXAHZL64jNnwIgZ1Z0Ev1NubLKliLqRrWAHttkdS5rxf4Hupv1Al+Nq2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92956},"type":"module","gitHead":"6de28bf111eb6917c1a15c440ede7d61556774e9","scripts":{"test":"echo 'No tests yet'","build":"echo 'No build needed — Pi loads TypeScript extensions via jiti'","publish":"npm publish --access public"},"_npmUser":{"name":"hadesgod","email":"um_oom@hotmail.com"},"repository":{"url":"git+https://github.com/seenark/pi-welcome-screen.git","type":"git"},"_npmVersion":"10.9.3","description":"Customizable animated ASCII art welcome overlay for pi coding agent — shows on session start with countdown and auto-dismiss","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-welcome-screen_0.3.1_1779952400052_0.32226543653969797","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@codesook/pi-welcome-screen","version":"0.3.2","keywords":["pi-package","pi","coding-agent","welcome","ascii","extension"],"author":{"name":"Code Sook"},"license":"MIT","_id":"@codesook/pi-welcome-screen@0.3.2","maintainers":[{"name":"hadesgod","email":"um_oom@hotmail.com"}],"homepage":"https://github.com/seenark/pi-welcome-screen#readme","bugs":{"url":"https://github.com/seenark/pi-welcome-screen/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"4257bfd8b625b5f3ced809c86d65770b0c02a249","tarball":"https://registry.npmjs.org/@codesook/pi-welcome-screen/-/pi-welcome-screen-0.3.2.tgz","fileCount":12,"integrity":"sha512-Yv0nnt06gwPZa6rNBLHuQWJrWcpgXUeWqgyzXlA2z1X6M/jDmklYeH6HlEg5+9iZl5hfGzsZjtLuzOVXKUXnhw==","signatures":[{"sig":"MEYCIQCwUU3dLUAWVjwpQ4qNu/9yW4ymL/lRRR7yJ5bO94hjqQIhAPoX0DIHGzpIN7i0hYQ3fbqeDb8UGhFE8ci9b6exP3BQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94668},"type":"module","gitHead":"86d3bc41610fe764e2466327710b2051a98ab636","scripts":{"test":"bun test","build":"echo 'No build needed — Pi loads TypeScript extensions via jiti'","publish":"npm publish --access public"},"_npmUser":{"name":"hadesgod","email":"um_oom@hotmail.com"},"repository":{"url":"git+https://github.com/seenark/pi-welcome-screen.git","type":"git"},"_npmVersion":"10.9.3","description":"Customizable animated ASCII art welcome overlay for pi coding agent — shows on session start with countdown and auto-dismiss","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-welcome-screen_0.3.2_1781454025166_0.9546888470457284","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@codesook/pi-welcome-screen","version":"0.3.3","keywords":["pi-package","pi","coding-agent","welcome","ascii","extension"],"author":{"name":"Code Sook"},"license":"MIT","_id":"@codesook/pi-welcome-screen@0.3.3","maintainers":[{"name":"hadesgod","email":"um_oom@hotmail.com"}],"homepage":"https://github.com/seenark/pi-welcome-screen#readme","bugs":{"url":"https://github.com/seenark/pi-welcome-screen/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"204b09d83ebfd7b5f3530dd31b66e952a88131c3","tarball":"https://registry.npmjs.org/@codesook/pi-welcome-screen/-/pi-welcome-screen-0.3.3.tgz","fileCount":12,"integrity":"sha512-WvpsfrbiHRlVVtkOlVM4ebtrqO8ib19k88ciYk8uFoPZOlGVriGmxQA6jQF2Hdl+q8eBqymLdHMM2UWDrWE3ZA==","signatures":[{"sig":"MEUCIE2UnU2PPLv7/xlAgDVWJYsFzDGHariYNhGEWHhnR3S1AiEA7Ejw1voYn9HaafXomfrnrMvNXzYOOnn7hLrQX62gXHc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94668},"type":"module","gitHead":"93e56979fd64232816093ac6c6d6a81933d32401","scripts":{"test":"bun test","build":"echo 'No build needed — Pi loads TypeScript extensions via jiti'","publish":"npm publish --access public"},"_npmUser":{"name":"hadesgod","email":"um_oom@hotmail.com"},"repository":{"url":"git+https://github.com/seenark/pi-welcome-screen.git","type":"git"},"_npmVersion":"10.9.3","description":"Customizable animated ASCII art welcome overlay for pi coding agent — shows on session start with countdown and auto-dismiss","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-welcome-screen_0.3.3_1781454061246_0.5306454160349194","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@codesook/pi-welcome-screen","version":"0.3.4","keywords":["pi-package","pi","coding-agent","welcome","ascii","extension"],"author":{"name":"Code Sook"},"license":"MIT","_id":"@codesook/pi-welcome-screen@0.3.4","maintainers":[{"name":"hadesgod","email":"um_oom@hotmail.com"}],"homepage":"https://github.com/seenark/pi-welcome-screen#readme","bugs":{"url":"https://github.com/seenark/pi-welcome-screen/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"556da33261789c9192ea866818e043df0a53ebcd","tarball":"https://registry.npmjs.org/@codesook/pi-welcome-screen/-/pi-welcome-screen-0.3.4.tgz","fileCount":12,"integrity":"sha512-Pi0Q7H9b5hxCj2JVVZ/OMydo484m5aQbKejx8fT02TF9GIJLD3l6c1mW2blZXKY+75lMa7re0c0VJSFCAjuUhw==","signatures":[{"sig":"MEYCIQD2/jjSsiAdikZn+zI7+In5bBWDAkosIf9yoNCGgYYzIAIhALcPKYqHTSbJweY99QaoF8AopJSFmUqI5EF+bWsAHN7n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94786},"type":"module","gitHead":"93e56979fd64232816093ac6c6d6a81933d32401","scripts":{"test":"bun test","build":"echo 'No build needed — Pi loads TypeScript extensions via jiti'","release":"npm publish --access public"},"_npmUser":{"name":"hadesgod","email":"um_oom@hotmail.com"},"repository":{"url":"git+https://github.com/seenark/pi-welcome-screen.git","type":"git"},"_npmVersion":"10.9.3","description":"Customizable animated ASCII art welcome overlay for pi coding agent — shows on session start with countdown and auto-dismiss","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-welcome-screen_0.3.4_1781454580468_0.8595149963343527","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@codesook/pi-welcome-screen","version":"0.3.5","keywords":["pi-package","pi","coding-agent","welcome","ascii","extension"],"author":{"name":"Code Sook"},"license":"MIT","_id":"@codesook/pi-welcome-screen@0.3.5","maintainers":[{"name":"hadesgod","email":"um_oom@hotmail.com"}],"homepage":"https://github.com/seenark/pi-welcome-screen#readme","bugs":{"url":"https://github.com/seenark/pi-welcome-screen/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"d9eb161063cabf8b9ed4976301585b3402d78f31","tarball":"https://registry.npmjs.org/@codesook/pi-welcome-screen/-/pi-welcome-screen-0.3.5.tgz","fileCount":12,"integrity":"sha512-bpAuYevM3YX9WWx9jEE7+tDV5nAG+HIWQnmBZrdh/E/v7BOqt4bfU9ykVgO1befC2zN0jxMjxXPkdCLtwO3doA==","signatures":[{"sig":"MEYCIQCNPAhDXctMOK2Htrz1zXXNQ+n6tOSKQHd5v7YoNUgHGwIhAOQDfcem8WG14MSjbhEAnz79dHOneckBHPU+6xaXo7MH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94786},"type":"module","gitHead":"614219d98807f71710db408f3ba4d06dd467c4b8","scripts":{"test":"bun test","build":"echo 'No build needed — Pi loads TypeScript extensions via jiti'","release":"npm publish --access public"},"_npmUser":{"name":"hadesgod","email":"um_oom@hotmail.com"},"repository":{"url":"git+https://github.com/seenark/pi-welcome-screen.git","type":"git"},"_npmVersion":"10.9.3","description":"Customizable animated ASCII art welcome overlay for pi coding agent — shows on session start with countdown and auto-dismiss","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-welcome-screen_0.3.5_1781454751136_0.29462585284867715","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@codesook/pi-welcome-screen","version":"0.3.6","keywords":["pi-package","pi","coding-agent","welcome","ascii","extension"],"author":{"name":"Code Sook"},"license":"MIT","_id":"@codesook/pi-welcome-screen@0.3.6","maintainers":[{"name":"hadesgod","email":"um_oom@hotmail.com"}],"homepage":"https://github.com/seenark/pi-welcome-screen#readme","bugs":{"url":"https://github.com/seenark/pi-welcome-screen/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"fb891c0e334516b68be0d34cc83b0eba5a1e3d95","tarball":"https://registry.npmjs.org/@codesook/pi-welcome-screen/-/pi-welcome-screen-0.3.6.tgz","fileCount":12,"integrity":"sha512-u+XobliFXwz+zSZblYeE0x9MFcxPAVsDgZt4jL4Jx4Yw9bsg4Vz65OCHiiKsSuBI4PoGyKq5uoMKsDxMWuW+Wg==","signatures":[{"sig":"MEQCIHErY/waPlQDGZttGjLF/wVcEMEzdhrbp+ZRcyyFrFWpAiADhpBikzPO+UfZNXn7Puaw+WvmUi6w/05wP2i8ieBlAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94844},"type":"module","gitHead":"623dfb04efc96d4ec8fc4fea76b6051617c1619b","scripts":{"test":"bun test","build":"echo 'No build needed — Pi loads TypeScript extensions via jiti'","release":"npm publish --access public"},"_npmUser":{"name":"hadesgod","email":"um_oom@hotmail.com"},"repository":{"url":"git+https://github.com/seenark/pi-welcome-screen.git","type":"git"},"_npmVersion":"10.9.3","description":"Customizable animated ASCII art welcome overlay for pi coding agent — shows on session start with countdown and auto-dismiss","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-welcome-screen_0.3.6_1781455973308_0.4548935281033686","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@codesook/pi-welcome-screen","version":"0.4.1","description":"Customizable animated ASCII art welcome overlay for Oh-My-Pi — shows on session start with countdown and auto-dismiss","type":"module","keywords":["pi-package","pi","omp","oh-my-pi","coding-agent","welcome","ascii","extension"],"author":{"name":"Code Sook"},"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/seenark/pi-welcome-screen.git"},"scripts":{"build":"echo 'No build needed — Pi loads TypeScript extensions via jiti'","lint":"bun test","test":"bun test","release":"npm publish --access public"},"peerDependencies":{"@oh-my-pi/pi-coding-agent":"*","@oh-my-pi/pi-tui":"*"},"dependencies":{"@oh-my-pi/pi-utils":"*","@xterm/headless":"^6.0.0"},"omp":{"extensions":["./src/index.ts"]},"pi":{"extensions":["./src/index.ts"]},"gitHead":"5fd1ec2427204ea140e3b3b2cfe79f3a87510d79","_id":"@codesook/pi-welcome-screen@0.4.1","bugs":{"url":"https://github.com/seenark/pi-welcome-screen/issues"},"homepage":"https://github.com/seenark/pi-welcome-screen#readme","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-rv2+ohEZWgy5G4wv7XB1VdZoltF12D9M7dgiBsl2dH1GmgA6gAqEUdYZHBOpk+RA16vzGsQjqC8wrfWoLcJUWw==","shasum":"4b43bc97ae48c5682352ac6cbb0cd53e2741003f","tarball":"https://registry.npmjs.org/@codesook/pi-welcome-screen/-/pi-welcome-screen-0.4.1.tgz","fileCount":20,"unpackedSize":138493,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIESLsyfd1qXIxa5whgILq/NljduPs3pmGc91bxitGkaCAiB8N9lAtDlfW474o4EeZP0UI7LFH9U00wUFWt/o5n5nOQ=="}]},"_npmUser":{"name":"hadesgod","email":"um_oom@hotmail.com"},"directories":{},"maintainers":[{"name":"hadesgod","email":"um_oom@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-welcome-screen_0.4.1_1782976575130_0.5488141099764436"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-28T06:53:49.252Z","modified":"2026-07-02T07:16:15.365Z","0.3.0":"2026-05-28T06:53:49.556Z","0.3.1":"2026-05-28T07:13:20.186Z","0.3.2":"2026-06-14T16:20:25.306Z","0.3.3":"2026-06-14T16:21:01.380Z","0.3.4":"2026-06-14T16:29:40.610Z","0.3.5":"2026-06-14T16:32:31.265Z","0.3.6":"2026-06-14T16:52:53.438Z","0.4.1":"2026-07-02T07:16:15.259Z"},"bugs":{"url":"https://github.com/seenark/pi-welcome-screen/issues"},"author":{"name":"Code Sook"},"license":"MIT","homepage":"https://github.com/seenark/pi-welcome-screen#readme","keywords":["pi-package","pi","omp","oh-my-pi","coding-agent","welcome","ascii","extension"],"repository":{"type":"git","url":"git+https://github.com/seenark/pi-welcome-screen.git"},"description":"Customizable animated ASCII art welcome overlay for Oh-My-Pi — shows on session start with countdown and auto-dismiss","maintainers":[{"name":"hadesgod","email":"um_oom@hotmail.com"}],"readme":"<h1 align=\"center\">pi-welcome-screen</h1>\n\n<p align=\"center\">\n  Customizable animated ASCII art welcome overlay for <a href=\"https://github.com/oh-my-pi/oh-my-pi\">Oh-My-Pi</a>.<br/>\n  Shows on session start with animated banner, stacked info panel, countdown, and auto-dismiss.\n</p>\n\n<p align=\"center\">\n  <img src=\"https://github.com/seenark/pi-welcome-screen/blob/main/assets/show-case.png?raw=true\" alt=\"pi-welcome-screen showcase\" width=\"1100\" />\n</p>\n\n<p align=\"center\">\n  <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>\n  <img src=\"https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white\" alt=\"TypeScript\" />\n  <img src=\"https://img.shields.io/badge/No_Build_Step-jiti-green\" alt=\"No build step\" />\n</p>\n\n---\n\n## ✨ Features\n\n- 🎨 **6 animation styles** — wave, rainbow, glitch, matrix, typewriter, static\n- 📦 **Styled overlay box** — box-drawing borders with background fill\n- 📊 **Info panel** — model, keyboard tips, loaded resources, recent sessions stacked below the banner\n- 🖼️ **Custom banner** — bring your own ASCII art via `banner.txt`\n- ⏱️ **Auto-dismiss** — countdown, keypress, or agent activity\n- 🖥️ **Optional terminal-animation banner** — run a local CLI to render a second same-size banner below the built-in/custom banner\n- 🎨 **Catppuccin Mocha** — full palette, all colors by name\n\n## 📦 Install\n\n```bash\n# From npm (recommended)\nomp install npm:@codesook/pi-welcome-screen\n\n# Try without installing\nomp -e npm:@codesook/pi-welcome-screen\n\n# From git\nomp install git:github.com/seenark/pi-welcome-screen\n\n# Local development\ngit clone https://github.com/seenark/pi-welcome-screen.git\nomp -e /path/to/pi-welcome-screen\n```\n\nAfter installing, just start `omp` — the welcome screen appears automatically on every session.\n\n## 🖼️ Custom Banner\n\nReplace the built-in ASCII banner with your own art. Create a plain text file:\n\n**`~/.pi/agent/pi-welcome-screen/banner.txt`**\n\n```\n ██████╗ ██████╗ ██████╗ ███████╗    ███████╗ ██████╗  ██████╗ ██╗  ██╗\n██╔════╝██╔═══██╗██╔══██╗██╔════╝    ██╔════╝██╔═══██╗██╔═══██╗██║ ██╔╝\n██║     ██║   ██║██║  ██║█████╗      ███████╗██║   ██║██║   ██║█████╔╝\n██║     ██║   ██║██║  ██║██╔══╝      ╚════██║██║   ██║██║   ██║██╔═██╗\n╚██████╗╚██████╔╝██████╔╝███████╗    ███████║╚██████╔╝╚██████╔╝██║  ██╗\n ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝    ╚══════╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝\n```\n\nOr point to any file via config:\n\n```json\n{\n    \"bannerFile\": \"/path/to/my-banner.txt\"\n}\n```\n\n**Search order** (first found wins):\n\n1. Explicit `bannerFile` path from config\n2. `PI_CODING_AGENT_DIR/pi-welcome-screen/banner.txt` when `PI_CODING_AGENT_DIR` is set\n3. `~/.pi/agent/pi-welcome-screen/banner.txt`\n4. `~/${PI_CONFIG_DIR:-.omp}/agent/pi-welcome-screen/banner.txt`\n5. `./welcome-screen.banner.txt` (project root)\n> **Tip:** Keep your banner under ~80 characters wide for best results on all terminals.\n\n## ⚙️ Configuration\n\nCreate a config file — only the fields you want to override are needed:\n\n**`~/.config/codesook-omp/welcome-screen.json`**\n\n```json\n{\n    \"mainText\": \"Your Name\",\n    \"url\": \"https://yourwebsite.dev\",\n    \"animationStyle\": \"rainbow\",\n    \"animationColor\": \"pink\",\n    \"borderStyle\": \"rounded\",\n    \"countdown\": -1,\n    \"showInfoPanel\": true\n}\n```\n\n**Config file search order** (first found wins):\n\n1. `PI_CODING_AGENT_DIR/pi-welcome-screen/settings.json` when `PI_CODING_AGENT_DIR` is set\n2. `~/.config/codesook-omp/welcome-screen.json`\n3. `~/.pi/agent/pi-welcome-screen/settings.json` (legacy)\n4. `~/${PI_CONFIG_DIR:-.omp}/agent/pi-welcome-screen/settings.json` (legacy)\n5. `~/.pi/welcome-screen.config.json` (legacy)\n6. `./welcome-screen.config.json` (project root)\n\nThe `~/.config/codesook-omp/welcome-screen.json` path is the recommended location for dotfiles repositories managed with tools like GNU Stow.\n\n### All Options\n\n#### Text & Content\n\n| Option           | Type   | Default                  | Description                                    |\n| ---------------- | ------ | ------------------------ | ---------------------------------------------- |\n| `mainText`       | string | `\"CodeSook\"`             | Text shown below the banner                    |\n| `url`            | string | `\"https://codesook.dev\"` | URL shown below main text                      |\n| `animationStyle` | string | `\"rainbow\"`              | Animation style (see below)                    |\n| `animationText`  | string | `\"Welcome\"`              | Text used for some animations                  |\n| `frameDelayMs`   | number | `80`                     | Milliseconds between animation frames (0–1000) |\n| `bannerFile`     | string | `\"\"`                     | Path to custom banner `.txt` file              |\n| `terminalBannerCommand` | string | `\"\"` | Shell command for optional second terminal-animation banner; empty disables it |\n| `terminalBannerRows` | number | `6` | Visible rows for optional terminal-animation banner |\n| `terminalBannerColumns` | number | `0` | Visible columns for optional terminal-animation banner; `0` matches the current banner width |\n| `terminalBannerFrameDelayMs` | number | `33` | Minimum milliseconds between terminal-animation banner renders |\n#### Layout\n\n| Option             | Type   | Default     | Description                                             |\n| ------------------ | ------ | ----------- | ------------------------------------------------------- |\n| `paddingTop`       | number | `2`         | Empty lines above content                               |\n| `paddingBottom`    | number | `2`         | Empty lines below content                               |\n| `borderStyle`      | string | `\"rounded\"` | Border style: `rounded`, `square`, `double`, `minimal`  |\n| `bgFillChar`       | string | `\"\"`        | Background fill character (e.g. `\"░\"`). Empty = no fill |\n| `minTerminalWidth` | number | `80`        | Hide overlay if terminal is narrower than this          |\n| `overlayWidth`     | number | `120`       | Width of the overlay box                                |\n\n#### Behavior\n\n| Option            | Type    | Default | Description                                                   |\n| ----------------- | ------- | ------- | ------------------------------------------------------------- |\n| `countdown`       | number  | `-1`    | `-1` = wait for keypress, `0` = never dismiss, `>0` = seconds |\n| `debug`           | boolean | `false` | Overlay stays visible forever (never auto-dismisses)          |\n| `enableScrolling` | boolean | `true`  | Allow arrow-key scrolling when content overflows              |\n\n#### Colors (Catppuccin Mocha names)\n\n| Option           | Type   | Default      | Description                            |\n| ---------------- | ------ | ------------ | -------------------------------------- |\n| `fgColor`        | string | `\"lavender\"` | Main text color                        |\n| `bgColor`        | string | `\"base\"`     | Background color                       |\n| `accentColor`    | string | `\"blue\"`     | Border / accent color                  |\n| `urlColor`       | string | `\"sapphire\"` | URL text color                         |\n| `animationColor` | string | `\"pink\"`     | Animation / highlighted elements color |\n\n#### Visibility Toggles\n\n| Option          | Type    | Default | Description                           |\n| --------------- | ------- | ------- | ------------------------------------- |\n| `showBanner`    | boolean | `true`  | Show the ASCII art banner             |\n| `showMainText`  | boolean | `true`  | Show the main text line               |\n| `showUrl`       | boolean | `true`  | Show the URL line                     |\n| `showCountdown` | boolean | `true`  | Show countdown / \"press any key\" hint |\n| `showPadding`   | boolean | `true`  | Show top/bottom padding               |\n| `showBorder`    | boolean | `true`  | Show the border box                   |\n\n#### Info Panel\n\nThe info panel appears below the banner on all terminal widths.\n\n| Option              | Type     | Default                                                      | Description                                     |\n| ------------------- | -------- | ------------------------------------------------------------ | ----------------------------------------------- |\n| `showInfoPanel`     | boolean  | `true`                                                       | Show the info panel                             |\n| `showVersion`       | boolean  | `true`                                                       | Show OMP/Pi CLI version                         |\n| `showModel`         | boolean  | `true`                                                       | Show model name & provider                      |\n| `showTips`          | boolean  | `true`                                                       | Show keyboard tips                              |\n| `showLoaded`        | boolean  | `true`                                                       | Show loaded counts (context files, extensions, prompts, themes) |\n| `showResources`     | boolean  | `true`                                                       | Show detailed resource listings (context files, extensions, prompts, themes) |\n| `showSessions`      | boolean  | `true`                                                       | Show recent sessions                            |\n| `infoPanelSections` | string[] | `[\"version\",\"model\",\"tips\",\"loaded\",\"resources\",\"sessions\"]` | Section order                                   |\n| `modelName`         | string   | `\"\"`                                                         | Override model name (auto-detected if empty)    |\n| `providerName`      | string   | `\"\"`                                                         | Override provider name (auto-detected if empty) |\n| `logoChar`          | string   | `\"π\"`                                                        | Character used for the logo                     |\n\n\n`terminalBannerCommand` is executed by the local shell. Keep it in user-controlled config only; do not feed untrusted input into it. Terminal banner output is captured through Bun.Terminal when available, with a Python stdlib PTY bridge fallback for Node/Pi runtimes. The parser preserves SGR foreground/background colors and publishes frames at the configured cadence so clear/redraw animations do not expose partial frames.\n### Animation Styles\n\n| Style        | Description                                        |\n| ------------ | -------------------------------------------------- |\n| `wave`       | Letters shift with a sinusoidal wave effect        |\n| `rainbow`    | Each line cycles through the Catppuccin spectrum   |\n| `glitch`     | Random glitch artifacts appear on lines            |\n| `matrix`     | Text is revealed from left to right (Matrix-style) |\n| `typewriter` | Characters appear one-by-one                       |\n| `static`     | No animation — banner shown in full color          |\n\n### Border Styles\n\n| Style     | Corners         | Sides   |\n| --------- | --------------- | ------- |\n| `rounded` | `╭` `╮` `╰` `╯` | `│` `─` |\n| `square`  | `┌` `┐` `└` `┘` | `│` `─` |\n| `double`  | `╔` `╗` `╚` `╝` | `║` `═` |\n| `minimal` | `+` `+` `+` `+` | `│` `─` |\n\n### Color Palette (Catppuccin Mocha)\n\nAll color options accept these names:\n\n| Name       | Hex       | Preview | Name        | Hex       | Preview |\n| ---------- | --------- | ------- | ----------- | --------- | ------- |\n| `base`     | `#1e1e2e` | 🟣      | `lavender`  | `#b4befe` | 💜      |\n| `mantle`   | `#181825` | ⬛      | `blue`      | `#89b4fa` | 💙      |\n| `crust`    | `#11111b` | ⬛      | `sapphire`  | `#74c7ec` | 🩵      |\n| `surface0` | `#313244` | 🔘      | `sky`       | `#89dceb` | 🩵      |\n| `surface1` | `#45475a` | 🔘      | `teal`      | `#94e2d5` | 🩵      |\n| `surface2` | `#585b70` | 🔘      | `green`     | `#a6e3a1` | 💚      |\n| `overlay0` | `#6c7086` | 🔘      | `yellow`    | `#f9e2af` | 💛      |\n| `overlay1` | `#7f849c` | 🔘      | `peach`     | `#fab387` | 🧡      |\n| `overlay2` | `#9399b2` | 🔘      | `maroon`    | `#eba0ac` | 🩷      |\n| `subtext0` | `#a6adc8` | 🔘      | `red`       | `#f38ba8` | ❤️      |\n| `subtext1` | `#bac2de` | 🔘      | `mauve`     | `#cba6f7` | 💜      |\n| `text`     | `#cdd6f4` | ⬜      | `pink`      | `#f5c2e7` | 🩷      |\n|            |           |         | `flamingo`  | `#f2cdcd` | 🩷      |\n|            |           |         | `rosewater` | `#f5e0dc` | 🩷      |\n\n## 🎮 Commands\n\n| Command            | Description                          |\n| ------------------ | ------------------------------------ |\n| `/welcome-dismiss` | Manually dismiss the welcome overlay |\n| `/welcome-reload`  | Reload config and reshow the overlay |\n\n## 🧩 Example Configs\n\n### Minimal — just change the name\n\n```json\n{\n    \"mainText\": \"acme-corp\"\n}\n```\n\n### Dark cyberpunk theme\n\n```json\n{\n    \"mainText\": \"NEON::CORP\",\n    \"url\": \"https://neon.corp\",\n    \"animationStyle\": \"glitch\",\n    \"animationColor\": \"red\",\n    \"fgColor\": \"red\",\n    \"urlColor\": \"mauve\",\n    \"borderStyle\": \"double\",\n    \"bgFillChar\": \"░\"\n}\n```\n\n### Clean & minimal — no animation, no border\n\n```json\n{\n    \"mainText\": \"my-project\",\n    \"url\": \"https://github.com/me/my-project\",\n    \"animationStyle\": \"static\",\n    \"animationColor\": \"blue\",\n    \"showBorder\": false,\n    \"showInfoPanel\": false,\n    \"paddingTop\": 1,\n    \"paddingBottom\": 0,\n    \"countdown\": 3\n}\n```\n\n### Custom banner with your brand\n\n```json\n{\n    \"mainText\": \"My Brand\",\n    \"url\": \"https://mybrand.io\",\n    \"bannerFile\": \"~/.omp/agent/pi-welcome-screen/banner.txt\",\n    \"animationStyle\": \"rainbow\",\n    \"animationColor\": \"green\"\n}\n```\n\n### Terminal animation CLI banner\n\n```json\n{\n    \"terminalBannerCommand\": \"ascii-animation run\",\n    \"terminalBannerRows\": 8,\n    \"terminalBannerColumns\": 100,\n    \"terminalBannerFrameDelayMs\": 33\n}\n```\n\n## 🛠️ Development\n\nNo build step — Oh-My-Pi loads TypeScript directly via [jiti](https://github.com/unjs/jiti).\n\n```bash\n# Test locally\nomp -e .\n\n# Install from local path\nomp install /path/to/pi-welcome-screen\n```\n\n## 📁 Project Structure\n\n```\nsrc/\n├── index.ts           # Entry point — Oh-My-Pi extension factory\n├── WelcomeOverlay.ts  # Overlay component with stacked layout\n├── config.ts          # Defaults, Catppuccin palette, config loading\n├── animations.ts      # ASCII banner data + frame builders per style\n├── renderer.ts        # ANSI escape codes, color mapping, centering\n├── info-panel.ts      # Loaded counts, recent sessions discovery\n└── types.ts           # Config interface, animation & border types\n```\n\n## Release\n\nThis package is published automatically when a Git tag is pushed.\n\nExample:\n\n```bash\ngit checkout main\ngit pull\n\ngit tag -a v0.1.0 -m \"Release v0.1.0\"\ngit push origin v0.1.0\n```\n\nThe GitHub Actions workflow reads the tag name, sets the package version inside CI, builds the package, and publishes it to npm.\n\nThe tag is the source of truth for the published npm version.\n\n## 📄 License\n\nMIT © [Code Sook](https://github.com/seenark)\n","readmeFilename":"README.md"}