https://github.com/fossillogic/shark
Shark Tool is the ultimate all-in-one file and system administration utility. Built for admins, developers, and power users, Shark unifies essential file management, automation, and analysis tasks into a single, powerful command-line interface—eliminating the need for multiple separate tools.
https://github.com/fossillogic/shark
admin admin-tool command-line devops linux meson mesonbuild ninja-build
Last synced: 10 days ago
JSON representation
Shark Tool is the ultimate all-in-one file and system administration utility. Built for admins, developers, and power users, Shark unifies essential file management, automation, and analysis tasks into a single, powerful command-line interface—eliminating the need for multiple separate tools.
- Host: GitHub
- URL: https://github.com/fossillogic/shark
- Owner: fossillogic
- License: apache-2.0
- Created: 2025-11-06T01:53:38.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-03-21T04:31:13.000Z (22 days ago)
- Last Synced: 2026-03-21T20:25:23.379Z (21 days ago)
- Topics: admin, admin-tool, command-line, devops, linux, meson, mesonbuild, ninja-build
- Language: C
- Homepage: https://fossillogic.com/
- Size: 1.42 MB
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
### A Command-Line Power Utility by **Fossil Logic**
Shark Tool is the ultimate **all-in-one file and system administration utility** for admins, developers, and power users. It consolidates essential file management, automation, and analysis into a single command-line interface—eliminating tool fragmentation. Unique commands like `grammar` for text analysis, `introspect` for file inspection, and `cryptic` for encoding/decoding provide capabilities rarely found in traditional utilities, delivering the precision and flexibility professionals demand.
---
## Features
- **Comprehensive file and directory operations** — `show`, `copy`, `move`, `delete`, `rename`, `create`, and more
- **Archive management** — Create, extract, and list archives (zip, tar, gz) with encryption support
- **Advanced search capabilities** — Recursive file search by name or content with intelligent filtering
- **Metadata and timestamp control** — Smart handling of file permissions, timestamps, and attributes
- **Cross-platform support** — Seamless operation on Linux, macOS, and Windows
- **AI-powered analysis** — Grammar checking, tone detection, and text improvement via SOAP API
- **File synchronization** — Intelligent sync and backup with selective updates and deletion options
- **Real-time monitoring** — Watch files and directories for changes with event filtering
- **Text encoding/decoding** — Multiple cipher support (Caesar, Vigenere, Base64, etc.)
- **File comparison and inspection** — Diff analysis, introspection, and structured summaries
## **Why Choose Shark Tool?**
Unlike traditional CLI utilities that require juggling multiple tools, Shark consolidates essential file and system operations into a single, intuitive command-line interface. Here's what sets it apart:
- **All-in-One Solution**: Eliminate tool switching. File management, archiving, searching, synchronization, and analysis all in one place.
- **Unique Advanced Features**: Commands like `grammar` for intelligent text analysis, `summary` for structured insights, and `introspect` for deep file inspection go beyond standard utilities.
- **Developer-Friendly**: Built specifically for admins and developers who need power and flexibility without complexity.
- **Cross-Platform**: Works seamlessly across Linux, macOS, and Windows.
- **Intelligent Defaults**: Smart handling of timestamps, metadata, and file permissions with optional fine-grained control.
- **Modern Architecture**: Built with Meson and designed for performance and extensibility.
Shark Tool is the unified solution for professionals who demand more from their command-line utilities.
---
## **Prerequisites**
Ensure you have the following installed before starting:
- **Meson Build System**: This project relies on Meson. For installation instructions, visit the official [Meson website](https://mesonbuild.com/Getting-meson.html).
## **Setting Up Meson Build**
1. **Install Meson**:
- Follow the installation guide on the [Meson website](https://mesonbuild.com/Getting-meson.html) for your operating system.
## **Setting Up, Compiling, Installing, and Running the Project**
1. **Clone the Repository**:
```sh
git clone https://github.com/fossillogic/shark.git
cd shark
```
2. **Configure the Build**:
```sh
meson setup builddir
```
3. **Compile the Project**:
```sh
meson compile -C builddir
```
4. **Install the Project**:
```sh
meson install -C builddir
```
5. **Run the Project**:
```sh
shark --help
```
## Command Palette
---
### Core File Operations
| **Command** | **Description** | **Flags** |
|-------------|-----------------|-----------|
| `show` | Display files and directories. | `-a`, `--all` (show hidden)
`-l`, `--long` (detailed info)
`-h`, `--human` (human-readable sizes)
`-r`, `--recursive` (include subdirs)
`-d`, `--depth ` (limit recursion)
`--as ` (format: list/tree/graph)
`--time` (show timestamps)
`-s`, `--sort ` (sort by: asc/desc)
`-m`, `--match ` (filter by name)
`--size ` (filter by size: e.g., >1MB)
`-t`, `--type ` (filter by type: file/dir/link) |
| `merge` | Combine multiple files or directories. | `-f`, `--force` (overwrite)
`-i`, `--interactive` (confirm before merge)
`-b`, `--backup` (backup before merge)
`--strategy ` (merge strategy: overwrite/keep-both/skip)
`--progress` (show progress)
`--dry-run` (preview merge)
`--exclude ` (exclude files)
`--include ` (include files) |
| `swap` | Exchange the locations of two files or directories. | `-f`, `--force` (overwrite if needed)
`-i`, `--interactive` (confirm swap)
`-b`, `--backup` (create backups before swap)
`--atomic` (guarantee atomic swap if supported)
`--progress` (show progress)
`--dry-run` (preview swap)
`--temp ` (temporary staging location)
`--no-cross-device` (fail if paths are on different filesystems) |
| `move` | Move or rename files/directories. | `-f`, `--force` (overwrite)
`-i`, `--interactive` (confirm overwrite)
`-b`, `--backup` (backup before move)
`--atomic` (atomic operation)
`--progress` (show progress)
`--dry-run` (preview changes)
`--exclude ` (exclude files)
`--include ` (include files) |
| `copy` | Copy files or directories. | `-r`, `--recursive` (copy subdirs)
`-u`, `--update` (only newer)
`-p`, `--preserve` (keep permissions/timestamps)
`--checksum` (verify after copy)
`--sparse` (preserve sparse files)
`--link` (hardlink instead)
`--reflink` (copy-on-write)
`--progress` (show progress)
`--dry-run` (simulate)
`--exclude ` (exclude files)
`--include ` (include files) |
| `remove` / `delete` | Delete files or directories. | `-r`, `--recursive` (delete contents)
`-f`, `--force` (no confirmation)
`-i`, `--interactive` (confirm per file)
`--trash` (move to trash)
`--wipe` (secure overwrite before delete)
`--shred ` (multi-pass secure deletion)
`--older-than
---
### Global Flags (Available to All Commands)
| **Flag** | **Description** |
|-----------|-----------------|
| `--help` | Show command help. |
| `--version` | Display Shark Tool version. |
| `-v, --verbose` | Enable detailed output. |
| `-q, --quiet` | Suppress standard output. |
| `--dry-run` | Simulate actions without changes. |
| `--color` | Colorize output where applicable. |
| `--time` | Display timestamps in output. |
---
### Usage Examples
| **Example** | **Description** |
|---|---|
| `shark show -a -l -h --as=tree --time` | List all files (including hidden) in long, human-readable format as a tree, with timestamps. |
| `shark merge -i -b src1/ src2/ dest/` | Interactively merge two source directories into destination with backups. |
| `shark swap -f -b file1.txt file2.txt` | Exchange the locations of two files, forcing the operation and creating backups. |
| `shark move -i -b old.txt archive/old.txt` | Move a file interactively, creating a backup before moving. |
| `shark copy -r -p src/ backup/` | Recursively copy with preserved permissions and timestamps. |
| `shark remove -r --trash temp/` | Recursively move directory to system trash. |
| `shark rename -i draft.md final.md` | Rename a file with confirmation before overwriting. |
| `shark create -p -t dir logs/archive/2024/` | Create nested directory structure. |
| `shark search -r -c "config"` | Recursively search for string "config" inside files. |
| `shark archive -c -f tar project.tar src/` | Create a TAR archive from the src/ directory. |
| `shark compare -t main_v1.c main_v2.c --context 5` | Show line-by-line diff with 5 lines of context. |
| `shark help --examples` | Display command help with usage examples. |
| `shark sync -ru src/ dest/` | Recursively synchronize, copying only newer files. |
| `shark watch -r -e create,delete src/` | Monitor src/ recursively for creation and deletion events. |
| `shark rewrite -a --in-place log.txt "New entry"` | Append new entry to log file in-place. |
| `shark introspect --head 20 --tail 5 --type data.csv` | Show first 20 and last 5 lines, detect file type. |
| `shark grammar --check --tone --score notes.txt` | Run grammar check, detect tone, display readability scores. |
| `shark cryptic -e -c caesar "hello"` | Encode text using Caesar cipher. |
| `shark split -l 100 -p chunk_ large_file.txt` | Split file into chunks of 100 lines with "chunk_" prefix. |
## Command Comparison (Shark vs Traditional Tools)
Shark Tool consolidates many common command-line utilities into a **single consistent interface**.
Below is a comparison between **Shark commands** and their traditional equivalents.
| **Shark Command** | **Traditional Commands** | **Purpose** |
|---|---|---|
| `shark show` | `ls`, `tree`, `stat` | Display files, directories, metadata, and structures with filtering, sorting, and multiple output formats. |
| `shark merge` | `cp`, `rsync` (merge mode) | Combine multiple files or directories with conflict resolution strategies. |
| `shark swap` | `mv` (with custom logic) | Exchange the locations of two files or directories atomically with backups. |
| `shark move` | `mv` | Move or rename files/directories with atomic operations and filtering. |
| `shark copy` | `cp` | Copy files or directories with verification, copy-on-write, and hardlinking. |
| `shark remove` / `delete` | `rm`, `trash`, `shred` | Remove files with optional trash, secure multi-pass wipe, and filtering. |
| `shark rename` | `mv`, `rename` | Rename files with safer overwrite controls and batch operations. |
| `shark create` | `mkdir`, `touch` | Create directories or files with parent directory generation. |
| `shark search` | `find`, `grep`, `locate` | Search files by name, path, or contents with case-insensitive matching. |
| `shark archive` | `tar`, `zip`, `unzip`, `gzip` | Create, extract, or list archives with encryption and format support. |
| `shark compare` | `diff`, `cmp` | Compare text or binary files with context and case-insensitive options. |
| `shark help` | `man`, `--help` | Display command help and documentation with examples. |
| `shark sync` | `rsync` | Synchronize directories with update checking and selective deletion. |
| `shark watch` | `inotifywait`, `fswatch` | Monitor filesystem changes with event filtering and polling intervals. |
| `shark rewrite` | `sed`, `truncate`, `touch` | Modify file contents or metadata including timestamps and size. |
| `shark introspect` | `head`, `tail`, `wc`, `file`, `stat` | Inspect file contents, type, and metadata with structured output. |
| `shark grammar` | *(no direct CLI equivalent)* | AI-assisted grammar, style, and tone analysis with multiple detection traits. |
| `shark cryptic` | *(no direct CLI equivalent)* | Encode or decode text using classic and modern ciphers. |
| `shark split` | `split` | Split files into segments by lines, bytes, or count with custom naming. |
---
## **Contributing**
Interested in contributing? Please open pull requests or create issues on the [GitHub repository](https://github.com/fossillogic/shark).
## **Feedback and Support**
For issues, questions, or feedback, open an issue on the [GitHub repository](https://github.com/fossillogic/shark/issues).
## **License**
This project is licensed under the [Apache Public License](LICENSE).