1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# Ferret Configuration Example
# Copy this file to ~/.config/ferret/config.toml
# ─────────────────────────────────────────────────────────────
# Directories to Watch
# ─────────────────────────────────────────────────────────────
# List of directories to monitor for new files (recursive)
# Use ~ for home directory
= [
"~/Downloads",
"~/Desktop",
"~/.cache",
"~/.local/lib/python*/site-packages"
]
# ─────────────────────────────────────────────────────────────
# Ignore Patterns
# ─────────────────────────────────────────────────────────────
# Glob patterns for files/directories to ignore
# These are matched against the full path
= [
# Version control
"**/.git/**",
"**/.svn/**",
"**/.hg/**",
# Build artifacts
"**/node_modules/**",
"**/target/**",
"**/build/**",
"**/dist/**",
"**/__pycache__/**",
# "**/venv/**",
# "**/.venv/**",
# Editor/IDE files
"**/*.swp",
"**/*.swo",
"**/*~",
"**/.idea/**",
"**/.vscode/**",
# Temporary/partial files
"**/*.tmp",
"**/*.temp",
"**/*.part",
"**/*.crdownload", # Chrome partial downloads
"**/*.download",
# Hidden files (optional - uncomment to ignore all hidden files)
# "**/.*",
# macOS specific
"**/.DS_Store",
"**/.Spotlight-V100/**",
"**/.Trashes/**",
# Cache directories
# "**/.cache/**",
# "**/Cache/**",
]
# ─────────────────────────────────────────────────────────────
# File Size Filter
# ─────────────────────────────────────────────────────────────
# Minimum file size in bytes to log (0 = log all files)
# Useful for ignoring very small files like temp files
# Examples:
# 0 - Log all files
# 1024 - Skip files smaller than 1 KB
# 1048576 - Skip files smaller than 1 MB
= 0
# ─────────────────────────────────────────────────────────────
# Data Retention
# ─────────────────────────────────────────────────────────────
# Number of days to keep events before automatic cleanup
# Set to 0 to keep events forever
# Cleanup runs at startup
= 90
# ─────────────────────────────────────────────────────────────
# Logging
# ─────────────────────────────────────────────────────────────
# Log level: "error", "warn", "info", "debug", "trace"
= "info"
# ─────────────────────────────────────────────────────────────
# Advanced Options
# ─────────────────────────────────────────────────────────────
# Whether to follow symlinks when watching directories
= false
# Debounce delay in milliseconds for file events
# Lower values = more responsive, higher values = less CPU usage
= 500
# ─────────────────────────────────────────────────────────────
# Custom Paths (Optional)
# ─────────────────────────────────────────────────────────────
# Uncomment to override default locations
# Database location (default: ~/.local/share/ferret/ledger.db)
# database_path = "~/.local/share/ferret/ledger.db"
# Log file location (optional)
# log_file = "~/.local/share/ferret/ferret.log"