Skip to content

The filee command line, watch folders and history settings (1.3.0) - #27

Merged
KnifeLemon merged 3 commits into
mainfrom
feat/cli-watch
Oct 2, 2026
Merged

KnifeLemon merged 3 commits into
mainfrom
feat/cli-watch

Conversation

@KnifeLemon

Copy link
Copy Markdown
Owner

What

  • filee command line (src/Filee.Cli, published as filee-cli.exe next to Filee.exe so it shares the runtime and engines; the filee command is cli\filee.cmd). Commands: convert (files, wildcards, folders, --to or --preset, -o, -r, --quality, --overwrite/--skip, --json, --quiet), watch, formats, presets, help, version. Exit codes 0 / 1 some failed / 2 usage or missing input / 3 nothing to do. Same presets and engines as the app.
  • Setup can put the command on PATH (task "Add the "filee" command to PATH", on by default, hidden when it is already there; removed on uninstall).
  • Watch folders (FolderWatcher in Core, new Watch folders page): files that land in a folder are converted once they are complete (unchanged for 2 s and not open elsewhere); temporary/hidden files, unknown formats and the output folders are ignored. Originals can stay or move to originals (inbox mode, which also converts files already waiting at start). Also filee watch in a terminal.
  • History settings (General): "Don't keep a history of recent conversions" and "Clear history".
  • README: command line section, sections reordered (Install, Features, Formats, Command line, …, Build from source).
  • Version 1.3.0.

Asked for on Reddit (batches from a CLI, pointing it at a folder).

Tests

New Filee.Cli.Tests (16) and FolderWatcherTests (fake clock); App tests for the watch folders page and the history settings. Core 101, Cli 16, App and ImageAndPdf passing locally; installer script compiles; checked end to end from a combined publish folder through cli\filee.cmd, and a live watch converted arriving files.

🤖 Generated with Claude Code

KnifeLemon and others added 3 commits October 3, 2026 06:01
Command line (src/Filee.Cli, published next to Filee.exe as filee-cli.exe; the installer can put the
"filee" command, cli\filee.cmd, on PATH):
- filee convert <files, wildcards, folders> --to <format> | --preset <id or name>, with -o, --recursive,
  --quality, --overwrite/--skip, --json for scripts, and exit codes (0 ok, 1 some failed, 2 usage, 3 nothing).
- filee watch <folder>, filee formats [<format>], filee presets, help, version.
- Same engines, presets and engine order as the app (CliHost mirrors AppHost).

Watch folders (Settings → Watch folders, and filee watch):
- FolderWatcher (Filee.Core) converts files that land in a folder once they have settled and open without
  sharing, so downloads and copies in progress wait; temporary files, unknown formats and the output and
  originals folders are ignored. Per rule: preset, subfolders, output folder (default <folder>\converted),
  and whether originals stay or move to <folder>\originals (then waiting files are converted at start).
- The tray app runs one watcher per enabled rule (WatchFolderService); conversions show in the toast and
  history like any other.

Tests: FolderWatcherTests (settling, files still being written or held open, ignored files, moving originals,
missing folder), Filee.Cli.Tests (conversion, JSON, folders, failures, argument errors, a live watch), a render
test of the new page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
General settings get a "Conversion history" card: "Don't keep a history of recent conversions" stops
recording finished conversions, and "Clear history" empties it. Version 1.3.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@KnifeLemon KnifeLemon added the feature New features label Oct 2, 2026
@KnifeLemon
KnifeLemon merged commit c3ea512 into main Oct 2, 2026
1 check passed
@KnifeLemon
KnifeLemon deleted the feat/cli-watch branch October 2, 2026 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant