indiff/qttabbar
QTTabBar is a small tool that allows you to use tab multi label function in Windows Explorer. https://www.yuque.com/indiff/qttabbar
Single-maintainer risk — review before adopting
worst of 4 axescopyleft license (GPL-3.0) — review compatibility; top contributor handles 95% of recent commits…
Has a license, tests, and CI — clean foundation to fork and modify.
Documented and popular — useful reference codebase to read through.
No critical CVEs, sane security posture — runnable as-is.
- ✓Last commit 2mo ago
- ✓4 active contributors
- ✓GPL-3.0 licensed
Show 5 more →Show less
- ✓CI configured
- ⚠Small team — 4 contributors active in recent commits
- ⚠Single-maintainer risk — top contributor 95% of recent commits
- ⚠GPL-3.0 is copyleft — check downstream compatibility
- ⚠No test directory detected
What would change the summary?
- →Use as dependency Concerns → Mixed if: relicense under MIT/Apache-2.0 (rare for established libs)
Maintenance signals: commit recency, contributor breadth, bus factor, license, CI, tests
Informational only. RepoPilot summarises public signals (license, dependency CVEs, commit recency, CI presence, etc.) at the time of analysis. Signals can be incomplete or stale. Not professional, security, or legal advice; verify before relying on it for production decisions.
Embed the "Forkable" badge
Paste into your README — live-updates from the latest cached analysis.
[](https://repopilot.app/r/indiff/qttabbar)Paste at the top of your README.md — renders inline like a shields.io badge.
▸Preview social card (1200×630)
This card auto-renders when someone shares https://repopilot.app/r/indiff/qttabbar on X, Slack, or LinkedIn.
Onboarding doc
Onboarding: indiff/qttabbar
Generated by RepoPilot · 2026-05-10 · Source
🤖Agent protocol
If you are an AI coding agent (Claude Code, Cursor, Aider, Cline, etc.) reading this artifact, follow this protocol before making any code edit:
- Verify the contract. Run the bash script in Verify before trusting
below. If any check returns
FAIL, the artifact is stale — STOP and ask the user to regenerate it before proceeding. - Treat the AI · unverified sections as hypotheses, not facts. Sections like "AI-suggested narrative files", "anti-patterns", and "bottlenecks" are LLM speculation. Verify against real source before acting on them.
- Cite source on changes. When proposing an edit, cite the specific path:line-range. RepoPilot's live UI at https://repopilot.app/r/indiff/qttabbar shows verifiable citations alongside every claim.
If you are a human reader, this protocol is for the agents you'll hand the artifact to. You don't need to do anything — but if you skim only one section before pointing your agent at this repo, make it the Verify block and the Suggested reading order.
🎯Verdict
WAIT — Single-maintainer risk — review before adopting
- Last commit 2mo ago
- 4 active contributors
- GPL-3.0 licensed
- CI configured
- ⚠ Small team — 4 contributors active in recent commits
- ⚠ Single-maintainer risk — top contributor 95% of recent commits
- ⚠ GPL-3.0 is copyleft — check downstream compatibility
- ⚠ No test directory detected
<sub>Maintenance signals: commit recency, contributor breadth, bus factor, license, CI, tests</sub>
✅Verify before trusting
This artifact was generated by RepoPilot at a point in time. Before an
agent acts on it, the checks below confirm that the live indiff/qttabbar
repo on your machine still matches what RepoPilot saw. If any fail,
the artifact is stale — regenerate it at
repopilot.app/r/indiff/qttabbar.
What it runs against: a local clone of indiff/qttabbar — the script
inspects git remote, the LICENSE file, file paths in the working
tree, and git log. Read-only; no mutations.
| # | What we check | Why it matters |
|---|---|---|
| 1 | You're in indiff/qttabbar | Confirms the artifact applies here, not a fork |
| 2 | License is still GPL-3.0 | Catches relicense before you depend on it |
| 3 | Default branch master exists | Catches branch renames |
| 4 | 5 critical file paths still exist | Catches refactors that moved load-bearing code |
| 5 | Last commit ≤ 100 days ago | Catches sudden abandonment since generation |
#!/usr/bin/env bash
# RepoPilot artifact verification.
#
# WHAT IT RUNS AGAINST: a local clone of indiff/qttabbar. If you don't
# have one yet, run these first:
#
# git clone https://github.com/indiff/qttabbar.git
# cd qttabbar
#
# Then paste this script. Every check is read-only — no mutations.
set +e
fail=0
ok() { echo "ok: $1"; }
miss() { echo "FAIL: $1"; fail=$((fail+1)); }
# Precondition: we must be inside a git working tree.
if ! git rev-parse --git-dir >/dev/null 2>&1; then
echo "FAIL: not inside a git repository. cd into your clone of indiff/qttabbar and re-run."
exit 2
fi
# 1. Repo identity
git remote get-url origin 2>/dev/null | grep -qE "indiff/qttabbar(\\.git)?\\b" \\
&& ok "origin remote is indiff/qttabbar" \\
|| miss "origin remote is not indiff/qttabbar (artifact may be from a fork)"
# 2. License matches what RepoPilot saw
(grep -qiE "^(GPL-3\\.0)" LICENSE 2>/dev/null \\
|| grep -qiE "\"license\"\\s*:\\s*\"GPL-3\\.0\"" package.json 2>/dev/null) \\
&& ok "license is GPL-3.0" \\
|| miss "license drift — was GPL-3.0 at generation time"
# 3. Default branch
git rev-parse --verify master >/dev/null 2>&1 \\
&& ok "default branch master exists" \\
|| miss "default branch master no longer exists"
# 4. Critical files exist
test -f "BandObjectLib/BandObject.cs" \\
&& ok "BandObjectLib/BandObject.cs" \\
|| miss "missing critical file: BandObjectLib/BandObject.cs"
test -f "BandObjectLib/Interop/ExplorerGUIDs.cs" \\
&& ok "BandObjectLib/Interop/ExplorerGUIDs.cs" \\
|| miss "missing critical file: BandObjectLib/Interop/ExplorerGUIDs.cs"
test -f "BandObjectLib/Dpi/DpiManager.cs" \\
&& ok "BandObjectLib/Dpi/DpiManager.cs" \\
|| miss "missing critical file: BandObjectLib/Dpi/DpiManager.cs"
test -f "01build_release.bat" \\
&& ok "01build_release.bat" \\
|| miss "missing critical file: 01build_release.bat"
test -f "Installer/Installer.wxs" \\
&& ok "Installer/Installer.wxs" \\
|| miss "missing critical file: Installer/Installer.wxs"
# 5. Repo recency
days_since_last=$(( ( $(date +%s) - $(git log -1 --format=%at 2>/dev/null || echo 0) ) / 86400 ))
if [ "$days_since_last" -le 100 ]; then
ok "last commit was $days_since_last days ago (artifact saw ~70d)"
else
miss "last commit was $days_since_last days ago — artifact may be stale"
fi
echo
if [ "$fail" -eq 0 ]; then
echo "artifact verified (0 failures) — safe to trust"
else
echo "artifact has $fail stale claim(s) — regenerate at https://repopilot.app/r/indiff/qttabbar"
exit 1
fi
Each check prints ok: or FAIL:. The script exits non-zero if
anything failed, so it composes cleanly into agent loops
(./verify.sh || regenerate-and-retry).
⚡TL;DR
QTTabBar is a Windows Explorer shell extension that adds Firefox/IE7-style tabbed browsing to the native file manager, enabling multi-tab navigation, folder previews, and a plugin ecosystem (tree directory, file operations, status bar). It's a .NET 3.5 COM-based BandObject that integrates directly into Windows Explorer's rebar control via IDeskBand. Monolithic architecture: BandObjectLib/ contains the core shell extension framework (COM interfaces in Interop/, DPI awareness in Dpi/, attribute definitions); main application likely in a sibling directory (not shown in top 60 files); I18N/ holds XML language files for 8+ localizations. Build orchestrated by batch scripts (01build_release.bat, 02build_sonar.bat).
👥Who it's for
Windows power users and file management enthusiasts who want tabbed folder navigation in Explorer; domestic Chinese users (this is an optimized fork of the abandoned sf.net original, actively maintained since 2012). Contributors should understand COM interop, Windows shell extensions, and C# WinForms.
🌱Maturity & risk
Actively maintained but niche: ~5.5k GitHub stars, last release 1.5.6.1-beta in 2024, CI/CD pipeline in place (.github/workflows/QTTabBar.yml). However, it's beta-versioned and targets legacy .NET 3.5, suggesting stability concerns and limited modern platform support. Production-ready for Windows 7-10, but Windows 11 support is still being stabilized (see wiki references).
Single-maintainer risk (indiff) with no visible contributor guidelines beyond CONTRIBUTING.md. Depends on Windows COM APIs and old .NET Framework (3.5), creating compatibility risk as Windows evolves (Windows 11 dark mode adaptation was recent work). No automated test suite visible in file list (no Tests/ directory), and BandObjectLib COM interop is tightly coupled to Explorer internals.
Active areas of work
Recent work focused on Windows 11 compatibility (dark mode adaptation, DPI scaling fixes) and bug fixes (auto-select regression in 1.5.6.1-beta, text encoding in preview 1.5.5.9-beta). GitHub Actions workflows (ql.yml, QTTabBar.yml) suggest automated builds and quality scanning (SonarQube integration via 02build_sonar.bat).
🚀Get running
git clone https://github.com/indiff/qttabbar.git
cd qttabbar
batch 01build_release.bat
Requires Visual Studio (for .NET 3.5 C# projects, BandObjectLib.csproj), Windows SDK for COM/shell headers, and .NET Framework 3.5 installed.
Daily commands:
No traditional 'run' command—this is a shell extension DLL that registers as a COM object and loads into Explorer at startup. Build with 01build_release.bat, then install via the built installer (implied; actual installer not in top 60 files). Debug by registering the DLL (regsvr32) and restarting Explorer or using VS debugger attached to explorer.exe.
🗺️Map of the codebase
BandObjectLib/BandObject.cs— Core Windows Explorer integration point—implements IDeskBand interface that hooks QTTabBar into Explorer's rebar; all UI interaction flows through this classBandObjectLib/Interop/ExplorerGUIDs.cs— Defines GUIDs for Windows Explorer COM interfaces; critical for identifying and registering the band object in the systemBandObjectLib/Dpi/DpiManager.cs— Handles DPI scaling across all UI components; Windows 10/11 high-DPI support depends on this being correctly extended01build_release.bat— Primary build automation script for release builds; contributors must understand the build pipeline to properly version and package releasesInstaller/Installer.wxs— WiX installer definition that configures COM registration, file placement, and uninstall hooks; breaking changes here affect deploymentI18N/Lng_QTTabBar_en.xml— Master English localization file; template for all UI strings and the reference for translation consistency
🛠️How to make changes
Add Support for a New Language
- Copy the English master file and translate all string values (
I18N/Lng_QTTabBar_en.xml → I18N/Lng_QTTabBar_<lang_code>.xml) - Add a lang_<lang_code>.wxl file to both Installer and InstallerMini for installer UI (
Installer/lang.wxl (duplicate and translate)) - Register the new language code in the installer configuration (
Installer/Installer.wxs (add Culture element)) - Run resgen.bat to compile XML localization into binary resources (
I18N/resgen.bat)
Extend DPI Support for a New Control Type
- Create a new class inheriting from DpiAwareControl or DpiAwareForm (
BandObjectLib/Dpi/DpiAware<ControlType>.cs (new file)) - Implement OnDpiChanged() to scale fonts, spacing, and image resources (
BandObjectLib/Dpi/IDpiAwareObject.cs (reference interface)) - Register the new control with DpiManager in BandObject initialization (
BandObjectLib/BandObject.cs (add to DpiManager subscription))
Add a COM-Accessible Feature to BandObject
- Define the new COM interface in the Interop folder (
BandObjectLib/Interop/INewFeature.cs (new file with [ComVisible(true)])) - Implement the interface in BandObject and add a new GUID attribute (
BandObjectLib/BandObject.cs (add class inheritance and [Guid] attribute)) - Export the GUID constant to ExplorerGUIDs for registry lookups (
BandObjectLib/Interop/ExplorerGUIDs.cs (add public static readonly Guid)) - Add installer registry entries for COM registration (
Installer/Installer.wxs (add RegistryKey element under BandObject))
Update the Release Build Pipeline
- Modify version numbers in AssemblyInfo and installer configuration (
BandObjectLib/Properties/AssemblyInfo.cs + Installer/Installer.wxs (Product Version)) - Update build scripts with new signing keys or output paths (
01build_release.bat (modify MSBuild flags and signing commands)) - Configure the GitHub Actions workflow to upload to releases/SourceForge (
.github/workflows/QTTabBar.yml (modify release steps)) - Document changes in release notes (
Installer/release.md or CHANGES.txt)
🔧Why these technologies
- C# / .NET Framework 3.5+ — Enables managed COM interop with Windows Explorer while maintaining compatibility with older Windows systems (XP–11)
- Windows COM/Interop (IDeskBand, IDockingWindow) — Only standard API for deep Explorer integration as a toolbar band; no alternative exists short of shell extensions
- WiX Toolset (Windows Installer XML) — Declarative MSI generation with built-in COM registration and registry management; reduces custom installer logic
- DPI Manager abstraction — Abstracts Windows DPI change events and scaling math from UI controls; mandatory for modern multi-monitor and 4K support
- XML-based localization (I18N) — Simple, non-code translation model allowing community contributors to localize without rebuilding binaries
⚖️Trade-offs already made
-
Tight coupling to Windows Explorer via COM band object
- Why: Only way to integrate directly into Explorer's toolbar without shell hooks or DLL injection
- Consequence: Breaks immediately on Explorer major updates or COM API changes; requires regression testing per Windows version
-
Target .NET Framework 3.5 (2007 baseline) for maximum compatibility
- Why: Ensures installation on older systems and corporate machines stuck on legacy .NET
- Consequence: Cannot use modern C# features (async/await, LINQ expressions added post-3.5); code is more verbose
-
Store localization in XML; compile with resgen.bat at build time
- Why: Avoids runtime string parsing and keeps binaries self-contained
- Consequence: Translator workflow requires developer involvement to rebuild installer; CI/CD must run resgen
-
Dual installer (full + mini) with separate WiX projects
- Why: Accommodates users on systems without .NET Framework pre-installed vs. those who have it
- Consequence: Maintenance burden: two nearly-identical installer configs that must stay in sync
🚫Non-goals (don't propose these)
- Does not support Linux or mac
🪤Traps & gotchas
COM Registration: the DLL must be registered via regsvr32 or installer; no manual registration = no Explorer integration. Framework lock: .NET 3.5 is EOL; modern Windows may not have it installed by default—check BUILD.txt for install instructions. Explorer restart: changes require Explorer.exe restart or COM re-registration; changes don't auto-hot-reload. CLSID hardcoding: BandObject COM GUID is likely hardcoded in Interop/ExplorerGUIDs.cs; changing it breaks existing registrations. 32 vs 64-bit: shell extension must match Explorer bitness (not visible in file list but common trap). Batch script encoding: build scripts use .bat; ensure Windows line endings (CRLF) and run from Command Prompt with admin rights.
🏗️Architecture
💡Concepts to learn
- COM (Component Object Model) Interfaces & Aggregation — QTTabBar is a COM object (BandObject) implementing IDeskBand, IDockingWindow, IOleWindow to integrate into Explorer's object model; understanding QueryInterface, reference counting, and interface inheritance is essential to modifying core behavior.
- Rebar Control & Desk Band Architecture — Explorer embeds the extension as a 'band' (toolbar-like control) in its rebar; REBARBANDINFO.cs and IDeskBand.cs define the sizing, positioning, and lifecycle—critical for tab rendering.
- DPI Awareness & High-DPI Scaling — Modern Windows (10/11) scales UI based on monitor DPI; QTTabBar's DpiManager.cs and DpiAwareControl.cs handle this. Ignoring DPI leads to blurry UI on 125%, 150%, 200% displays.
- Windows Shell IInputObject & Message Routing — IInputObject.cs defines how the band receives keyboard/mouse input; Explorer routes messages through TranslateAccelerator and HasFocus—needed for tab switching hotkeys.
- P/Invoke & Interop Marshaling (C# ↔ C++) — BandObjectLib/Interop/ files contain [DllImport] declarations and struct definitions (MSG, POINT, REBARBANDINFO) to call Windows APIs; marshaling attributes ([MarshalAs]) are critical for correct memory layout.
- Plugin Architecture via .NET Reflection & Attributes — BandObjectLib/Attributes.cs likely defines custom attributes for plugin discovery; plugins (file ops, tree view) are loaded dynamically—understanding attribute-driven design is key to extending features.
- XML-based Localization & Resource Management — I18N/*.xml files drive runtime language switching without recompilation; understanding the XML schema and how strings are loaded at runtime is needed to add languages or multi-language support.
🔗Related repos
FancyZones/PowerToys— Microsoft's modern multi-window tiling tool for Windows 11; successor vision to tab-based organization in ExplorerOpen-Shell/Open-Shell-Menu— Companion shell extension adding Windows XP-style Start Menu to modern Windows; shares COM/shell extension architecture and Windows 11 compatibility pain pointsaardvark/aardvark— Alternative tabbed file manager for Windows; different approach (standalone app vs Explorer integration) solving same UX problemjaclu/qttabbar-wiki— QTTabBar documentation repository; source for the Yuque wiki and installation guides referenced in READMEindiff/DBCHM— Author's own repo mentioned in README; generates API documentation from source; used for QTTabBar's own doc generation
🪄PR ideas
To work on one of these in Claude Code or Cursor, paste:
Implement the "<title>" PR idea from CLAUDE.md, working through the checklist as the task list.
Add comprehensive unit tests for BandObjectLib DPI awareness classes
The BandObjectLib/Dpi directory contains critical DPI scaling functionality (DpiManager.cs, DpiAwareControl.cs, DpiAwareForm.cs, DpiAwareTextBox.cs, DpiAwareUserControl.cs) that handles Windows high-DPI scenarios. These classes have no visible test coverage in the repo, yet they're essential for proper UI rendering across different monitor DPI settings. Adding unit tests would prevent regressions and improve reliability for users with multi-monitor or high-DPI setups.
- [ ] Create BandObjectLib.Tests project in the repo root
- [ ] Add unit tests for BandObjectLib/Dpi/DpiManager.cs covering DPI detection and notification scenarios
- [ ] Add unit tests for BandObjectLib/Dpi/DpiAwareControl.cs testing DPI change event handling
- [ ] Add integration test verifying DpiChangedEventArgs propagation through the DPI-aware control hierarchy
- [ ] Update .github/workflows/QTTabBar.yml to run these tests in CI/CD pipeline
Create Windows Explorer interop integration tests
The BandObjectLib/Interop directory defines critical COM interfaces for Windows Explorer integration (IDeskBand.cs, IDockingWindow.cs, IOleWindow.cs, IObjectWithSite.cs). Currently there's no visible test coverage verifying these interfaces correctly marshal data to/from Explorer. Adding integration tests that mock Explorer's COM calls would catch breaking changes early and document expected behavior.
- [ ] Create BandObjectLib.Tests/Interop folder
- [ ] Add mock implementations for IInputObjectSite.cs and _IServiceProvider.cs interfaces
- [ ] Write integration tests for REBARBANDINFO.cs structure marshaling with real Explorer COM calls (using COM wrappers)
- [ ] Add tests for DESKBANDINFO.cs serialization/deserialization
- [ ] Document test setup in CONTRIBUTING.md for running against Windows Explorer COM interfaces
Add GitHub Actions workflow for building and testing on multiple Windows versions
The repo has .github/workflows/QTTabBar.yml and ql.yml but they appear minimal. QTTabBar is a Windows Explorer shell extension that must work across Windows 10, Windows 11, and potentially older versions. The current CI doesn't show matrix testing across Windows versions or .NET Framework versions (evidenced by Installer451.wixproj suggesting .NET 4.5.1 support). Adding a matrix build workflow would catch Windows version-specific compatibility issues early.
- [ ] Update .github/workflows/QTTabBar.yml to add matrix strategy for windows-2019 (Windows Server 2019/Win10), windows-2022 (Windows Server 2022/Win11), and windows-latest
- [ ] Add steps to test against multiple .NET Framework versions (4.5.1, 4.7.2, 4.8) referenced in Installer451.wixproj
- [ ] Add build step for both BandObjectLib.csproj and Installer.wixproj to catch platform-specific build failures
- [ ] Add status badge to README.md showing CI results across Windows versions
- [ ] Document Windows version support matrix in CONTRIBUTING.md
🌿Good first issues
- Add unit tests for BandObjectLib/Dpi/ DPI scaling logic: no Tests/ directory exists. Create test suite verifying DpiManager.cs handles 96, 120, 144, 192 DPI correctly.: Windows 11 support is recent work; DPI bugs are common in shell extensions and need regression protection.
- Document COM interface requirements in CONTRIBUTING.md: currently silent on how to extend IDeskBand or add new shell integration. Add example for custom keyboard shortcut handling via IInputObject.: COM is unfamiliar to most modern devs; contributors need a guide to avoid breaking the interface contract.
- Add missing language files: I18N/ has 8 languages but Windows supports 100+. Create a translation template (e.g., Lng_QTTabBar_ja.xml for Japanese) and set up i18n tooling (Crowdin integration or simple XML schema).: Domestic focus (Chinese) limits reach; low-hanging fruit for community localization contribution.
⭐Top contributors
Click to expand
Top contributors
- @indiff — 95 commits
- @tyj — 2 commits
- @AHOHNMYC — 2 commits
- @akaydev-coder — 1 commits
📝Recent commits
Click to expand
Recent commits
599ce3c— Update README_zh.md (indiff)3a7e1b2— Update README.md (indiff)28c649d— 更新 ql.yml (indiff)34774b3— 更新 ql.yml (indiff)7e95e28— 更新 ql.yml (indiff)ef63b77— 创建 ql.yml (indiff)306781f— Update README_zh.md (indiff)823b100— Update README.md (indiff)7ea51f6— Update README_zh.md (indiff)8e9aa06— Update README.md (indiff)
🔒Security observations
The QTTabBar codebase shows moderate security posture. Primary concerns include: (1) configuration files potentially containing sensitive data in version control, (2) C++ custom actions in the installer requiring careful validation, (3) interop code requiring secure marshaling practices, and (4) lack of visible security policy for vulnerability disclosure. The project uses modern CI/CD (GitHub Actions) and appears to be actively maintained. Recommendations focus on tightening build script security, validating configuration management, conducting thorough code review of native interop and installer code, and establishing a security disclosure process.
- Medium · Potential Hardcoded Configuration in Installer —
Installer/config.ini. The file 'Installer/config.ini' is present in the repository. Configuration files committed to version control may contain sensitive information such as API keys, credentials, or internal paths that should not be publicly accessible. Fix: Review the contents of config.ini to ensure no sensitive data is committed. Move sensitive configuration to environment variables or use a .gitignore entry to exclude it from version control. - Medium · Missing or Incomplete .gitignore —
.gitignore. While a .gitignore file exists, the file structure shows several configuration and build files that may contain sensitive information or build artifacts. The current .gitignore may not be sufficiently comprehensive. Fix: Ensure .gitignore properly excludes: *.user files, build output directories, any .env or local config files, and IDE-specific folders. Add entries for *.exe, *.dll, and other compiled binaries if appropriate. - Low · Build Scripts in Repository Root —
01build_release.bat, 02build_sonar.bat. Batch files '01build_release.bat' and '02build_sonar.bat' are present in the repository root. These scripts may contain hardcoded paths, credentials, or sensitive configuration that could be exposed. Fix: Review build scripts for hardcoded credentials, sensitive paths, or API keys. Consider moving build configuration to CI/CD pipeline (GitHub Actions is already in use). Use encrypted secrets for any sensitive build parameters. - Low · No Visible Input Validation in C# Interop Components —
BandObjectLib/Interop/. The BandObjectLib contains interop code interfacing with Windows Explorer. Without examining source code content, potential risks include inadequate validation of data passed between managed and unmanaged code, which could lead to buffer overflows or injection attacks. Fix: Conduct code review of interop marshaling operations. Ensure all P/Invoke declarations properly validate input sizes and types. Use safe marshaling practices and consider using SafeHandle for unmanaged resources. - Low · C++ Custom Action in Installer —
InstallerHelper/CustomAction.cpp. InstallerHelper contains C++ code ('InstallerHelper/CustomAction.cpp') that runs with elevated privileges during installation. Custom actions are a common attack vector if not properly secured. Fix: Review CustomAction.cpp for input validation, buffer overflows, and format string vulnerabilities. Ensure all operations are signed and validated. Minimize the scope of elevated privileges required. Consider code signing the installer. - Low · No Visible Security Policy or CONTRIBUTING Guidelines —
Repository root. While CONTRIBUTING.md exists, there is no visible security policy (SECURITY.md) for responsible disclosure of vulnerabilities in this security-sensitive tool (Windows Explorer integration). Fix: Create a SECURITY.md file with a responsible disclosure policy and contact information for reporting security vulnerabilities. This is especially important for a tool that integrates with Windows Explorer.
LLM-derived; treat as a starting point, not a security audit.
👉Where to read next
- Open issues — current backlog
- Recent PRs — what's actively shipping
- Source on GitHub
Generated by RepoPilot. Verdict based on maintenance signals — see the live page for receipts. Re-run on a new commit to refresh.