Releases: bekalpaslan/promptline
Release list
Promptline 0.2.9
The release-readiness pass: one instance, a tray-only login start, a data folder the project owns, a paste that says when it failed, and a website. Builds on v0.2.8.
Where your data lives
- The app's identifier is now
io.github.bekalpaslan.promptline, so the data folder moves from%APPDATA%\com.promptline.appto%APPDATA%\io.github.bekalpaslan.promptline. On the first start after upgrading, everything is moved over for you: prompts, packs and settings, with the pack files' paths fixed up. The old folder is removed once empty. The sidebar's fold state and sort order start fresh; nothing else changes. - Pack file paths are stored relative to the folder, so a library copied to another machine or user keeps its pack files. A pack file that can't be written is reported once instead of silently skipped.
- There is a log file now,
promptline.login the data folder, for when something goes wrong: it holds paths and error text, never your prompts. Settings → Your library has an Open folder button. - Saves survive a sync client or antivirus briefly holding a file; they retry instead of failing.
Launching
- Only one Promptline runs. A second launch (the Start menu, the installer's finish page) opens the running one's manager instead of starting a second tray icon.
- Start with Windows now stays in the tray; the manager no longer opens over your desktop at login. An existing autostart entry picks this up once you turn the setting off and on again.
Popup
- Summon the popup while the manager itself is in front and it copies instead of pasting into the editor: "Copied to clipboard — the manager was in front".
- If the window you came from refuses the paste (an elevated window, for instance), the popup comes back and says so; the prompt is still on your clipboard.
- A second Enter during a paste no longer pastes twice. Ctrl+→ unfolds groups as well as packs. The preview card opens above its row when there is no room below, the hint bar stays on one line at the smallest width, and Ctrl+N's suggested title ends at a word.
{0}and{1}in a prompt are plain text again, not warnings.
Manager
- The sidebar is the library and nothing else: the "Prompts" heading and the Light / Dark toggle are gone. Theme is in Settings → Appearance as System / Light / Dark; System follows Windows and is the default for new installs. The Settings gear sits at the top-right of the pane.
- The sidebar is one tree to the keyboard: Up / Down move, Left folds or goes to the parent, Right unfolds, Home / End, Shift+F10 opens a row's menu, one Tab stop instead of one per row. Screen readers hear it as a tree.
- The editor says Saving… / Saved in its header. Pin sits next to Delete.
- An empty library shows one empty state with one New button that asks where, like the sidebar's.
- Dragging a row while sorted by Most used or A–Z now starts your Custom order from what you were looking at, instead of reshuffling everything.
- New → Pack opens the name for typing (it used to append to "New pack"). One toast per new pack. Tag suggestions show the six most used; the rest complete as you type.
- Undo after a menu action (ungroup, move, tag, pin, merge) no longer reverts edits or use counts made in between. Ctrl+Z ignores an Undo whose toast you closed.
- Tags follow one rule everywhere on the editor, "Add tag…" and import: lowercase letters, digits,
_and-. A pack file carrying a tag with a space, like "code review", imports ascodereview, which is what the#tagfilter could already find; the editor and the menu made the same of it before. - Removing a parameter chip no longer flattens the indentation of code in the prompt.
- Menu headings and form titles show pack, group and prompt names as you typed them, not in capitals.
- A new prompt never lands in a pack that doesn't exist; if "My prompts" was deleted, the first pack you can write to is used.
The rest
- A website: promptline.cc.
- Installer metadata (publisher, description, licence) is filled in, and the third-party notices for the Outfit font and Remix Icon ship next to the exe.
- The README covers install, uninstall, backup, known limitations and credits; there is a SECURITY.md and an issue template.
Install
Promptline_0.2.9_x64-setup.exe (NSIS) or Promptline_0.2.9_x64_en-US.msi.
Still unsigned, so SmartScreen warns on first run: More info → Run anyway.
Your prompts, packs and settings carry over untouched (they move to the new folder on first start, see above).
Promptline 0.2.8
The manager's library view folds back into the sidebar, the sidebar learns to search the way the popup does, and a fill-in field can ask twice. Builds on v0.2.7.
Overview beside the sidebar
- Clicking a pack or group title no longer takes over the window. The sidebar stays, and the pane beside it shows what that pack or group holds as preview cards, the way a prompt row shows the editor.
- A card opens its prompt. The editor's pack › group line is clickable, and Esc goes up a level: from a prompt to its group or pack, from a group to its pack.
- The chevrons still fold the tree, a double-click still renames, and the overview follows a rename.
A calmer sidebar
- Packs, groups and prompts are told apart by weight, a pack icon, a guide line under each group and counts on the right, instead of all wearing the same blue. Blue now means state: the selection, focus, a search hit.
- Group names show exactly as you typed them, in the sidebar and in the popup.
- In the overview a group is a heading over a line, not a box inside a box.
Search in the sidebar
- The filter is always visible under the title (Ctrl+F from anywhere, Esc clears) and takes the popup's
#tag,@packand>groupterms plus free words. - While searching, the tree opens to its hits, packs count "hits / all", matches are highlighted, and a line says how many there are.
- Start a search while a pack or group is open and it stays inside it (the "in Debugging ×" chip), with a link to the matches elsewhere.
- A Display menu beside the field switches between Packs and One list (each row then says where it lives), sets the order and collapses or expands everything. The old "Group by pack" checkbox is gone.
Fill-in fields
- A field that is already in the prompt has a + on its chip: it inserts
{goal_2}, then{goal_3}, each asked for separately when you paste. Writing{goal}twice still pastes one value in both places. - Names may now hold digits after the first letter.
{0}and{1}stay plain text, but a prompt that already contains something like{step1}will now ask for it.
Fixes
- Autofill and IME input no longer throw an error from the keyboard shortcut handlers.
Install
Promptline_0.2.8_x64-setup.exe (NSIS) or Promptline_0.2.8_x64_en-US.msi.
Still unsigned, so SmartScreen warns on first run: More info → Run anyway.
Your prompts, packs and settings carry over untouched.
Promptline 0.2.7
The manager grows a second mode on top of v0.2.6, previews stop saying "clipboard", and the popup's filters get sharper.
Library view
- Click a pack or group title in the sidebar and the library takes the whole window: packs as cards holding group cards holding prompt previews, each folding like the editor's Advanced options card. It opens on what you clicked, one level down, with everything else folded. Opening any prompt brings the editor back; Esc switches between the two.
- The sidebar chevrons still fold the tree in place, and a double-click still renames.
- Every pack and group header in the library has the sidebar's three-dot menu (rename, lock, export, file actions, new group, delete; ungroup), and prompt cards open the prompt menu on right-click or the Menu key.
- Both surfaces draw one tree and one row order, so the sidebar and the library never disagree.
Previews
{clipboard}in the editor's Preview and in the popup's preview card now shows the clipboard as it is, one line, cut at 240 characters. An empty clipboard says so, because that is what would paste.- A Copy button under the editor's Preview copies what a paste would produce; fill-in fields stay as
{field}for you to complete. The popup's preview card gets one too, on the same copy-only path as Ctrl+Enter.
Popup
- A tag pill toggles its
#tagfilter instead of replacing the query, and a funnel on a pack or group header does the same for@packand>group. - While a filter is on, every pack and group that holds a hit is drawn open so the hits are on screen.
- Filter values with spaces can be quoted:
@"My prompts". - The editor gives tags their own card, framed like Built-ins.
Install
Promptline_0.2.7_x64-setup.exe (NSIS) or Promptline_0.2.7_x64_en-US.msi.
Still unsigned, so SmartScreen warns on first run: More info → Run anyway.
Your prompts, packs and settings carry over untouched.
Promptline 0.2.6
A small release on top of v0.2.5: the whole UI moves to one type scale, and the manager's modules get titles you can find.
Look
- Text is sized by role across both windows. Every input, button, menu item, list row, help line and preview is 13px; labels, tags and counts are 12px; the sidebar heading is 20px. Inputs used to be 12, 13 or 14px depending on the screen, and two text areas shrank on wider windows.
- Pack titles are 16px in a deep blue, module titles (Prompt, Preview, the Settings cards, the Generate preview) are 14px in the accent blue, and group titles share that blue as 12px caps. Prompt rows stay in ink, so the coloured text is always a heading.
- Each module in the editor, Settings and the Generate dialog sits in a card with a visible blue-tinted border and a mixed-case title instead of a grey caps label.
- The popup's pack headings match the sidebar's instead of being the smallest text on screen.
Install
Promptline_0.2.6_x64-setup.exe (NSIS) or Promptline_0.2.6_x64_en-US.msi.
Still unsigned, so SmartScreen warns on first run: More info → Run anyway.
Your prompts, packs and settings carry over untouched.
Promptline 0.2.5
A large release on top of v0.2.4: a restyle, groups inside packs, an agent-driven Generate, and around forty bug fixes, most of them found by running the repo's bug hunt benchmark against the app.
Look
The UI is restyled as a tool rather than a website: tighter type, one focus treatment, contrast-safe tokens, a mono hint bar in the popup, and thin scrollbars that only show while you hover a list. Toasts follow the app's theme instead of the OS setting.
Popup
- Pinned prompts keep the order you pinned them in, so Ctrl+1..5 slots hold still; Ctrl+1..5 always goes to the top five rows you see.
- A row shows all of its tags, folding extras into a "+N" pill.
- Search results and the Pinned section are drawn flat, in rank order, so what you see matches what the arrow keys and Ctrl digits select. Body matches now need the query as a substring or word prefixes, so a short query narrows the list instead of matching every prompt.
- Groups inside a pack show as sub-headers, and each one folds on click or with Left; Left on an ungrouped row folds the pack. Folding no longer throws the list back to the top.
- The popup opens at the top of the list, and a pointer resting where it appears no longer steals the selection.
- Fill-in form: Enter is handled once (it used to also pick the row behind the form, pasting the wrong prompt), the field grows as you type newlines, and the {clipboard} preview stays current while the popup is open.
- Undo after a delete: a plain "u" only undoes while the search box is empty, and Ctrl+Z always does.
- Pack headings count every prompt in the pack, pins included; clicking a heading keeps the search box focused; the hint bar wraps instead of clipping at larger UI scales; pin, unpin and undo keep the highlight on the prompt you acted on.
- Alt+F4 hides the popup instead of destroying it (the hotkey used to go dead until restart). The hotkey is ignored while the popup is already open, and a refused hotkey no longer aborts startup.
- Untouched "New prompt" drafts stay out of the popup until you fill them in.
Manager and packs
- Groups inside packs, with drag and keyboard reordering, undo for regroup and merge, and inline renames that commit on Enter only.
- Generate now runs as an agent survey with a stop, a clock and manual import; an imported pack is backed by exactly one file.
- Import curation: bulk select, per-row pack names, editable bad JSON, no double adds. Pack files that start with a BOM are accepted.
- The editor keeps a half-typed group, pack or tag while autosave lands, and a sidebar move during that window is no longer reverted. Typing "a, b" into the tag box adds two tags.
- Delete labels say what they delete, locked packs also lock their groups' delete items, and undo after deleting a pack brings the pack back.
- Settings: the hotkey recorder records, then asks before applying; "Sync from file" is called an import.
Reliability
Data files are written atomically and quarantined when they will not parse; a pack file is written only when its content changed; reserved Windows device names cannot become pack filenames; snippet edits are intent-level commands with a revision guard; a Content Security Policy is set; Quit from the tray flushes a pending autosave.
For contributors
BEHAVIOR.md now covers the popup's own undo, the draft sweep, pin order and group folding. The repo carries a bug hunt benchmark (BUG-HUNT-BENCHMARK.md) with its findings and per-run transcripts, a lint script with ESLint, and a CI workflow.
Install
Promptline_0.2.5_x64-setup.exe (NSIS) or Promptline_0.2.5_x64_en-US.msi.
Still unsigned, so SmartScreen warns on first run: More info → Run anyway.
Your prompts, packs and settings carry over untouched; pins get their order stamped on first load.
Promptline 0.2.4
Small release on top of v0.2.3.
New app icon
Promptline finally looks like something. The placeholder is replaced by a coral
octagon with a chevron, generated at every size from a single source — so the
tray, the taskbar, the title bar and the installer all match.
If Windows keeps showing you the old icon after installing, that's its icon
cache rather than the app: it caches per executable path and is slow to notice.
Re-logging in clears it.
For contributors
The repo now carries BEHAVIOR.md,
a reference for what each surface does and why the non-obvious parts are built
that way — the timing in the paste pipeline, why pack file backing is
reconciled rather than handled at creation, why an empty pack never overwrites
its file. The README also picked up several corrections where it had drifted
from what the app actually does.
Nothing in this section changes the app itself.
Install
Promptline_0.2.4_x64-setup.exe (NSIS) or Promptline_0.2.4_x64_en-US.msi.
Still unsigned, so SmartScreen warns on first run — More info → Run anyway.
Your prompts, packs and settings carry over untouched.
Promptline 0.2.3
Small release on top of v0.2.2.
Promptline is open source
The repository is now public under the MIT license — use it, fork it, read
exactly what the app does with your clipboard.
Support link in Settings
The bottom of Settings has a Buy Me a Coffee button, drawn locally rather than
by the vendor's CDN script: a desktop app holding your prompt library and
reading your clipboard has no business running remote JavaScript, and this way
it renders offline too. Entirely optional, and the app is unchanged whether you
use it or not.
Install
Promptline_0.2.3_x64-setup.exe (NSIS) or Promptline_0.2.3_x64_en-US.msi.
Still unsigned, so SmartScreen warns on first run — More info → Run anyway.
Your prompts, packs and settings carry over untouched.
Promptline 0.2.2
Fixes on top of v0.2.1.
Every pack gets its own file, automatically
Packs were only file-backed when created through the "New pack" flow — but a
pack needs no metadata to exist: naming one on a prompt conjures it, which is
how imports and moves create them. Those arrived with no file, and you had to
reach for Back with a file… by hand to get one.
Now every pack that exists owns a .json under %APPDATA%\com.promptline.app\packs\
from the moment it appears, however it came about. Packs that predate this get
their file on first launch, so nothing needs doing.
Deleting a pack no longer strands its file
Nothing ever removed a pack file, so deleting a pack left its .json behind
forever — quietly accumulating, and colliding with the name if you recreated
the pack later (that's where deployments-2.json came from).
Deleting a pack now moves its file to …\packs\deleted\ instead of unlinking
it. That file can hold prompts an agent wrote there and nobody imported yet —
the same content the app already refuses to overwrite — so deleting a pack in
the UI must not be able to destroy them. Recover one at any time via
Settings → Import from file.
Files are matched by path rather than name, so renaming a pack keeps its file
instead of retiring it. Nothing is ever swept automatically: dropping a pack
file into packs\ for the app to pick up is a supported workflow, and a
sweeper would eat it.
Dark mode fix
- Scrollbars,
<select>dropdowns and form controls follow the theme. The
dark class only swapped CSS variables, so native UI the webview paints itself
stayed light regardless. Both windows are fixed.
Install
Promptline_0.2.2_x64-setup.exe (NSIS) or Promptline_0.2.2_x64_en-US.msi.
Still unsigned, so SmartScreen warns on first run — More info → Run anyway.
Your prompts, packs and settings carry over untouched.
Promptline 0.2.1
Fixes on top of v0.2.0.
The prompt now stays on your clipboard after pasting
Promptline puts your prompt on the clipboard and sends Ctrl+V — but that
keystroke only lands if the window you came from has a focused text field.
Previously the old clipboard was restored 400 ms later regardless, so if
nothing was focused, the paste went nowhere and the prompt was wiped: the
whole gesture did nothing, with nothing left to recover.
The prompt now stays put. A missed paste is recoverable — click into a field
and press Ctrl+V yourself. Copy-only (Ctrl+Enter) already worked this way, so
both paths now behave the same.
Trade-off worth knowing: your previous clipboard is no longer restored, so a
{clipboard} template consumes the text it expanded from. Firing a second
{clipboard} prompt right after the first will expand from the first one's
result. The popup's preview always shows what {clipboard} will insert, so you
can see it before it happens.
Editor fixes
- Tag suggestions wrap onto multiple lines instead of pushing a horizontal
scrollbar under the prompt box and hiding most of themselves off-screen - The
+ tag…field looks like a field — it was transparent with a faded
placeholder, reading as a caption rather than something you can type into
Sidebar fix
- The "Order by" dropdown stays inside the filter panel — "Custom — drag to
arrange" used to push the panel wider than the sidebar and add a horizontal
scrollbar
Install
Promptline_0.2.1_x64-setup.exe (NSIS) or Promptline_0.2.1_x64_en-US.msi.
Still unsigned, so SmartScreen warns on first run — More info → Run anyway.
Your prompts, packs and settings in %APPDATA%\com.promptline.app\ carry over
untouched.
Promptline 0.2.0
Your prompt vocabulary, one hotkey away, in every window.
Promptline is a Windows tray app for people who talk to Claude (or any AI) all
day. Press Ctrl+Shift+V anywhere, a popup opens at your cursor with your
prompt library — pick one and it pastes straight into whatever you were just
using: a terminal, claude.ai, Cursor, a PR comment box.
The move it's built around: copy an error or a diff, hit the hotkey, pick a
template, and it pastes with the clipboard contents already inserted where
{clipboard} was.
Install
Download Promptline_0.2.0_x64-setup.exe (NSIS) or Promptline_0.2.0_x64_en-US.msi.
The installers are unsigned, so Windows SmartScreen will warn on first run —
choose More info → Run anyway. Code signing is on the backlog.
What's in it
- Placeholders —
{clipboard},{date}/{time},{anything}for a
runtime fill-in field (pre-filled with your last value), and{{anything}}
for a config parameter you set once and paste silently forever - Popup — fuzzy search over titles, tags and bodies with match
highlighting;#tagand@packfilters;Ctrl+1..5for the pinned slots;
Tab for an action panel;→for the full-prompt preview; resizable, and it
remembers its size - Manager — autosaving editor with no Save button, packs in a collapsible
sidebar with multi-select and drag-to-arrange, two-click deletes with Undo - Generate a pack with Claude — give it a topic, paste the instruction it
builds into Claude, import the reply; every prompt is reviewed in a checklist
before anything lands in your library - Settings — record a hotkey by pressing it, autostart, light/dark, popup
density, UI font, UI scale 90–125%, library export/import
Data
Everything is plain JSON in %APPDATA%\com.promptline.app\ — snippets, packs,
preferences. Pack files are readable and writable by other tools (that's the
point: an agent can write you a pack). Older data formats migrate on load.
Known limitations
- Windows only — the macOS port needs the
platformmodule reimplemented - No auto-update yet; unsigned installers trip SmartScreen