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.6. 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.0b6.tar.gz (740.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.0b6-py3-none-any.whl (854.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fo_core-2.0.0b6.tar.gz
  • Upload date:
  • Size: 740.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.0b6.tar.gz
Algorithm Hash digest
SHA256 74a27c2c3f077e288e3217c41fca7f0c6de2249eeeb1253f908bbebe3bf68762
MD5 f85cdf8a24deae67745730ca8a1bb1b2
BLAKE2b-256 44ea74a2456cf59e1e91be89daf50f0b2bb105065b772e30302d7bffc0788d7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for fo_core-2.0.0b6.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.0b6-py3-none-any.whl.

File metadata

  • Download URL: fo_core-2.0.0b6-py3-none-any.whl
  • Upload date:
  • Size: 854.9 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.0b6-py3-none-any.whl
Algorithm Hash digest
SHA256 8122f229d2d326ffcb83a91333b16a7b51c4cff5d4b1a9cbfea0f7d5754e592d
MD5 6e5753556767c147f96100f0598bc5e5
BLAKE2b-256 d3495c87a3e64d9c41a8c10717923d5f45d08589070043f8cc1b185d74666229

See more details on using hashes here.

Provenance

The following attestation bundles were made for fo_core-2.0.0b6-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