Dotfiles
Sysops toolkit for scanning, monitoring, reporting, and maintaining system configurations. Track changes, create backups, run benchmarks, and keep your environment healthy — all from the command line.
Commands
| Command |
Description |
dotfiles scan <input> |
Scan and log a system configuration entry |
dotfiles monitor <input> |
Record a monitoring observation |
dotfiles report <input> |
Log a report entry for review |
dotfiles alert <input> |
Create an alert record |
dotfiles top <input> |
Record top-level metrics or priorities |
dotfiles usage <input> |
Log resource usage data |
dotfiles check <input> |
Run a check and record results |
dotfiles fix <input> |
Log a fix or remediation action |
dotfiles cleanup <input> |
Record a cleanup operation |
dotfiles backup <input> |
Log a backup event |
dotfiles restore <input> |
Log a restore operation |
dotfiles log <input> |
Add a general log entry |
dotfiles benchmark <input> |
Record benchmark results |
dotfiles compare <input> |
Log a comparison between configurations |
dotfiles stats |
Show summary statistics across all logs |
dotfiles export <fmt> |
Export all data (json, csv, or txt) |
dotfiles search <term> |
Search across all log files for a term |
dotfiles recent |
Show the 20 most recent activity entries |
dotfiles status |
Health check — version, disk usage, last activity |
dotfiles help |
Show all available commands |
dotfiles version |
Show current version |
Each command without arguments displays the most recent 20 entries from its log file.
Data Storage
All data is stored in ~/.local/share/dotfiles/:
- Per-command logs —
scan.log, monitor.log, report.log, alert.log, top.log, usage.log, check.log, fix.log, cleanup.log, backup.log, restore.log, log.log, benchmark.log, compare.log
- Activity history —
history.log (unified timeline of all actions)
- Exports —
export.json, export.csv, or export.txt (generated on demand)
Data format: each entry is stored as YYYY-MM-DD HH:MM|<value>, pipe-delimited for easy parsing.
Requirements
- Bash 4+ with
set -euo pipefail
- Standard POSIX utilities (
date, wc, du, head, tail, grep, cut, basename)
- No external dependencies or API keys required
When to Use
- System configuration auditing — scan and record the state of config files across machines, track drift over time
- Incident response logging — use
alert, fix, and log to maintain a structured timeline during outages or issues
- Backup and restore tracking — log every backup and restore event to maintain an audit trail for compliance
- Performance benchmarking — record benchmark results over time and compare configurations side by side
- Daily ops monitoring — capture usage metrics, run health checks, and clean up stale resources on a regular schedule
Examples
# Scan a configuration and log the result
dotfiles scan "nginx.conf updated to v1.25"
# Record a monitoring observation
dotfiles monitor "CPU at 78% during peak hours"
# Create an alert for high memory usage
dotfiles alert "Memory usage exceeded 90% threshold"
# Log a fix action after resolving an issue
dotfiles fix "Rotated /var/log/syslog, freed 2.3GB"
# Export all collected data as JSON for analysis
dotfiles export json
# Search all logs for entries related to nginx
dotfiles search nginx
# View recent activity across all commands
dotfiles recent
# Check overall health and disk usage
dotfiles status
# Show summary statistics
dotfiles stats
Output
All command output goes to stdout. Redirect to a file if needed:
dotfiles stats > report.txt
dotfiles export json
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com
1---2name: dotfiles3description: Backup, sync, and version-track dotfiles across multiple machines. Use when syncing configs, backing up settings, restoring on new machines.4---5# Dotfiles
6
7Sysops toolkit for scanning, monitoring, reporting, and maintaining system configurations. Track changes, create backups, run benchmarks, and keep your environment healthy — all from the command line.
8
9## Commands
10
11| Command | Description |
12|---------|-------------|
13| `dotfiles scan <input>` | Scan and log a system configuration entry |
14| `dotfiles monitor <input>` | Record a monitoring observation |
15| `dotfiles report <input>` | Log a report entry for review |
16| `dotfiles alert <input>` | Create an alert record |
17| `dotfiles top <input>` | Record top-level metrics or priorities |
18| `dotfiles usage <input>` | Log resource usage data |
19| `dotfiles check <input>` | Run a check and record results |
20| `dotfiles fix <input>` | Log a fix or remediation action |
21| `dotfiles cleanup <input>` | Record a cleanup operation |
22| `dotfiles backup <input>` | Log a backup event |
23| `dotfiles restore <input>` | Log a restore operation |
24| `dotfiles log <input>` | Add a general log entry |
25| `dotfiles benchmark <input>` | Record benchmark results |
26| `dotfiles compare <input>` | Log a comparison between configurations |
27| `dotfiles stats` | Show summary statistics across all logs |
28| `dotfiles export <fmt>` | Export all data (json, csv, or txt) |
29| `dotfiles search <term>` | Search across all log files for a term |
30| `dotfiles recent` | Show the 20 most recent activity entries |
31| `dotfiles status` | Health check — version, disk usage, last activity |
32| `dotfiles help` | Show all available commands |
33| `dotfiles version` | Show current version |
34
35Each command without arguments displays the most recent 20 entries from its log file.
36
37## Data Storage
38
39All data is stored in `~/.local/share/dotfiles/`:
40
41- **Per-command logs** — `scan.log`, `monitor.log`, `report.log`, `alert.log`, `top.log`, `usage.log`, `check.log`, `fix.log`, `cleanup.log`, `backup.log`, `restore.log`, `log.log`, `benchmark.log`, `compare.log`
42- **Activity history** — `history.log` (unified timeline of all actions)
43- **Exports** — `export.json`, `export.csv`, or `export.txt` (generated on demand)
44
45Data format: each entry is stored as `YYYY-MM-DD HH:MM|<value>`, pipe-delimited for easy parsing.
46
47## Requirements
48
49- Bash 4+ with `set -euo pipefail`
50- Standard POSIX utilities (`date`, `wc`, `du`, `head`, `tail`, `grep`, `cut`, `basename`)
51- No external dependencies or API keys required
52
53## When to Use
54
551. **System configuration auditing** — scan and record the state of config files across machines, track drift over time
562. **Incident response logging** — use `alert`, `fix`, and `log` to maintain a structured timeline during outages or issues
573. **Backup and restore tracking** — log every backup and restore event to maintain an audit trail for compliance
584. **Performance benchmarking** — record benchmark results over time and compare configurations side by side
595. **Daily ops monitoring** — capture usage metrics, run health checks, and clean up stale resources on a regular schedule
60
61## Examples
62
63```bash
64# Scan a configuration and log the result
65dotfiles scan "nginx.conf updated to v1.25"
66
67# Record a monitoring observation
68dotfiles monitor "CPU at 78% during peak hours"
69
70# Create an alert for high memory usage
71dotfiles alert "Memory usage exceeded 90% threshold"
72
73# Log a fix action after resolving an issue
74dotfiles fix "Rotated /var/log/syslog, freed 2.3GB"
75
76# Export all collected data as JSON for analysis
77dotfiles export json
78
79# Search all logs for entries related to nginx
80dotfiles search nginx
81
82# View recent activity across all commands
83dotfiles recent
84
85# Check overall health and disk usage
86dotfiles status
87
88# Show summary statistics
89dotfiles stats
90```
91
92## Output
93
94All command output goes to stdout. Redirect to a file if needed:
95
96```bash
97dotfiles stats > report.txt
98dotfiles export json
99```
100
101---
102
103*Powered by BytesAgain | bytesagain.com | hello@bytesagain.com*