Skip to main content

Streamlined CLI file organizer powered by local AI (Ollama)

Project description

fo-core

Local AI file organizer. Point it at a directory — it categorizes and moves your files using a model running on your own machine. Local by default: Ollama runs on-device, no API key required. Cloud providers are optional extras.

CI License: MIT OR Apache-2.0 Python 3.11+ Version


Prerequisites

  1. Python 3.11 or later — check with python3 --version

  2. Ollama — install from ollama.ai, then start it:

    ollama serve
    

Install

pip install fo-core

Then pull the default AI model (first-time only, ~3 GB):

ollama pull gemma3:4b

Verify optional deps for your files:

fo doctor ~/Downloads

Quick Start

# Preview what would happen — no files are moved
fo organize ~/Downloads ~/Organized --dry-run

# Run it for real
fo organize ~/Downloads ~/Organized

# Changed your mind?
fo undo

Commands

Command What it does
fo organize [SRC] [DEST] Organize files using AI categorization
fo preview [SRC] Dry-run preview without moving files
fo search [QUERY] Full-text search across files
fo analyze [DIR] File statistics and analysis
fo dedupe Find and remove duplicate files
fo suggest AI-powered organization suggestions
fo autotag Auto-tag files based on content
fo copilot Natural-language assistant
fo rules Manage organization rules (YAML)
fo config show|list|edit View or update configuration
fo doctor [DIR] Scan a directory and recommend optional deps
fo daemon start|stop Background file watcher
fo undo / redo / history Operation history and rollback
fo model Select or inspect AI models
fo benchmark Performance benchmarks
fo setup Interactive setup wizard

Full flag documentation: docs/cli-reference.md


AI Providers

Default: Ollama — runs entirely on your machine, no API key needed.

Cloud providers are optional extras:

Provider Install Works with
OpenAI-compatible pip install "fo-core[cloud]" OpenAI, LM Studio, vLLM, Groq
Anthropic Claude pip install "fo-core[claude]" Claude text + vision models
llama.cpp pip install "fo-core[llama]" GGUF models — no Ollama required
MLX (Apple Silicon) pip install "fo-core[mlx]" MLX-optimized local models

Optional Feature Packs

Core file types (PDF, DOCX, XLSX, PPTX, EPUB, ZIP) work out of the box. RAR also works but requires a system-level unrar or unar binary. Install extras for additional capabilities:

Pack Install Adds
media pip install "fo-core[media]" Audio transcription (faster-whisper) + video scene detection. Use fo organize --transcribe-audio for content-aware audio categorization, or verify the install with fo benchmark run --suite audio --transcribe-smoke.
dedup-text pip install "fo-core[dedup-text]" TF-IDF/cosine text deduplication
dedup-image pip install "fo-core[dedup-image]" Image similarity deduplication
scientific pip install "fo-core[scientific]" HDF5, NetCDF, MATLAB formats
cad pip install "fo-core[cad]" DXF/DWG CAD files
search pip install "fo-core[search]" BM25 + vector search
all pip install "fo-core[all]" All of the above

Configuration

Config lives in ~/.config/fo/config.yaml. Override the location with the FO_CONFIG environment variable.

fo config show                                           # view all settings
fo config edit --text-model gemma3:4b  # change text model
fo config edit --device auto                             # change device

Full configuration reference: docs/CONFIGURATION.md


Documentation

Doc Contents
Getting Started Installation options, first run, platform notes
CLI Reference Every command and flag
Configuration All config keys explained
FAQ Common questions and troubleshooting
Troubleshooting Diagnosing connection and model issues

Contributing / Development

See DEVELOPER.md for architecture, local setup, testing, and contribution guidelines.


Releases

Currently 2.0.0-beta.7. The acceptance criteria that were required for this promotion and the contract with public pre-release testers are documented in docs/release/beta-criteria.md.

License

MIT OR Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fo_core-2.0.0b8.tar.gz (748.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fo_core-2.0.0b8-py3-none-any.whl (864.4 kB view details)

Uploaded Python 3

File details

Details for the file fo_core-2.0.0b8.tar.gz.

File metadata

  • Download URL: fo_core-2.0.0b8.tar.gz
  • Upload date:
  • Size: 748.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for fo_core-2.0.0b8.tar.gz
Algorithm Hash digest
SHA256 b3de908dd360b342bf1a15bb4f8645dc8a5e5918efab0f7af3cce8cf4584b66e
MD5 9e88dec7e9f9686358219ed223a51b65
BLAKE2b-256 bc9d42ac6ee05ec8c06bbd17d74c3693380f9d681a5d402e8688763831bf9142

See more details on using hashes here.

Provenance

The following attestation bundles were made for fo_core-2.0.0b8.tar.gz:

Publisher: release.yml on curdriceaurora/fo-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fo_core-2.0.0b8-py3-none-any.whl.

File metadata

  • Download URL: fo_core-2.0.0b8-py3-none-any.whl
  • Upload date:
  • Size: 864.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for fo_core-2.0.0b8-py3-none-any.whl
Algorithm Hash digest
SHA256 d309599e806724037f89ccaadfae76501840f888a985306105f804fefa013d9f
MD5 460845f8e15c5334536cbb9171c66ec6
BLAKE2b-256 5b59c5922a77b218321f059e4f82b2a4228a7320a2f289e32cefcd88a63822db

See more details on using hashes here.

Provenance

The following attestation bundles were made for fo_core-2.0.0b8-py3-none-any.whl:

Publisher: release.yml on curdriceaurora/fo-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page