Skip to content

About

Keyboard-first dual-pane file manager for Windows 11

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

NeNe Commander

NeNe Commander is a keyboard-first, dual-pane file manager for Windows 11 built with C#, .NET 10, and WinUI 3. It treats local Windows paths, UNC shares, and WSL distributions as explicit filesystem boundaries rather than interchangeable strings, and it keeps the real safety and capability differences between them visible instead of guessing.

Where the project stands

The repository is in its implementation stage; production code is permitted. Most of the MVP scope named in the project charter is on main:

  • Dual-pane navigation with Vim-first keys, an address input, per-pane history, selection, hidden-item display, and sorting by name, extension, size, or modification time, with each pane's order saved for the next launch. See the keyboard model.
  • Copy, move, rename, new folder, and delete through one fail-closed file-operation gateway with provider-declared policies, observable progress, cancellation between steps, and Escape to abandon a loading read. Eligible Windows entries use guarded recycle-bin deletion; unsupported entries retain explicit permanent confirmation.
  • Session-owned transient surfaces: settings editor, command palette, bookmarks with fixed slots, window adjustment mode, and a Locations picker for drives and WSL distribution roots. The palette can open settings, Locations, Bookmarks and window adjustment through their existing commands.
  • Providers: Windows local paths (reads, mutations, transfers, launch), WSL distributions reached through \\wsl.localhost (reads, mutations and same- or cross-distribution transfers, Windows association launch for compatible names below 260 characters), UNC shares (directory reads and association launch for paths below 260 characters), and copy or move in both directions between a Windows local path and a WSL distribution.

Not yet on main: UNC mutations, network-drive-specific provider behavior, and the hand-run on-screen release confirmation defined by ADR-0054. The single current truth, including the verified baseline, deep-review scores, and the next focused work, is docs/PROJECT_STATE.md; numbers are deliberately not repeated here.

Repository layout

  • src/ holds the five projects in dependency order: Domain, Application, Infrastructure.Windows, Presentation.WinUI, and the App host. Direction and ownership are law in the architecture constitution and the project layout.
  • tests/ mirrors each project and adds Architecture.Tests; behavioral, adversarial, coverage, and mutation proof are required by the test strategy.
  • eng/ is the executable gate: check.ps1, conformance and security proof, coverage thresholds, deep review, the live WSL tier, and the UI evidence harness.
  • docs/ holds the normative documents, architecture decision records, waivers, design handoffs, daily reports, and session handoffs.

Start here

Verification

  • One-time clone setup: pwsh -NoProfile -File ./eng/bootstrap.ps1 verifies the pinned SDK and enables the repository-owned Git hooks.
  • Documentation/comment-only changes: review text/links/diff; no automatic CI or product tests. Local commit checks remain.
  • Ordinary implementation: affected build/behavior and boundary tests, plus local pwsh -NoProfile -File ./eng/check.ps1 -Mode Commit.
  • Substantial/shared changes: request gh workflow run quality.yml --ref <candidate-branch> when focused proof cannot establish the wider impact. It executes the full pwsh -NoProfile -File ./eng/check.ps1.
  • Necessary security integration/release: request gh workflow run security-deep-review.yml --ref <candidate-branch>. Deep review includes the full gate; do not also run quality for unchanged inputs. There is no periodic run. See ADR-0061.
  • Live WSL tier: pwsh -NoProfile -File ./eng/run-live-wsl-tests.ps1 with NENE_COMMANDER_WSL_TEST_ROOT pointing at an empty, dedicated directory inside a distribution; it is opt-in and owns all fixtures in that root and a separate Windows temporary root. Use an explicit -Case array of declared method names for affected cells only; the log and result must pass every selected cell. Omit -Case for the complete tier.
  • Windows UI release evidence: eng/ui-evidence/Invoke-UiEvidence.ps1, used for the hand-run confirmation of ADR-0054.
  • Live Windows recycle tier: pwsh -NoProfile -File ./eng/run-live-recycle-tests.ps1 -Root D:/NeNeCommander/outputs/<task>/tmp, using an existing dedicated non-link directory. It recycles and restores only owned fixtures through their exact callback receipts, checks the permanent-delete veto, and never enumerates or purges the user's recycle bin. An optional -Case array selects affected declared cells; omitted means all three.

Technical documentation, identifiers, and comments are written in English. Commits use English Conventional Commit keywords with Japanese descriptions. User-facing text is stored in resources so localization remains possible.

About

Keyboard-first dual-pane file manager for Windows 11

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages