Split the 630-line README.md into focused, well-organized documentation: - README.md: Concise overview with quick start and links - docs/INSTALLATION.md: Installation instructions and setup - docs/CONFIGURATION.md: Configuration options and custom categories - docs/USAGE.md: Command-line options and usage examples - docs/HOW_IT_WORKS.md: Architecture and internal processes - docs/TROUBLESHOOTING.md: Common issues and solutions - docs/DEVELOPMENT.md: Project structure and development guide - docs/CONTRIBUTING.md: Contribution guidelines and standards Benefits: - Main README is now clean and welcoming (~150 lines vs 630) - Each doc has a clear, focused purpose - Better navigation with cross-linking between docs - Follows GitHub best practices with docs/ directory - Easier to maintain and update specific sections
5.9 KiB
Configuration Guide
NoEntropy uses a simple TOML configuration file to store your API key, download folder path, and custom categories.
Configuration File Location
NoEntropy stores configuration in ~/.config/noentropy/config.toml following XDG Base Directory specifications.
Platform-specific paths:
- Linux/macOS:
~/.config/noentropy/config.toml - Windows:
C:\Users\<username>\AppData\Roaming\noentropy\config.toml
Basic Configuration
Minimal Configuration
The minimum required configuration includes just your API key and download folder:
api_key = "AIzaSyDTEhAq414SHY094A5oy5lxNA0vhbY1O3k"
download_folder = "/home/user/Downloads"
Full Configuration with Custom Categories
api_key = "AIzaSyDTEhAq414SHY094A5oy5lxNA0vhbY1O3k"
download_folder = "/home/user/Downloads"
# Optional: Custom categories for file organization
categories = ["Work", "Personal", "School", "Projects", "Bills", "Media", "Misc"]
Configuration Options
| Setting | Description | Example | Required |
|---|---|---|---|
api_key |
Your Google Gemini API key | AIzaSy... |
Yes |
download_folder |
Path to folder to organize | /home/user/Downloads |
Yes |
categories |
Custom categories for organization | ["Work", "Personal", "School"] |
No |
Getting a Gemini API Key
- Visit Google AI Studio
- Sign in with your Google account
- Create a new API key
- Copy the key to your configuration file
Important: Keep your API key secure and never commit it to version control.
Custom Categories
NoEntropy allows you to define your own custom categories instead of using the default ones. This is perfect for organizing files based on your specific workflow or needs.
Default Categories
If you don't specify custom categories, NoEntropy uses these defaults:
- Images - PNG, JPG, GIF, SVG, etc.
- Documents - PDF, DOC, DOCX, TXT, MD, etc.
- Installers - EXE, DMG, APP, PKG, etc.
- Music - MP3, WAV, FLAC, M4A, etc.
- Archives - ZIP, TAR, RAR, 7Z, etc.
- Code - Source code and configuration files
- Misc - Everything else
Using Custom Categories
To use custom categories, add a categories array to your config.toml:
api_key = "your_api_key_here"
download_folder = "/home/user/Downloads"
categories = ["Work", "Personal", "School", "Projects", "Bills", "Media", "Misc"]
Category Examples by Use Case
For Students
categories = ["Courses", "Assignments", "Research", "Personal", "Textbooks", "Media", "Misc"]
For Professionals
categories = ["Client Work", "Internal", "Invoices", "Contracts", "Marketing", "Resources", "Misc"]
For Creatives
categories = ["Projects", "Assets", "References", "Client Files", "Portfolio", "Tools", "Misc"]
For Personal Use
categories = ["Family", "Finance", "Health", "Home", "Travel", "Hobbies", "Misc"]
Tips for Effective Custom Categories
- Keep it simple - Use 5-10 categories for best results
- Be specific - More descriptive names help the AI understand better
- Include "Misc" - Always have a catch-all category for unclear files
- Think workflow - Organize based on how you actually use files
- Test first - Use
--dry-runto preview categorization before committing
How Custom Categories Work
When you define custom categories:
- NoEntropy sends your file list to the Gemini AI
- The AI is instructed to categorize files into your custom categories
- Files are organized into folders matching your category names
- Sub-folders are still created automatically for better organization
Example Output with Custom Categories:
Downloads/
├── Work/
│ ├── Reports/
│ │ └── Q4-Report.pdf
│ └── Presentations/
│ └── Client-Deck.pptx
├── Personal/
│ ├── Photos/
│ │ └── vacation.jpg
│ └── Documents/
│ └── resume.pdf
└── School/
├── Assignments/
│ └── homework.docx
└── Notes/
└── lecture-notes.pdf
Interactive Setup
If configuration is missing, NoEntropy will prompt you interactively:
$ ./noentropy
NoEntropy Configuration Setup
=============================
API key not found. Please enter your Google Gemini API key:
> AIzaSy...
Download folder not found. Please enter the path to organize:
(Default: /home/user/Downloads)
> /home/user/Downloads
Configuration saved to ~/.config/noentropy/config.toml
Configuration is automatically saved after interactive setup.
Changing Configuration
Changing API Key
To change your Gemini API key, use the --change-key flag:
./noentropy --change-key
Or manually edit ~/.config/noentropy/config.toml and update the api_key value.
Changing Download Folder
Edit your configuration file and update the download_folder value:
download_folder = "/path/to/new/folder"
Adding or Modifying Categories
Edit your configuration file and add or modify the categories array:
categories = ["Category1", "Category2", "Category3"]
To remove custom categories and use defaults, simply delete the categories line from your config file.
Configuration Best Practices
- Backup your config - Keep a copy of your configuration, especially if you have custom categories
- Use absolute paths - Always specify absolute paths for
download_folder - Test changes - Use
--dry-runafter changing categories to preview results - Keep API key secure - Don't share or commit your API key
- Regular reviews - Periodically review if your custom categories still match your needs
Next Steps
- Usage Guide - Learn how to use NoEntropy
- How It Works - Understand the organization process
- Troubleshooting - Solve common configuration issues