Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileTagr

A desktop app for non-destructive file tagging. Point it at a folder, and it reads each file's content, generates keyword tags, and stores them alongside the file — the original is never modified.

What it does

  • Scans a folder (optionally including subfolders) for supported files
  • Extracts text from each file's content — plain text and Markdown, PDFs, and source code (.py, .js, .ts)
  • Generates tags — 5–10 keyword tags per file, each with a confidence score, based on the extracted text
  • Saves tags as a sidecar file (filename.ext.meta.json) next to the original — nothing about the source file itself ever changes
  • Indexes everything in a local database so you can browse and search files by tag from the app
  • Skips files that already have a sidecar, so re-running a scan only processes what's new

How it works

The app is two pieces talking over a local HTTP connection:

  • Frontend — a Tauri desktop app (React). Three screens: pick a folder, watch scan progress, then browse the results by tag.
  • Backend — a local Python/FastAPI server the app starts in the background. It does the actual file scanning, text extraction, tag generation, and storage.

Per file, the backend:

  1. Scans the target folder and collects supported files, skipping anything already tagged
  2. Extracts text using the extractor for that file type (plain text, PDF, or source code)
  3. Runs keyword extraction (RAKE) on the text to produce ranked tags with confidence scores
  4. Writes those tags to a .meta.json sidecar next to the file, via an atomic write (write to a temp file, then rename) so a crash mid-write can't corrupt or leave a partial sidecar
  5. Records the file and its tags in a local SQLite database, keyed by a SHA-256 hash of the file's contents, so the app can answer "show me every file tagged X" without rescanning the filesystem

Because tagging only ever writes a new .meta.json file next to the original, deleting FileTagr or its database doesn't lose or alter anything about the source files — the sidecars are just plain JSON and stay human-readable on their own.

About

Local-first file tagging tool that scans documents and source files, extracts text, and generates searchable keyword tags with confidence scores.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages