• Sign In



  • Categories

    Extension Details



    Readme

    ModusOp Dock

    The missing project manager for Nova.

    Adding a new project to Nova used to be painful β€” clone the repo in Terminal, add it to Sourcetree, then manually open it as a Nova project. Three apps, multiple steps, every single time.

    ModusOp Dock fixes this. Browse your GitHub repos right in Nova's sidebar, click to clone, and it's immediately open as a project. One step. One app.

    Features

    Multi-Repo Dashboard

    See all your local repositories in a single sidebar β€” across all Nova workspaces. Color-coded status icons show you what needs attention at a glance:

    • 🟒 Green β€” clean, up to date
    • 🟠 Orange β€” uncommitted changes
    • πŸ”΅ Blue β€” unpushed commits (needs push)
    • πŸ”΄ Red β€” behind remote (needs pull)
    • 🟣 Purple β€” diverged (ahead and behind)

    Plus text badges with exact counts: β–²3 commits to push, β–Ό1 to pull, ✱7 uncommitted files.

    One-Click Clone & Open

    Browse all repos from your GitHub account in the GitHub tab. See a repo you need? Double-click it β€” Dock clones it to your repos folder and opens it in Nova as a project. Done.

    No Terminal. No Sourcetree. No manual project setup.

    Custom Folders

    Organize repos into collapsible folders β€” Clients, Internal, Plugins, whatever makes sense. Right-click any repo to move it, or select multiple repos and move them together. Folders persist across restarts.

    Right-Click Actions

    Every repo has a full context menu:
    - Open in Nova β€” switch to any project instantly
    - Pull / Push β€” git operations without leaving Nova
    - Open in GitHub β€” jump to the repo in your browser
    - Move to Folder β€” organize into custom groups
    - Clone β€” for remote repos in the GitHub tab

    GitHub Integration

    Connects to your GitHub account (personal or organization) and shows all your repos β€” including private ones. The Local tab shows what's on your machine, the GitHub tab shows what's available to clone.

    A green βœ… indicator confirms your GitHub connection. Token stored securely in macOS Keychain β€” never in plaintext.

    Settings Backup

    Your Nova settings are precious β€” clips, keybindings, behaviors, preferences. Dock backs them all up to a private GitHub repo automatically.

    What gets backed up:
    - Clips, key bindings, behaviors, user configuration
    - Workspace layouts, server connections, color swatches
    - A manifest of all installed extensions (name, version, identifier)

    Sync manually with one click, or enable auto-sync on launch. Setting up a new Mac? Clone the backup repo, hit Restore, and your entire Nova environment is back.

    Note: Project-specific clips and settings live in each project's .nova/ directory, which is included in your git repo by default. Global settings are what Dock backs up.

    Secure by Default

    • GitHub token stored in macOS Keychain β€” never in plaintext, never in config files
    • Settings backup pushed to a private GitHub repo
    • No external servers, no analytics, no tracking

    Setup

    1. Set your GitHub username β€” Open extension preferences β†’ "GitHub Username"
    2. Set your repos root β€” Point "Local Repos Root" to where your repos live (e.g. ~/Sites)
    3. Add a GitHub token β€” Extensions menu β†’ ModusOp Dock β†’ Set GitHub Token. Create a token at github.com/settings/tokens with repo scope.

    That's it. Your repos appear in the sidebar, color-coded with git status.

    Privacy

    All authentication uses your own GitHub token stored in macOS Keychain. Settings backups go to your own private GitHub repo. No data is sent to ModusOp or any third party. Ever.

    Roadmap

    v1.x β€” Background polling, drag to reorder, notifications when repos fall behind.
    v2.x β€” Optional ModusOp integration (shipped): client/project names on repos, retainer status badges, inline Link/Unlink to a ModusOp project (no admin trip), and substring project search in the picker.

    Standalone: everything works without ModusOp. Better with it.

    Release Notes

    Changelog

    Roadmap

    Future

    • Drag to reorder repos β€” waiting on drag-and-drop support in Nova's TreeView API (not available today). Move Up / Move Down menu commands are the likely fallback if needed.

    2.2.10

    • Documentation: clearer, user-facing release notes and an up-to-date feature roadmap. No functional changes.

    ModusOp integration (2.0 – 2.2)

    Optional, opt-in integration that links your repos to ModusOp clients and projects. Everything below builds on the same feature β€” disabled by default, enabled in Preferences with an API token.

    2.2.x β€” Linking & display polish

    • 2.2.9 / 2.2.8 β€” The sidebar badge now shows the project name instead of the client, so several repos under one client are easy to tell apart. Client name moves to the tooltip. (2.2.9 fixes a 2.2.8 edit that didn't take effect.)
    • 2.2.8 β€” Project picker is now sorted alphabetically by client.
    • 2.2.4 β€” Project search looks deeper (up to 500 results), so a match buried past the first page still shows up.
    • 2.2.3 β€” Picker labels read "Client β€” Project" for easier scanning when many clients share project names.
    • 2.2.2 β€” The Configure prompt now requests read + write + delete scope (delete powers Unlink). If Unlink fails with a scope error, reconfigure with a fresh token.
    • 2.2.1 β€” A "πŸ” Search by name…" entry always sits at the top of the project picker, so partial matches like "aesth" find "CQ-Aesthetics".
    • 2.2.0 β€” Unlink a repo from its ModusOp project (right-click β†’ Unlink β†’ confirm). The Link command now only appears on unmapped repos, so you can't accidentally overwrite a correct mapping.
    • 2.2.5 / 2.2.6 / 2.2.7 β€” Smoother first load (fewer sidebar redraws while ModusOp data resolves) and documentation housekeeping.

    2.1.x β€” Inline linking

    • 2.1.0 β€” Inline project linking: right-click a repo β†’ "Link to ModusOp Project…" β†’ pick β†’ done, no trip to ModusOp admin. Requires a read + write token.
    • 2.1.1 β€” "Configure ModusOp…" now appears in the Extensions menu and command palette; the connected status row is clickable to swap tokens.
    • 2.1.2 β€” The project list shows immediately when linking β€” just type to filter.
    • 2.1.3 / 2.1.4 β€” Reliability and performance fixes for linking on large repo lists.

    2.0.x β€” Retainer badges & shortcuts

    • 2.0.0 β€” Retainer status badge per repo: βœ… ok / ⚠️ warning / πŸ”΄ over-budget next to the client name, with used/total hours and the billing period in the tooltip. New right-click shortcuts: "Open Client in ModusOp" and "Open Project in ModusOp".
    • 2.0.1 β€” Fix: corrected the default ModusOp URL to modusop.app.
    • 2.0.3 β€” The "Open Client/Project in ModusOp" shortcuts now only appear on linked repos.

    1.3.0

    • ModusOp: linked repos show the client name on the row, with the project name in the tooltip.

    1.2.0

    • ModusOp integration (opt-in): paste an API token via the new "Configure ModusOp" command. Disabled by default; enable in Preferences. A status row in the sidebar shows the connection state.

    1.1.2

    • First-run help: the GitHub and Settings Backup sections now show a clickable "Add GitHub account β†’" / "Set up backup account β†’" row when nothing is configured yet.

    1.1.1

    • Security hardening around cloning: clone URLs are validated, failure cleanup is scoped strictly to your repos folder, and GitHub API inputs are properly escaped.

    1.1.0

    • Multiple GitHub accounts β€” manage personal, work, and org accounts from one sidebar.
    • Background polling β€” auto-refresh git status every 5 / 10 / 15 / 30 minutes.
    • Behind notifications β€” opt-in alerts when a repo has new commits to pull.
    • Issue & PR counts per repo in the sidebar.
    • Sort options β€” alphabetical, or by status (needs-attention first).
    • Existing single-account setups migrate automatically on first launch.

    1.0.0

    • First stable release β€” all 0.x features consolidated.

    0.8.0

    • Settings backup auto-discovers everything in Nova's support directory, and generates a manifest of all installed extensions.

    0.7.0

    • Fixed settings backup to sync Nova's actual files (Clips.json, Behaviors.json, etc.).

    0.6.0

    • Custom folders β€” organise repos into collapsible groups (like Sourcetree). New Folder button, right-click β†’ Move to Folder with multi-select, rename/delete folders. Assignments persist across restarts.

    0.5.0

    • Color-coded status icons (clean / dirty / ahead / behind / diverged), GitHub token stored in macOS Keychain, and a connection status indicator in the sidebar.

    0.4.0

    • Settings backup to a private GitHub repo, right-click context menus (Open, Pull, Push, Open in GitHub, Clone), uncommitted-change counts, and detailed hover tooltips.

    0.3.0

    • Settings backup with Sync Now / Restore, a configurable backup repo name, and optional sync on launch.

    0.2.0

    • Right-click context menus, sidebar icons, and semver versioning.

    0.1.0

    • Initial release: browse GitHub repos (including private), scan local repos with git status badges, one-click clone & open, and search/filter.

    License

    MIT License

    Copyright (c) 2026 ModusOp

    Permission 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:

    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.

    THE 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.