{"id":47624026,"url":"https://github.com/sametsazak/mergen","last_synced_at":"2026-04-22T02:07:33.073Z","repository":{"id":154163968,"uuid":"630442937","full_name":"sametsazak/mergen","owner":"sametsazak","description":"Mergen is an open-source, native macOS application for auditing and checking the security of your MacOS.","archived":false,"fork":false,"pushed_at":"2026-03-21T12:23:16.000Z","size":30012,"stargazers_count":205,"open_issues_count":9,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-21T15:58:47.671Z","etag":null,"topics":["audit","macos","macos-security","mactool","osx","security-audit","security-automation","security-tools"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sametsazak.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":null,"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":"2023-04-20T11:47:50.000Z","updated_at":"2026-03-21T12:19:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"d0b2915a-c568-4ab7-b207-d5536d53b49e","html_url":"https://github.com/sametsazak/mergen","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/sametsazak/mergen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sametsazak%2Fmergen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sametsazak%2Fmergen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sametsazak%2Fmergen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sametsazak%2Fmergen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sametsazak","download_url":"https://codeload.github.com/sametsazak/mergen/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sametsazak%2Fmergen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","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":["audit","macos","macos-security","mactool","osx","security-audit","security-automation","security-tools"],"created_at":"2026-04-01T22:34:03.743Z","updated_at":"2026-04-01T22:34:04.269Z","avatar_url":"https://github.com/sametsazak.png","language":"Swift","readme":"## A note from the author\n\nI started Mergen as a side project to learn Swift and build something real out of it. It reached more people than I expected and got great feedback but after the initial release, it sat untouched for a long time.\n\nRecently I've been experimenting with vibe-coded scripts and tools, and I realized I could use Claude to bring Mergen back up to date. So here we are. The CLI is new, everything is synced with the latest macOS version, auto-fix is in, and a few other things got polished along the way.\n\nThat said, AI-assisted code is still code. It can have bugs, and it won't always be the cleanest solution. I've tested on a couple of different systems and things are holding up, but there may still be rough edges. All checks are based on the latest CIS Benchmark. You can fix issues with one click in the app or via the CLI.\n\nI'm keeping the releases updated. If you find a bug or something feels off, please open an issue on GitHub, it's genuinely appreciated.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n# 🛡️ Mergen v2\n\n**Native macOS security audit — CIS Apple macOS 26 Tahoe Benchmark v1.0.0**\n\n[![Platform](https://img.shields.io/badge/platform-macOS%2013%2B-lightgrey?style=flat-square)](https://github.com/sametsazak/mergen)\n[![Swift](https://img.shields.io/badge/swift-5.9-orange?style=flat-square)](https://swift.org)\n[![Go](https://img.shields.io/badge/go-1.21+-00ADD8?style=flat-square)](https://go.dev)\n[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE)\n[![Version](https://img.shields.io/badge/version-2.2-brightgreen?style=flat-square)](https://github.com/sametsazak/mergen/releases)\n[![CIS Benchmark](https://img.shields.io/badge/CIS-macOS%2026%20Tahoe%20v1.0.0-red?style=flat-square)](https://www.cisecurity.org)\n[![Homebrew](https://img.shields.io/badge/homebrew-install-FBB040?style=flat-square\u0026logo=homebrew\u0026logoColor=white)](https://github.com/sametsazak/homebrew-mergen)\n\nMergen audits your Mac against 85 CIS Benchmark controls and **fixes most failures automatically**.\nAvailable as a native **SwiftUI app** and a **Go CLI** — pick whichever fits your workflow.\n\n![Screenshot](img/main.png)\n![Screenshot](img/main2.png)\n![Screenshot](img/mergen-report.png)\n\n\u003c/div\u003e\n\n---\n\n## Table of Contents\n\n- [Overview](#overview)\n- [SwiftUI App](#swiftui-app)\n- [CLI (`mergen-cli`)](#cli-mergen-cli)\n- [Checks Reference](#checks-reference)\n- [How Auto-Fix Works](#how-auto-fix-works)\n- [macOS 26 Tahoe Compatibility](#macos-26-tahoe-compatibility)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Overview\n\nMergen audits macOS security configuration against the **CIS Apple macOS 26 Tahoe Benchmark v1.0.0**. It covers software updates, firewall, sharing services, privacy, authentication, encryption, and more.\n\nUnlike shell scripts that only report findings, Mergen can **remediate failures directly** — applying the correct system change and immediately re-verifying the result.\n\n\u003e All feedback, issues, and pull requests are welcome.\n\n---\n\n## SwiftUI App\n\nThe GUI option — point and click, no Terminal needed. Covers the same 85 checks as the CLI with a visual interface, Fix All sheet, and in-app audit log viewer.\n\n### Features\n\n**Scanning**\n- 85 automated checks across CIS sections 1–6\n- Live results — list populates as checks complete\n- 15-second per-check timeout so hung checks never stall the scan\n- Apple Intelligence / AI privacy checks (CIS 2.5.x, new in Tahoe)\n\n**Auto-Remediation**\n- Fix individual checks from the detail panel\n- **Fix All sheet** — see every fixable failure, apply them all at once\n- Two privilege tiers: user-level runs silently; admin uses one password prompt\n- After every fix the check re-runs to verify the result\n\n**Audit Logging**\n- Every scan and fix is logged to `~/Library/Logs/mergen/mergen-YYYY-MM-DD.log`\n- In-app log viewer: color-coded entries, filter by type, search, copy-all\n\n**Reporting**\n- HTML report: styled, standalone, shareable — dark purple gradient theme\n- JSON export: full metadata per check including CIS ID, status, severity, and remediation\n\n**Interface**\n- 2-pane layout: Results list → Detail panel\n- Filter pills: All / Failed / Passed / Warnings / Advisory\n- Sort by CIS ID, Severity, Name, or Status\n- Search across name, CIS ID, description, and finding text\n- Security score ring with percentage, GOOD / FAIR / AT RISK label, and pass/fail/warn counts\n\n### Installation\n\n**Via Homebrew (recommended):**\n```bash\nbrew install --cask sametsazak/mergen/mergen-app\n```\n\n**Or download the DMG** from the [latest release](https://github.com/sametsazak/mergen/releases/latest).\n\n**Build from source:**\n```bash\ngit clone https://github.com/sametsazak/mergen.git\n```\nOpen `mergen.xcodeproj` in Xcode and run. No third-party dependencies. No network calls.\n\n**Requirements:** macOS 13 Ventura or later · Tested on macOS 26 Tahoe\n\n### Usage\n\n1. Launch Mergen and press **Scan**\n2. Use the **Failed** filter pill and sort by Severity to prioritize\n3. Click any check to see description, finding, and remediation steps\n4. Press **Fix N** in the top bar to open the Fix All sheet\n5. Export results as **HTML** or **JSON**\n\n### Admin Privilege Notice\n\nSome fixes require elevated privileges. When an admin fix runs:\n- macOS shows the **standard system authentication dialog**\n- Your password is handled entirely by macOS via `do shell script ... with administrator privileges`\n- **Mergen never stores, logs, or transmits your password**\n- Every fix command is visible in [`FixCommands.swift`](mergen/core/FixCommands.swift)\n\nWhen using **Fix All**, all admin fixes are batched into a **single password prompt**.\n\n---\n\n## CLI (`mergen-cli`)\n\nA fully-featured Go CLI covering the same 85 CIS checks, built for power users, sysadmins, and CI pipelines.\n\n```\n  ███╗   ███╗███████╗██████╗  ██████╗ ███████╗███╗   ██╗\n  ████╗ ████║██╔════╝██╔══██╗██╔════╝ ██╔════╝████╗  ██║\n  ██╔████╔██║█████╗  ██████╔╝██║  ███╗█████╗  ██╔██╗ ██║\n  ██║╚██╔╝██║██╔══╝  ██╔══██╗██║   ██║██╔══╝  ██║╚██╗██║\n  ██║ ╚═╝ ██║███████╗██║  ██║╚██████╔╝███████╗██║ ╚████║\n  ╚═╝     ╚═╝╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚═╝  ╚═══╝\n  macOS Security Audit CLI  ·  CIS Apple macOS 26 Tahoe Benchmark v1.0.0\n```\n\n![Screenshot](img/mergen-cli.png)\n### Installation\n\n**Via Homebrew (recommended):**\n```bash\nbrew install sametsazak/mergen/mergen\n```\n\n**Build from source:**\n```bash\ngit clone https://github.com/sametsazak/mergen.git\ncd mergen/mergen-cli\ngo build -o mergen .\nsudo mv mergen /usr/local/bin/   # optional: install system-wide\n```\n\n**Requirements:** Go 1.21+, macOS 13+\n\n### Commands\n\n#### `mergen` — Interactive TUI\n\nRunning `mergen` with no arguments launches a keyboard-driven interactive menu:\n\n```\n  What would you like to do?\n\n ▶ ⚡  Scan All Checks          [a]  Run all 85 security checks concurrently\n   §   Scan by Section          [s]  Choose a specific CIS section to audit\n   ✗   Show Only Failures       [f]  Scan and display only failing checks\n   ⚙   Fix Issues               [x]  Auto-remediate all fixable failures\n   ☑   Dry Run Fix              [d]  Preview fixes without applying them\n   ≡   List All Checks          [l]  Browse every registered check\n   ⎘   Generate HTML Report     [h]  Run scan and export a styled HTML report\n   ⎘   Generate JSON Report     [j]  Run scan and export machine-readable JSON\n   ✕   Quit                     [q]  Exit mergen\n\n  ↑↓ / jk navigate  ·  enter select  ·  shortcut key  ·  q quit\n```\n\n#### `mergen scan` — Run Security Checks\n\n```bash\nmergen scan [flags]\n```\n\n**Flags:**\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--section` | `-s` | — | Run only checks in a CIS section (1–6) |\n| `--category` | `-c` | — | Filter by category (e.g. `CIS Benchmark`) |\n| `--failed` | `-f` | false | Show only failed checks |\n| `--quiet` | `-q` | false | Print summary only |\n| `--json` | — | false | Output results as JSON array |\n| `--workers` | `-w` | 8 | Number of parallel check workers |\n\n**Exit codes:** `0` = all checks pass · `1` = one or more failures\n\n#### `mergen fix` — Auto-Remediate Failures\n\n```bash\nmergen fix [flags]\n```\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--id` | — | — | Fix a single check by CIS ID (e.g. `2.2.1`) |\n| `--yes` | `-y` | false | Apply all fixes without confirmation |\n| `--dry-run` | — | false | Preview fixes without applying |\n\n#### `mergen list` — Browse All Checks\n\n```bash\nmergen list [--section 1-6]\n```\n\n#### `mergen report` — Export HTML or JSON\n\n```bash\nmergen report                             # HTML → ./mergen-report.html\nmergen report --format json               # JSON → ./mergen-report.json\nmergen report --format html -o ~/Desktop/audit.html\n```\n\n### Examples\n\n```bash\n# Full scan\nmergen scan\n\n# Show only failures\nmergen scan --failed\n\n# Machine-readable output\nmergen scan --json | jq '.[] | select(.status == \"fail\")'\n\n# Fix everything that can be fixed\nmergen fix --yes\n\n# Preview what would be fixed\nmergen fix --dry-run\n\n# Export HTML report\nmergen report --format html -o ~/Desktop/security-audit.html\n```\n\n### CI / CD Integration\n\n```yaml\n# GitHub Actions example\n- name: Run security audit\n  run: |\n    cd mergen-cli\n    go build -o mergen .\n    ./mergen scan --quiet --json \u003e audit.json\n  continue-on-error: true\n\n- name: Upload audit report\n  uses: actions/upload-artifact@v3\n  with:\n    name: security-audit\n    path: audit.json\n```\n\n```bash\n# Fail CI if any checks fail\nmergen scan --json | jq -e '[.[] | select(.status == \"fail\")] | length == 0' || exit 1\n```\n\n---\n\n## Checks Reference\n\n### §1 — Software Updates\n\n| CIS ID | Check | Severity | Auto-Fix |\n|--------|-------|----------|----------|\n| 1.1 | Apple software updated within 30 days | High | — |\n| 1.2 | Critical updates auto-install enabled | Medium | ✓ Admin |\n| 1.3 | Auto-update enabled | High | ✓ Admin |\n| 1.4 | App Store auto-updates enabled | Medium | ✓ Admin |\n| 1.5 | Security responses auto-install enabled | High | ✓ Admin |\n| 1.6 | Software update deferment policy | Low | — |\n\n### §2 — System Settings\n\n| CIS ID | Check | Severity | Auto-Fix |\n|--------|-------|----------|----------|\n| 2.1.1.1 | iCloud Keychain (advisory) | Low | — |\n| 2.1.1.3 | iCloud Drive Desktop/Documents sync disabled | Medium | — |\n| 2.2.1 | Firewall enabled | Critical | ✓ Admin |\n| 2.2.2 | Firewall stealth mode enabled | High | ✓ Admin |\n| 2.3.1.1 | AirDrop disabled | Medium | ✓ User |\n| 2.3.1.2 | AirPlay Receiver disabled | Low | ✓ User |\n| 2.3.2.1 | Time set automatically | Medium | ✓ Admin |\n| 2.3.2.2 | Time within appropriate limits | Low | — |\n| 2.3.3.1 | Screen sharing disabled | High | ✓ Admin |\n| 2.3.3.2 | File sharing disabled | High | ✓ Admin |\n| 2.3.3.3 | Printer sharing disabled | Low | ✓ Admin |\n| 2.3.3.4 | Remote login (SSH) disabled | Critical | ✓ Admin |\n| 2.3.3.5 | Remote management disabled | High | ✓ Admin |\n| 2.3.3.6 | Remote Apple Events disabled | Medium | ✓ Admin |\n| 2.3.3.7 | Internet sharing disabled | High | ✓ Admin |\n| 2.3.3.8 | Content caching disabled | Low | ✓ Admin |\n| 2.3.3.9 | Media sharing disabled | Low | ✓ Admin |\n| 2.3.3.10 | Bluetooth sharing disabled | Low | ✓ User |\n| 2.5.1.1 | External Intelligence Extensions disabled | Medium | — |\n| 2.5.1.2 | Apple Intelligence Writing Tools disabled | Medium | — |\n| 2.5.1.3 | Apple Intelligence Mail Summarization disabled | Low | — |\n| 2.5.1.4 | Apple Intelligence Notes Summarization disabled | Low | — |\n| 2.5.2.1 | Siri disabled | Low | ✓ User |\n| 2.6.1.1 | Location services enabled | Low | — |\n| 2.6.1.2 | Location services shown in menu bar | Low | — |\n| 2.6.3.1 | Diagnostic data sharing disabled | Low | ✓ Admin |\n| 2.6.3.2 | Improve Siri \u0026 Dictation disabled | Low | ✓ User |\n| 2.6.3.3 | Improve assistive voice features disabled | Low | ✓ User |\n| 2.6.3.4 | Share with app developers disabled | Low | — |\n| 2.6.4 | Personalized ads disabled | Low | ✓ User |\n| 2.6.5 | Gatekeeper enabled | High | ✓ Admin |\n| 2.6.7 | Lockdown Mode status (advisory) | Low | — |\n| 2.6.8 | Admin password required for System Settings | Medium | — |\n| 2.7.1 | Screen saver hot corners configured | Low | — |\n| 2.8.1 | Universal Control disabled | Low | ✓ User |\n| 2.9.1 | Spotlight search query sharing disabled | Low | ✓ User |\n| 2.10.1.2 | Sleep enabled (Apple Silicon) | Medium | ✓ Admin |\n| 2.10.2 | Power Nap disabled | Low | ✓ Admin |\n| 2.10.3 | Wake for network access disabled | Low | ✓ Admin |\n| 2.11.1 | Screen saver activates within 20 minutes | Medium | ✓ User |\n| 2.11.2 | Password required on wake | High | ✓ User |\n| 2.11.3 | Login window message configured | Low | — |\n| 2.11.4 | Login window shows name and password fields | Medium | ✓ Admin |\n| 2.11.5 | Password hints disabled | Medium | ✓ Admin |\n| 2.13.1 | Guest login disabled | High | ✓ Admin |\n| 2.13.2 | Guest access to shared folders disabled | High | ✓ Admin |\n| 2.13.3 | Automatic login disabled | Critical | ✓ Admin |\n\n### §3 — Logging \u0026 Auditing\n\n| CIS ID | Check | Severity | Auto-Fix |\n|--------|-------|----------|----------|\n| 3.1 | Security auditing enabled | Medium | — |\n| 3.3 | Audit flags configured | Medium | — |\n\n### §4 — Network\n\n| CIS ID | Check | Severity | Auto-Fix |\n|--------|-------|----------|----------|\n| 4.1 | Bonjour advertising disabled | Low | ✓ Admin |\n| 4.2 | Apache HTTP server disabled | High | ✓ Admin |\n| 4.3 | NFS server disabled | High | ✓ Admin |\n\n### §5 — Authentication \u0026 Authorization\n\n| CIS ID | Check | Severity | Auto-Fix |\n|--------|-------|----------|----------|\n| 5.1.1 | System Integrity Protection (SIP) enabled | Critical | — |\n| 5.1.3 | AMFI (Apple Mobile File Integrity) enabled | High | — |\n| 5.1.4 | Signed System Volume (SSV) enabled | High | — |\n| 5.2.1 | Password lockout threshold ≤ 5 attempts | High | ✓ Admin |\n| 5.2.2 | Minimum password length ≥ 15 characters | High | ✓ Admin |\n| 5.4 | Sudo timeout configured | Medium | ✓ Admin |\n| 5.5 | Sudo TTY tickets enabled | Medium | ✓ Admin |\n| 5.6 | Root account disabled | High | ✓ Admin |\n| 5.9 | Guest home folder does not exist | Low | — |\n| 5.10 | XProtect protection enabled | High | — |\n| 5.11 | Sudo logging enabled | Medium | ✓ Admin |\n| — | FileVault full-disk encryption enabled | Critical | — |\n| — | Certificate trust settings valid | High | — |\n\n### §6 — User Interface\n\n| CIS ID | Check | Severity | Auto-Fix |\n|--------|-------|----------|----------|\n| 6.1.1 | Filename extensions shown in Finder | Low | ✓ User |\n| 6.1.2 | Home folder permissions restrictive | Medium | — |\n| 6.3.1 | Safari auto-open safe files disabled | Medium | ✓ User |\n| 6.3.3 | Safari fraudulent website warning enabled | Medium | ✓ User |\n| 6.3.4 | Safari cross-site tracking prevention enabled | Medium | ✓ User |\n| 6.3.6 | Safari advertising privacy (Private Click Measurement) | Low | ✓ User |\n| 6.3.8 | Safari internet plugins disabled | Medium | ✓ User |\n| 6.3.10 | Safari status bar shown | Low | ✓ User |\n| 6.4.1 | Terminal secure keyboard entry enabled | Medium | ✓ User |\n\n### Additional Checks\n\n| Check | Severity | Auto-Fix |\n|-------|----------|----------|\n| Bluetooth status shown in menu bar | Low | — |\n| Fast user switching disabled | Medium | ✓ Admin |\n| Time Machine volumes encrypted | High | — |\n| EFI firmware version valid (Intel only) | High | — |\n| Java 6 runtime disabled | High | — |\n\n---\n\n## How Auto-Fix Works\n\nMergen applies fixes at two privilege levels:\n\n| Level | How it runs | Typical checks |\n|-------|-------------|----------------|\n| **User** | Runs as you, no password needed | Safari, screen saver, AirDrop, Siri, privacy settings |\n| **Admin** | Standard macOS auth dialog (AppleScript) | Firewall, sharing services, software update policy, login settings |\n\nAfter every fix attempt the original check re-runs. The result — Fixed or Still failing — reflects the actual check outcome, not just whether the command exited cleanly.\n\nIn both the app and CLI, all admin fixes within a single session are batched into **one password prompt**.\n\n---\n\n## macOS 26 Tahoe Compatibility\n\n| Change in Tahoe | How Mergen handles it |\n|-----------------|----------------------|\n| `com.apple.alf` plist removed | Firewall checks use `socketfilterfw --getglobalstate` |\n| `com.apple.auditd` removed | Section 3 checks report Yellow/Warn, not Red/Fail |\n| Screen saver keys moved to `-currentHost` domain | Checks try `-currentHost` first, fall back to user domain |\n| `spctl --status` writes to stderr | Both stdout and stderr captured |\n| New Apple Intelligence privacy controls | CIS 2.5.1.x checks use MDM profile queries |\n\n---\n\n## Contributing\n\nIssues, pull requests, and new checks are all welcome.\n\n**To add a check to the SwiftUI app:** subclass `Vulnerability` in `mergen/checkmodules/`, register it in `Scanner.swift`, and optionally add a fix command to `FixCommands.swift`.\n\n**To add a check to the CLI:** create a new file in `mergen-cli/internal/checks/`, implement an `init()` function that calls `Register(newCheck(...))`. The check auto-registers via Go's `init()` mechanism.\n\n**Fix command rule:** The fix must write to the exact same key/plist/API that the check reads. Otherwise the re-check will always report failure even if the command succeeded.\n\n---\n\n## License\n\nMIT License — Copyright (c) 2023–2026 Samet Sazak\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsametsazak%2Fmergen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsametsazak%2Fmergen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsametsazak%2Fmergen/lists"}