@pinkpixel/promptzy 1.4.1 → 1.4.2

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +64 -2
  3. package/package.json +12 -3
package/CHANGELOG.md CHANGED
@@ -5,6 +5,27 @@ All notable changes to Promptzy will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.4.2] - 2026-03-01
9
+
10
+ ### Added
11
+
12
+ - **🖥️ Electron Desktop App:** Native desktop application built with Electron 34
13
+ - Custom `app://` protocol serves the built SPA from `dist/` — react-router `BrowserRouter` routes work identically to the web version
14
+ - Secure architecture: `contextIsolation: true`, `nodeIntegration: false`, sandboxed renderer, minimal `contextBridge` surface
15
+ - Native app menu with File / Edit / View (zoom & fullscreen) / Window / Help (GitHub & Pink Pixel links)
16
+ - Right-click context menu for cut/copy/paste in editable fields
17
+ - All external links open in the system browser via `shell.openExternal`
18
+ - macOS traffic-light / `hiddenInset` title bar; proper dock behaviour
19
+ - Dev mode loads the Vite dev server (`http://localhost:8080`) automatically
20
+ - **📦 Linux Binary Releases:** Pre-built Linux packages published to Cloudflare R2
21
+ - **Debian / Ubuntu / Mint (`.deb`):** [Promptzy-1.4.1-amd64.deb](https://pub-699cccf9e73e444da2db8cbfb168ab3a.r2.dev/Promptzy-1.4.1-amd64.deb)
22
+ - **Universal Linux (`.AppImage`):** [Promptzy-1.4.1.AppImage](https://pub-699cccf9e73e444da2db8cbfb168ab3a.r2.dev/Promptzy-1.4.1.AppImage)
23
+ - **🐳 Docker Support:** Multi-stage Docker build for self-hosted deployments
24
+ - Stage 1 — Node 20 Alpine compiles the Vite SPA with optional `VITE_*` build args for baking in credentials
25
+ - Stage 2 — Nginx 1.27 Alpine serves static assets; SPA-aware `try_files` routing, security headers, gzip compression, and smart cache policies (immutable for hashed assets, no-cache for HTML)
26
+ - `docker-compose.yml` for one-command spin-up: `docker compose up --build`
27
+ - New npm scripts: `docker:build`, `docker:run`, `docker:up`, `electron:dev`, `electron:build`
28
+
8
29
  ## [1.4.1] - 2026-03-01
9
30
 
10
31
  ### Changed
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  <div align="center">
10
10
 
11
11
  ![License](https://img.shields.io/badge/license-MIT-blue.svg)
12
- ![Version](https://img.shields.io/badge/version-1.4.1-green.svg)
12
+ ![Version](https://img.shields.io/badge/version-1.4.2-green.svg)
13
13
  ![NPM](https://img.shields.io/npm/v/@pinkpixel/promptzy?color=red)
14
14
  ![React](https://img.shields.io/badge/React-19.1.0-61DAFB?logo=react)
15
15
  ![TypeScript](https://img.shields.io/badge/TypeScript-5.8.3-3178C6?logo=typescript)
@@ -17,6 +17,8 @@
17
17
  ![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-4.x-38B2AC?logo=tailwind-css)
18
18
  ![Supabase](https://img.shields.io/badge/Supabase-2.49.7-3ECF8E?logo=supabase)
19
19
  ![Build Status](https://img.shields.io/badge/build-passing-brightgreen)
20
+ ![Electron](https://img.shields.io/badge/Electron-34.x-47848F?logo=electron)
21
+ ![Docker](https://img.shields.io/badge/Docker-ready-2496ED?logo=docker)
20
22
  ![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)
21
23
  ![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)
22
24
 
@@ -31,6 +33,8 @@
31
33
  - **Refresh Prompts**: Manual refresh button to sync prompts after configuration changes
32
34
  - **AI Assistant**: Generate new prompts with AI — powered by [Pollinations](https://pollinations.ai), with selectable model and streaming responses
33
35
  - **Progressive Web App (PWA)**: Install as a mobile app directly from your browser
36
+ - **Desktop App**: Native Electron app for Linux (more platforms coming)
37
+ - **Docker**: Run anywhere with a single `docker compose up` command
34
38
  - **Modern UI**: Clean, responsive interface built with Shadcn/UI and Tailwind
35
39
 
36
40
  ## 🖥️ Screenshots
@@ -115,6 +119,62 @@ Promptzy can be installed as a mobile app directly from your browser! No app sto
115
119
  - 🏠 Easy access from your home screen
116
120
  - 🔄 Manual refresh button for syncing prompts after setup
117
121
 
122
+ ### 🖥️ Linux Desktop App (Electron)
123
+
124
+ Download the native desktop app for Linux — no browser required.
125
+
126
+ | Package | Format | Download |
127
+ | ---------------------- | ----------- | -------------------------------------------------------------------------------------------------------- |
128
+ | Debian / Ubuntu / Mint | `.deb` | [Promptzy-1.4.1-amd64.deb](https://pub-699cccf9e73e444da2db8cbfb168ab3a.r2.dev/Promptzy-1.4.1-amd64.deb) |
129
+ | Universal Linux | `.AppImage` | [Promptzy-1.4.1.AppImage](https://pub-699cccf9e73e444da2db8cbfb168ab3a.r2.dev/Promptzy-1.4.1.AppImage) |
130
+
131
+ **Install the `.deb` package:**
132
+
133
+ ```bash
134
+ wget https://pub-699cccf9e73e444da2db8cbfb168ab3a.r2.dev/Promptzy-1.4.1-amd64.deb
135
+ sudo dpkg -i Promptzy-1.4.1-amd64.deb
136
+ ```
137
+
138
+ **Run the `.AppImage` (no install needed):**
139
+
140
+ ```bash
141
+ wget https://pub-699cccf9e73e444da2db8cbfb168ab3a.r2.dev/Promptzy-1.4.1.AppImage
142
+ chmod +x Promptzy-1.4.1.AppImage
143
+ ./Promptzy-1.4.1.AppImage
144
+ ```
145
+
146
+ ### 🐳 Docker
147
+
148
+ Run Promptzy as a self-hosted web app in a Docker container.
149
+
150
+ **Quick start (pre-built image from source):**
151
+
152
+ ```bash
153
+ git clone https://github.com/pinkpixel-dev/promptzy.git
154
+ cd promptzy
155
+ docker compose up --build
156
+ ```
157
+
158
+ Promptzy will be available at `http://localhost:3000`.
159
+
160
+ **With Supabase & Pollinations credentials baked in:**
161
+
162
+ ```bash
163
+ VITE_SUPABASE_URL=https://xxxx.supabase.co \
164
+ VITE_SUPABASE_ANON_KEY=your_anon_key \
165
+ VITE_POLLINATIONS_API_KEY=pk_your_key \
166
+ docker compose up --build
167
+ ```
168
+
169
+ **Or build & run manually:**
170
+
171
+ ```bash
172
+ npm run docker:build # docker build -t promptzy .
173
+ npm run docker:run # docker run --rm -p 3000:80 promptzy
174
+ ```
175
+
176
+ > Credentials can also be configured at runtime through the in-app Settings dialog — no rebuild needed.
177
+
118
178
  ### Deployment
119
179
 
120
180
  For deploying to Cloudflare Pages or other platforms, see the [DEPLOYMENT.md](DEPLOYMENT.md) guide.
@@ -207,7 +267,9 @@ Open **Settings → AI Assistant Configuration**, uncheck **Use default system p
207
267
  - React Hook Form with Zod
208
268
  - Supabase for cloud storage
209
269
  - PWA (Progressive Web App) with Workbox (vite-plugin-pwa v1.2)
210
- - Cloudflare Pages for deployment
270
+ - **Electron 34** native desktop app (Linux `.deb` & `.AppImage`; Windows & macOS builds available)
271
+ - **Docker** — multi-stage Nginx image for self-hosted deployments
272
+ - Cloudflare Pages for hosted deployment
211
273
 
212
274
  ## 📋 Roadmap
213
275
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pinkpixel/promptzy",
3
- "version": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "description": "Promptzy - A modern, cute web application for managing and organizing your AI prompts, with tagging, search, and cloud storage.",
5
5
  "type": "module",
6
6
  "main": "dist/index.html",
@@ -57,7 +57,12 @@
57
57
  "lint": "eslint .",
58
58
  "preview": "vite preview",
59
59
  "start": "node bin/promptzy.js",
60
- "prepublishOnly": "npm run build"
60
+ "prepublishOnly": "npm run build",
61
+ "electron:dev": "concurrently -k -n VITE,ELECTRON -c cyan,magenta \"npm run dev\" \"wait-on http://localhost:8080 && electron electron/main.cjs\"",
62
+ "electron:build": "npm run build && electron-builder",
63
+ "docker:build": "docker build -t promptzy .",
64
+ "docker:run": "docker run --rm -p 3000:80 promptzy",
65
+ "docker:up": "docker compose up --build"
61
66
  },
62
67
  "dependencies": {
63
68
  "@hookform/resolvers": "^5.2.2",
@@ -120,6 +125,9 @@
120
125
  "@types/react": "^19.2.14",
121
126
  "@types/react-dom": "^19.2.3",
122
127
  "@vitejs/plugin-react-swc": "^4.2.3",
128
+ "concurrently": "^9.2.1",
129
+ "electron": "^34.5.8",
130
+ "electron-builder": "^25.1.8",
123
131
  "eslint": "^9.39.3",
124
132
  "eslint-plugin-react-hooks": "^7.0.1",
125
133
  "eslint-plugin-react-refresh": "^0.5.2",
@@ -128,6 +136,7 @@
128
136
  "typescript": "^5.9.3",
129
137
  "typescript-eslint": "^8.56.1",
130
138
  "vite": "^7.3.1",
131
- "vite-plugin-pwa": "^1.2.0"
139
+ "vite-plugin-pwa": "^1.2.0",
140
+ "wait-on": "^8.0.5"
132
141
  }
133
142
  }