fspulse 0.0.6

FsPulse is a fast, cross-platform filesystem scanner and change tracker.
<img src="https://raw.githubusercontent.com/gtunes-dev/fspulse/main/assets/splash.png" alt="FsPulse logo" width="100%" style="max-width: 600px;">

# FsPulse

**FsPulse** is a Rust-based command-line tool that captures and analyzes the state of directories over time. It tracks changes, validates file integrity, and allows users to query results with a powerful, SQL-like syntax.

---

## 🚀 Key Capabilities

- **Directory Scanning** — Track file and folder additions, deletions, and modifications
- **Content Validation** — Validate file types such as FLAC, JPEG, PNG, GIF, BMP, and PDF
- **MD5 Hashing** — Optionally detect content changes beyond metadata
- **Powerful Querying** — SQL-inspired query language for flexible results
- **Interactive Mode** — Menu-driven exploration once scanning is underway

---

## 📚 Documentation

Full user guide is available here:

👉 **[FsPulse Documentation](https://gtunes-dev.github.io/fspulse/)**

Key sections:
- [Getting Started]https://gtunes-dev.github.io/fspulse/getting_started.html
- [Query Syntax]https://gtunes-dev.github.io/fspulse/query.html
- [Command-Line Interface]https://gtunes-dev.github.io/fspulse/cli.html
- [Interactive Mode]https://gtunes-dev.github.io/fspulse/interactive_mode.html
- [Scanning]https://gtunes-dev.github.io/fspulse/scanning.html
- [Validators]https://gtunes-dev.github.io/fspulse/validators.html
- [Configuration]https://gtunes-dev.github.io/fspulse/configuration.html

---

## 🛠 Building from Source

```sh
git clone https://github.com/gtunes-dev/fspulse.git
cd fspulse
cargo build --release
```

Run from the `target/release` directory:

```sh
./target/release/fspulse --help
```

---

## ⚡ Quick Examples

Run a scan:

```sh
fspulse scan --root-path /some/directory
```

Launch interactive mode:

```sh
fspulse interact
```

Use query syntax to explore results:

```sh
fspulse query "items where item_path:('reports')"

fspulse query "changes where val_new:(I) show default, val_old, val_new order by change_id desc"
```

---

## 🤝 Contributions

FsPulse is under active development, but is **not currently accepting external contributions**. This may change in the future — see our [Development Guide](https://gtunes-dev.github.io/fspulse/development.html) for details.

---

## 📄 License

Released under the MIT License. See [LICENSE](LICENSE) for details.