# FlowChain

FlowChain is a Windows input assistant that captures text or table data once, organizes it as a list, and sends each item safely to another window in order.

It reduces repeated window switching during form entry, canned replies, product registration, and QA work. It also supports SSH/RDP tasks, terminal commands, RACADM, SQL snippets, network device configuration, and other workflows where pasting everything at once is risky.

![FlowChain screenshot](FlowChain_01.png)

## Download

- Microsoft Store: https://apps.microsoft.com/detail/9NDSWGBHLV2J?cid=readme_store
- winget:

```powershell
winget install --id 9NDSWGBHLV2J --source msstore
```

For unattended or scripted installs:

```powershell
winget install --id 9NDSWGBHLV2J --source msstore --accept-source-agreements --accept-package-agreements
```

## What FlowChain Does

- Captures clipboard text or selected text and splits it into list items.
- Sends one selected line at a time to the active target window.
- Keeps track of sent and unsent lines.
- Locks and tracks the target window to reduce accidental sends.
- Supports paste-based sending and literal keystroke sending.
- Sends Enter or Tab automatically after each line with AUTO ENTER.
- Uses a stable default AUTO ENTER delay of 0.3 seconds.
- Supports snippets, templates, regex replacement, search, undo/redo, tab reordering, and multilingual UI.
- Lets you edit an entire tab as plain text, then apply it back to the list.
- Pastes clipboard text directly into the focused list position from the right-click menu.
- Splits AI replies into actionable code blocks while keeping explanatory prose visible as skipped rows.
- Can validate and format captured JSON, estimate token counts, and export prompt/response logs.
- Pro: masks configured secrets before sending and warns before potentially dangerous commands.
- Runs as a portable Windows app without storing user data in `%APPDATA%`.

## Typical Uses

- Transferring fields from Excel or another list into forms
- Canned replies for email, chat, and support tools
- Product and SKU registration
- QA form input and repetitive verification work
- SSH, RDP, and terminal operation steps
- AI-assisted programming: feeding commands or code from an AI chat/coding agent into your terminal step by step
- SQL snippets and database maintenance tasks
- Router, firewall, and network device configuration
- Migration checklists and ordered operational procedures
- Clipboard-to-window automation where command order matters

## Version 1.9.2

FlowChain v1.9.2 adds a floating tab preview while dragging tabs. The preview
follows the pointer with a short lift-and-fade animation, making the tab being
moved and its destination easier to track.

## Version 1.9.1

FlowChain v1.9.1 completes the localized settings labels added during the
recent menu reorganization. AutoSend, Auto Enter, General, and Snippets now
use native labels in every bundled UI language. Translation tests also verify
that formatting placeholders stay aligned with the English source strings.

## Version 1.9.0

FlowChain v1.9.0 adds **Reset all tabs** to the File menu. After an explicit
confirmation, it restores all tab contents, names, send states, per-tab text
transforms, selections, and undo/redo histories to their initial state.

## Version 1.8.1

FlowChain v1.8.1 fixes generated tab labels so `TAB_1`, `TAB_2`, and other
default names visibly move with their tab contents during drag-and-drop.

## Version 1.8.0

FlowChain v1.8.0 adds drag-and-drop tab reordering. Drag a tab along the tab
bar and release it over the desired position; its commands, selection state,
and undo/redo history move together. The free ADS edition keeps tab reordering
within its available two-tab area, while Pro can reorder all tabs.

## Version 1.7.0

FlowChain v1.7.0 makes list editing much closer to a normal text editor.
You can edit a whole tab as plain text, paste clipboard text directly below
the focused row from the right-click menu, and add new text below the current
focus instead of always appending at the end.

It also adds tab movement so separate workflows can be reordered without
rebuilding them, while keeping the ADS edition as the free, feature-limited
Store build with Pro unlocks.

## Free ADS Version And Pro Version

The free Microsoft Store edition may show ads. Some advanced features are limited in the free edition.

The Pro version (available as an in-app purchase through the Microsoft Store) removes ads and unlocks all tabs, Continuous Send, additional delimiters, and clipboard auto-watch.

| Feature | ADS version | Pro version |
| --- | --- | --- |
| Tabs | Up to 2 tabs | All 10 tabs |
| Continuous Send | Not available | Available |
| Additional delimiters | Newline and tab | Newline, comma, tab, semicolon |
| Clipboard auto-watch | Not available | Available |
| Ads | Shown | Removed |

## Local Data Files

On first launch, FlowChain creates these files next to `FlowChain.exe`:

- `FlowChain.dat`: tab lists, selected lines, and sent-line state.
- `FlowChain.ini`: hotkeys, input delays, safety limits, tray settings, window position, size, and docking state.

FlowChain does not use `%APPDATA%` for its data files. Do not place it under locations with restricted write permissions such as `Program Files`.

## Safety Limits

Default import limits are:

- Maximum lines: `5000`
- Maximum characters per line: `5000`

These can be adjusted in `FlowChain.ini`:

```ini
[limits]
max_items = 5000
max_line_chars = 5000
```

## Build And Test

Run unit tests:

```powershell
python -m unittest discover -s tests
```

Build EXE:

```powershell
.\build_exe.bat
```

Build portable ZIP:

```powershell
powershell -ExecutionPolicy Bypass -File scripts\build_portable.ps1
```
