file-org-wiz
An AI-powered file organization system using the PARA + Zettelkasten methodology.
A complete file organization system that provides tools to reorganize any computer's files with consistent structure, naming conventions, and documentation using the PARA (Projects, Areas, Resources, Archive) methodology combined with Zettelkasten principles.
Features
- PARA Folder Structure: Action-oriented organization by Projects, Areas, Resources, and Archive
- Deep File Scanning: Recursive analysis and intelligent categorization
- Duplicate Detection: Content hash + name similarity matching
- Zettelkasten Integration: MOCs, atomic notes, bidirectional links for Obsidian vaults
- MCP Server: HTTP API for integration with AI coding assistants
- Natural Language Commands: Parse requests like "organize my downloads folder"
- Auto-Tagging: Generate semantic tags from filenames and readable file content
- Smart Renaming: Infer better filenames from content with
auto_describe - Templates: Apply finance, research, and media folder templates instantly
- Analytics Dashboard API: Inspect file types, categories, duplicate waste, tags, and largest files
- dry-Run Mode: Preview changes before applying
- Safe by Design: Path validation, backup-first execution, no data deletion without confirmation
Integration status: MCP server is the primary interface. Direct integration docs are available for Claude Desktop, Aider, and OpenCode. Generic HTTP/MCP integration works with any AI coding assistant — see MCP generic guide.
Quick Start
Install
# Install from source
pip install -e .
# Or install with pipx (recommended for CLI tools)
pipx install .
Start the MCP server:
file-org-wiz --port 5000 --mount /YOUR/MOUNT --backup /YOUR/BACKUP
# Portfolio alias (both commands work identically)
turintech-file-org-wiz --port 5000 --mount /YOUR/MOUNT --backup /YOUR/BACKUP
Examples
Try the examples/ directory:
examples/organize_downloads.py— Scan, analyze, and organize a directory of files using PARA + Zettelkasten methodology
python examples/organize_downloads.py /path/to/your/folder
Test:
curl http://localhost:5000/health
Preview (dry-run):
curl -X POST http://localhost:5000/organize \
-H "Content-Type: application/json" \
-d '{"mount_path": "/YOUR/MOUNT", "dry_run": true}'
Organize (for real):
curl -X POST http://localhost:5000/organize \
-H "Content-Type: application/json" \
-d '{"mount_path": "/YOUR/MOUNT", "backup_path": "/YOUR/BACKUP", "do_backup": true}'
API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/health |
GET | Health check |
/organize |
POST | Execute reorganization |
/backup |
POST | Create backup |
/structure |
GET | Get directory structure |
/analytics |
GET | Get organization analytics |
/apply-names |
POST | Apply naming convention |
/analyze-file |
POST | Generate tags and smart filename suggestion |
/nlp-command |
POST | Parse or execute natural language requests |
/mcp-manifest |
GET | List available tools |
Organize Options
{
"mount_path": "/path/to/mount",
"backup_path": "/path/to/backup",
"do_backup": true,
"template": "finance",
"dry_run": true,
"create_vault": false,
"vault_path": "/path/to/vault"
}
With dry_run: true, the response includes suggested_actions preview.
Smart Naming
{
"file_path": "/path/to/file.txt",
"auto_describe": true,
"version": 1
}
Natural Language Commands
curl -X POST http://localhost:5000/nlp-command \
-H "Content-Type: application/json" \
-d '{"command": "preview organize my downloads folder"}'
Analytics
curl "http://localhost:5000/analytics?path=/YOUR/MOUNT"
Documentation
| Document | Purpose |
|---|---|
| QUICKSTART.md | Get started in 5 minutes |
| USER_GUIDE.md | Complete user guide |
| FAQ.md | Frequently asked questions |
| REFERENCE_CARD.md | Print-ready reference |
| CHEATSHEET.md | All commands |
| CONTRIBUTING.md | How to contribute |
| Why_PARA_Zettelkasten.md | Methodology explanation |
Templates
| Template | Purpose |
|---|---|
docs/templates/01_meeting.md |
Meeting notes |
docs/templates/02_daily.md |
Daily logging |
docs/templates/03_project_moc.md |
Project hub |
docs/templates/04_area_dashboard.md |
Area dashboard |
docs/templates/05_project_note.md |
Project notes |
Installation by System
Choose your AI system below:
| System | Installation |
|---|---|
| Claude Desktop | docs/install/claude_desktop.md |
| Claude Code | docs/install/claude_code.md |
| GitHub Copilot | docs/install/copilot.md |
| OpenAI Codex | docs/install/codex.md |
| Codeium | docs/install/codeium.md |
| Tabnine | docs/install/tabnine.md |
| Cody | docs/install/cody.md |
| Continue | docs/install/continue.md |
| Cursor/Windsurf | docs/install/cursor_windsurf.md |
| Aider | docs/install/aider.md |
| OpenCode | docs/install/opencode.md |
| Raycast | docs/install/raycast.md |
| Mint CLI | docs/install/mint.md |
| gptme | docs/install/gptme.md |
| Amazon Q | docs/install/amazonq.md |
| Any (HTTP) | docs/install/mcp_generic.md |
Folder Structure Created
MOUNT_PATH/
├── 00_INBOX/ # Drop zone - process daily
├── 01_PROJECTS/ # Time-bound deliverables
│ ├── Projects/
│ ├── Client-Work/
│ └── Personal/
├── 02_AREAS/ # Ongoing responsibilities
│ ├── Health/
│ ├── Finance/
│ ├── Home/
│ ├── Learning/
│ └── Personal/
├── 03_RESOURCES/ # Reference material
│ ├── AI/
│ ├── Tech/
│ ├── Career/
│ ├── Development/
│ ├── Media/
│ ├── Reading/
│ └── Tools/
├── 04_ARCHIVE/ # Completed items
├── 90_TEMPLATES/ # Reusable templates
└── 99_SYSTEM/ # Rules & documentation
├── File Naming Rules.md
├── Tag Rules.md
├── Vault Rules.md
└── File_System_User_Guide.md
File Naming Convention
Pattern: YYYY-MM-DD__context__description__vNN.ext
| Before | After |
|---|---|
final.docx |
2026-04-25__career__resume__v01.docx |
Meeting Notes.docx |
2026-04-24__turin-tech__client-meeting__v01.docx |
Requirements
- Python 3.8+
- Flask >= 2.3.2
- An AI agent that can execute bash commands, read/write files, and navigate directory structure
Security
See SECURITY.md for our security policy and reporting guidelines.
Contributing
Contributions are welcome! Please read CONTRIBUTING.md for detailed guidelines on our development process, coding standards, PR workflow, and code of conduct.
License
MIT — see LICENSE for details.
Your digital life is an extension of your mind. Organize it.
No comments yet
Be the first to share your take.