{"id":28313543,"url":"https://github.com/fossillogic/shark","last_synced_at":"2026-04-01T21:07:33.162Z","repository":{"id":322879514,"uuid":"1090679932","full_name":"fossillogic/shark","owner":"fossillogic","description":"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.","archived":false,"fork":false,"pushed_at":"2026-03-21T04:31:13.000Z","size":1484,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-21T20:25:23.379Z","etag":null,"topics":["admin","admin-tool","command-line","devops","linux","meson","mesonbuild","ninja-build"],"latest_commit_sha":null,"homepage":"https://fossillogic.com/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fossillogic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-06T01:53:38.000Z","updated_at":"2026-03-21T04:28:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fossillogic/shark","commit_stats":null,"previous_names":["fossillogic/shark"],"tags_count":9,"template":false,"template_full_name":"dreamer-coding/app-c","purl":"pkg:github/fossillogic/shark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossillogic%2Fshark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossillogic%2Fshark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossillogic%2Fshark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossillogic%2Fshark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fossillogic","download_url":"https://codeload.github.com/fossillogic/shark/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossillogic%2Fshark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292006,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin","admin-tool","command-line","devops","linux","meson","mesonbuild","ninja-build"],"created_at":"2025-05-24T18:11:04.464Z","updated_at":"2026-04-01T21:07:33.154Z","avatar_url":"https://github.com/fossillogic.png","language":"C","readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\".github/logo.png\" alt=\"Shark Tool Logo\" width=\"620\"/\u003e\n\u003c/p\u003e\n\n### A Command-Line Power Utility by **Fossil Logic**\n\nShark 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.\n\n---\n\n## Features\n\n- **Comprehensive file and directory operations** — `show`, `copy`, `move`, `delete`, `rename`, `create`, and more\n- **Archive management** — Create, extract, and list archives (zip, tar, gz) with encryption support\n- **Advanced search capabilities** — Recursive file search by name or content with intelligent filtering\n- **Metadata and timestamp control** — Smart handling of file permissions, timestamps, and attributes\n- **Cross-platform support** — Seamless operation on Linux, macOS, and Windows\n- **AI-powered analysis** — Grammar checking, tone detection, and text improvement via SOAP API\n- **File synchronization** — Intelligent sync and backup with selective updates and deletion options\n- **Real-time monitoring** — Watch files and directories for changes with event filtering\n- **Text encoding/decoding** — Multiple cipher support (Caesar, Vigenere, Base64, etc.)\n- **File comparison and inspection** — Diff analysis, introspection, and structured summaries\n\n\n## **Why Choose Shark Tool?**\n\nUnlike 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:\n\n- **All-in-One Solution**: Eliminate tool switching. File management, archiving, searching, synchronization, and analysis all in one place.\n- **Unique Advanced Features**: Commands like `grammar` for intelligent text analysis, `summary` for structured insights, and `introspect` for deep file inspection go beyond standard utilities.\n- **Developer-Friendly**: Built specifically for admins and developers who need power and flexibility without complexity.\n- **Cross-Platform**: Works seamlessly across Linux, macOS, and Windows.\n- **Intelligent Defaults**: Smart handling of timestamps, metadata, and file permissions with optional fine-grained control.\n- **Modern Architecture**: Built with Meson and designed for performance and extensibility.\n\nShark Tool is the unified solution for professionals who demand more from their command-line utilities.\n\n---\n\n## **Prerequisites**\n\nEnsure you have the following installed before starting:\n\n- **Meson Build System**: This project relies on Meson. For installation instructions, visit the official [Meson website](https://mesonbuild.com/Getting-meson.html).\n\n## **Setting Up Meson Build**\n\n1. **Install Meson**:\n    - Follow the installation guide on the [Meson website](https://mesonbuild.com/Getting-meson.html) for your operating system.\n\n## **Setting Up, Compiling, Installing, and Running the Project**\n\n1. **Clone the Repository**:\n\n    ```sh\n    git clone https://github.com/fossillogic/shark.git\n    cd shark\n    ```\n\n2. **Configure the Build**:\n\n    ```sh\n    meson setup builddir\n    ```\n\n3. **Compile the Project**:\n\n    ```sh\n    meson compile -C builddir\n    ```\n\n4. **Install the Project**:\n\n    ```sh\n    meson install -C builddir\n    ```\n\n5. **Run the Project**:\n\n    ```sh\n    shark --help\n    ```\n\n## Command Palette\n\n---\n\n### Core File Operations\n\n| **Command** | **Description** | **Flags** |\n|-------------|-----------------|-----------|\n| `show` | Display files and directories. | `-a`, `--all` (show hidden)\u003cbr\u003e`-l`, `--long` (detailed info)\u003cbr\u003e`-h`, `--human` (human-readable sizes)\u003cbr\u003e`-r`, `--recursive` (include subdirs)\u003cbr\u003e`-d`, `--depth \u003cn\u003e` (limit recursion)\u003cbr\u003e`--as \u003cmode\u003e` (format: list/tree/graph)\u003cbr\u003e`--time` (show timestamps)\u003cbr\u003e`-s`, `--sort \u003ckey\u003e` (sort by: asc/desc)\u003cbr\u003e`-m`, `--match \u003cpattern\u003e` (filter by name)\u003cbr\u003e`--size \u003cfilter\u003e` (filter by size: e.g., \u003e1MB)\u003cbr\u003e`-t`, `--type \u003cfilter\u003e` (filter by type: file/dir/link) |\n| `merge` | Combine multiple files or directories. | `-f`, `--force` (overwrite)\u003cbr\u003e`-i`, `--interactive` (confirm before merge)\u003cbr\u003e`-b`, `--backup` (backup before merge)\u003cbr\u003e`--strategy \u003cmode\u003e` (merge strategy: overwrite/keep-both/skip)\u003cbr\u003e`--progress` (show progress)\u003cbr\u003e`--dry-run` (preview merge)\u003cbr\u003e`--exclude \u003cpattern\u003e` (exclude files)\u003cbr\u003e`--include \u003cpattern\u003e` (include files) |\n| `swap` | Exchange the locations of two files or directories. | `-f`, `--force` (overwrite if needed)\u003cbr\u003e`-i`, `--interactive` (confirm swap)\u003cbr\u003e`-b`, `--backup` (create backups before swap)\u003cbr\u003e`--atomic` (guarantee atomic swap if supported)\u003cbr\u003e`--progress` (show progress)\u003cbr\u003e`--dry-run` (preview swap)\u003cbr\u003e`--temp \u003cpath\u003e` (temporary staging location)\u003cbr\u003e`--no-cross-device` (fail if paths are on different filesystems) |\n| `move` | Move or rename files/directories. | `-f`, `--force` (overwrite)\u003cbr\u003e`-i`, `--interactive` (confirm overwrite)\u003cbr\u003e`-b`, `--backup` (backup before move)\u003cbr\u003e`--atomic` (atomic operation)\u003cbr\u003e`--progress` (show progress)\u003cbr\u003e`--dry-run` (preview changes)\u003cbr\u003e`--exclude \u003cpattern\u003e` (exclude files)\u003cbr\u003e`--include \u003cpattern\u003e` (include files) |\n| `copy` | Copy files or directories. | `-r`, `--recursive` (copy subdirs)\u003cbr\u003e`-u`, `--update` (only newer)\u003cbr\u003e`-p`, `--preserve` (keep permissions/timestamps)\u003cbr\u003e`--checksum` (verify after copy)\u003cbr\u003e`--sparse` (preserve sparse files)\u003cbr\u003e`--link` (hardlink instead)\u003cbr\u003e`--reflink` (copy-on-write)\u003cbr\u003e`--progress` (show progress)\u003cbr\u003e`--dry-run` (simulate)\u003cbr\u003e`--exclude \u003cpat\u003e` (exclude files)\u003cbr\u003e`--include \u003cpat\u003e` (include files) |\n| `remove` / `delete` | Delete files or directories. | `-r`, `--recursive` (delete contents)\u003cbr\u003e`-f`, `--force` (no confirmation)\u003cbr\u003e`-i`, `--interactive` (confirm per file)\u003cbr\u003e`--trash` (move to trash)\u003cbr\u003e`--wipe` (secure overwrite before delete)\u003cbr\u003e`--shred \u003cpasses\u003e` (multi-pass secure deletion)\u003cbr\u003e`--older-than \u003ctime\u003e` (delete files older than)\u003cbr\u003e`--larger-than \u003csize\u003e` (delete files larger than)\u003cbr\u003e`--empty` (delete only empty dirs)\u003cbr\u003e`--log \u003cfile\u003e` (write deletion log) |\n| `rename` | Rename files or directories. | `-f`, `--force` (overwrite target)\u003cbr\u003e`-i`, `--interactive` (confirm overwrite) |\n| `create` | Create new directories or files. | `-p`, `--parents` (create parent dirs)\u003cbr\u003e`-t`, `--type \u003ctype\u003e` (file or dir) |\n| `search` | Find files by name or content. | `-r`, `--recursive` (include subdirs)\u003cbr\u003e`-n`, `--name \u003cpattern\u003e` (filename match)\u003cbr\u003e`-c`, `--content \u003cpattern\u003e` (search contents)\u003cbr\u003e`-i`, `--ignore-case` (case-insensitive)\u003cbr\u003e`-p`, `--path \u003cpath\u003e` (search within specific path) |\n| `archive` | Create, extract, or list archives. | `-c`, `--create` (new archive)\u003cbr\u003e`-x`, `--extract` (extract)\u003cbr\u003e`-l`, `--list` (list archive)\u003cbr\u003e`-f \u003cformat\u003e` (zip/tar/gz)\u003cbr\u003e`-p`, `--password \u003cpw\u003e` (encrypt)\u003cbr\u003e`--stdout` (output to stdout) |\n| `compare` | Compare two files/directories. | `-t`, `--text` (line diff)\u003cbr\u003e`-b`, `--binary` (binary diff)\u003cbr\u003e`--context \u003cn\u003e` (context lines)\u003cbr\u003e`--ignore-case` (ignore case) |\n| `help` | Display help for commands. | `--examples` (usage examples)\u003cbr\u003e`--man` (full manual) |\n| `sync` | Synchronize files/directories. | `-r`, `--recursive` (include subdirs)\u003cbr\u003e`-u`, `--update` (only newer)\u003cbr\u003e`--delete` (remove extraneous files) |\n| `watch` | Monitor files or directories. | `-r`, `--recursive` (include subdirs)\u003cbr\u003e`-e`, `--events \u003clist\u003e` (event filter)\u003cbr\u003e`-t`, `--interval \u003cn\u003e` (poll interval) |\n| `rewrite` | Modify file contents or metadata. | `-a`, `--append` (append)\u003cbr\u003e`--in-place` (edit in place)\u003cbr\u003e`--access-time` (update atime)\u003cbr\u003e`--mod-time` (update mtime)\u003cbr\u003e`--size \u003cn\u003e` (set file size) |\n| `introspect` | Examine file contents/type/meta. | `--head \u003cn\u003e` (first n lines)\u003cbr\u003e`--tail \u003cn\u003e` (last n lines)\u003cbr\u003e`--count` (lines, words, bytes)\u003cbr\u003e`--line` (total lines only)\u003cbr\u003e`--size` (file size in bytes and human-readable)\u003cbr\u003e`--time` (timestamps: modified, created, accessed)\u003cbr\u003e`--type` (detect and display file type)\u003cbr\u003e`--find \u003cpattern\u003e` (search for string or pattern)\u003cbr\u003e`--fson` (FSON structured format output) |\n| `grammar` | Analyze/correct grammar/style via SOAP API. | `--check` (analyze grammar \u0026 style)\u003cbr\u003e`--correct` (apply grammar correction)\u003cbr\u003e`--sanitize` (clean unsafe language)\u003cbr\u003e`--suggest` (improvement suggestions)\u003cbr\u003e`--summarize` (concise summary)\u003cbr\u003e`--score` (readability/clarity/quality scores)\u003cbr\u003e`--tone` (detect tone)\u003cbr\u003e`--detect \u003ctype\u003e` (detect traits: `conspiracy`, `spam`, `ragebait`, `clickbait`, `bot`, `marketing`, `technobabble`, `hype`, `political`, `offensive`, `misinfo`, `brain_rot`, `formal`, `casual`, `sarcasm`, `neutral`, `aggressive`, `emotional`, `passive`, `snowflake`, `redundant`, `poor_cohesion`, `repeated_words`)\u003cbr\u003e`--reflow-width \u003cn\u003e` (reflow to width)\u003cbr\u003e`--capitalize \u003cmode\u003e` (sentence-case or title-case)\u003cbr\u003e`--format` (pretty-print with indentation)\u003cbr\u003e`--declutter` (repair whitespace \u0026 word boundaries)\u003cbr\u003e`--punctuate` (normalize punctuation) |\n| `cryptic` | Encode or decode text using various ciphers. | `-e`, `--encode` (encode text)\u003cbr\u003e`-d`, `--decode` (decode text)\u003cbr\u003e`-c`, `--cipher \u003ctype\u003e` (cipher: `caesar`, `vigenere`, `base64`, `base32`, `binary`, `morse`, `baconian`, `railfence`, `haxor`, `leet`, `rot13`, `atbash`) |\n| `split` | Split files into smaller segments. | `-l`, `--lines \u003cn\u003e` (split by line count)\u003cbr\u003e`-b`, `--bytes \u003cn\u003e` (split by byte size)\u003cbr\u003e`-n`, `--number \u003cn\u003e` (number of segments)\u003cbr\u003e`-p`, `--prefix \u003cname\u003e` (output prefix)\u003cbr\u003e`-s`, `--suffix \u003cn\u003e` (suffix digits)\u003cbr\u003e`--numeric-suffix` (use numeric suffix)\u003cbr\u003e`-d`, `--delimiter \u003cchar\u003e` (custom delimiter)\u003cbr\u003e`--dry-run` (preview split) |\n\n---\n\n### Global Flags (Available to All Commands)\n\n| **Flag** | **Description** |\n|-----------|-----------------|\n| `--help` | Show command help. |\n| `--version` | Display Shark Tool version. |\n| `-v, --verbose` | Enable detailed output. |\n| `-q, --quiet` | Suppress standard output. |\n| `--dry-run` | Simulate actions without changes. |\n| `--color` | Colorize output where applicable. |\n| `--time` | Display timestamps in output. |\n\n---\n\n### Usage Examples\n\n| **Example** | **Description** |\n|---|---|\n| `shark show -a -l -h --as=tree --time` | List all files (including hidden) in long, human-readable format as a tree, with timestamps. |\n| `shark merge -i -b src1/ src2/ dest/` | Interactively merge two source directories into destination with backups. |\n| `shark swap -f -b file1.txt file2.txt` | Exchange the locations of two files, forcing the operation and creating backups. |\n| `shark move -i -b old.txt archive/old.txt` | Move a file interactively, creating a backup before moving. |\n| `shark copy -r -p src/ backup/` | Recursively copy with preserved permissions and timestamps. |\n| `shark remove -r --trash temp/` | Recursively move directory to system trash. |\n| `shark rename -i draft.md final.md` | Rename a file with confirmation before overwriting. |\n| `shark create -p -t dir logs/archive/2024/` | Create nested directory structure. |\n| `shark search -r -c \"config\"` | Recursively search for string \"config\" inside files. |\n| `shark archive -c -f tar project.tar src/` | Create a TAR archive from the src/ directory. |\n| `shark compare -t main_v1.c main_v2.c --context 5` | Show line-by-line diff with 5 lines of context. |\n| `shark help --examples` | Display command help with usage examples. |\n| `shark sync -ru src/ dest/` | Recursively synchronize, copying only newer files. |\n| `shark watch -r -e create,delete src/` | Monitor src/ recursively for creation and deletion events. |\n| `shark rewrite -a --in-place log.txt \"New entry\"` | Append new entry to log file in-place. |\n| `shark introspect --head 20 --tail 5 --type data.csv` | Show first 20 and last 5 lines, detect file type. |\n| `shark grammar --check --tone --score notes.txt` | Run grammar check, detect tone, display readability scores. |\n| `shark cryptic -e -c caesar \"hello\"` | Encode text using Caesar cipher. |\n| `shark split -l 100 -p chunk_ large_file.txt` | Split file into chunks of 100 lines with \"chunk_\" prefix. |\n\n\n## Command Comparison (Shark vs Traditional Tools)\n\nShark Tool consolidates many common command-line utilities into a **single consistent interface**.  \nBelow is a comparison between **Shark commands** and their traditional equivalents.\n\n| **Shark Command** | **Traditional Commands** | **Purpose** |\n|---|---|---|\n| `shark show` | `ls`, `tree`, `stat` | Display files, directories, metadata, and structures with filtering, sorting, and multiple output formats. |\n| `shark merge` | `cp`, `rsync` (merge mode) | Combine multiple files or directories with conflict resolution strategies. |\n| `shark swap` | `mv` (with custom logic) | Exchange the locations of two files or directories atomically with backups. |\n| `shark move` | `mv` | Move or rename files/directories with atomic operations and filtering. |\n| `shark copy` | `cp` | Copy files or directories with verification, copy-on-write, and hardlinking. |\n| `shark remove` / `delete` | `rm`, `trash`, `shred` | Remove files with optional trash, secure multi-pass wipe, and filtering. |\n| `shark rename` | `mv`, `rename` | Rename files with safer overwrite controls and batch operations. |\n| `shark create` | `mkdir`, `touch` | Create directories or files with parent directory generation. |\n| `shark search` | `find`, `grep`, `locate` | Search files by name, path, or contents with case-insensitive matching. |\n| `shark archive` | `tar`, `zip`, `unzip`, `gzip` | Create, extract, or list archives with encryption and format support. |\n| `shark compare` | `diff`, `cmp` | Compare text or binary files with context and case-insensitive options. |\n| `shark help` | `man`, `--help` | Display command help and documentation with examples. |\n| `shark sync` | `rsync` | Synchronize directories with update checking and selective deletion. |\n| `shark watch` | `inotifywait`, `fswatch` | Monitor filesystem changes with event filtering and polling intervals. |\n| `shark rewrite` | `sed`, `truncate`, `touch` | Modify file contents or metadata including timestamps and size. |\n| `shark introspect` | `head`, `tail`, `wc`, `file`, `stat` | Inspect file contents, type, and metadata with structured output. |\n| `shark grammar` | *(no direct CLI equivalent)* | AI-assisted grammar, style, and tone analysis with multiple detection traits. |\n| `shark cryptic` | *(no direct CLI equivalent)* | Encode or decode text using classic and modern ciphers. |\n| `shark split` | `split` | Split files into segments by lines, bytes, or count with custom naming. |\n\n---\n\n## **Contributing**\n\nInterested in contributing? Please open pull requests or create issues on the [GitHub repository](https://github.com/fossillogic/shark).\n\n## **Feedback and Support**\n\nFor issues, questions, or feedback, open an issue on the [GitHub repository](https://github.com/fossillogic/shark/issues).\n\n## **License**\n\nThis project is licensed under the [Apache Public License](LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffossillogic%2Fshark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffossillogic%2Fshark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffossillogic%2Fshark/lists"}