Skip to content

Latest commit

Β 

History

167 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WorkOps - Universal Link Management Application

A modern, feature-rich link management application for Windows

.NET 9 WPF SQLite License

Features β€’ Installation β€’ Quick Start β€’ Documentation


πŸš€ v1.0.0 β€” First Public Release (June 2026)

WorkOps's first open-source release brings together everything built during pre-1.0 development into one stable package, plus open-source readiness (MIT license, contributor docs, and automated CI builds). Highlights below.

πŸ€– Apps Management - Complete Workflow Automation System

Build Power Automate-style workflows with visual drag-and-drop designer:

Visual Designer & Canvas

  • 2000x1500 Designer Canvas: Drag-and-drop components to design workflows visually
  • Component Positioning: Save and restore exact positions of workflow components
  • Connection Lines: Visual data flow with variable mapping between steps
  • Right-Click Context: Configure components, delete steps, manage connections
  • Component Library Browser: Categorized palette with enable/disable controls

11 Workflow Components

  • Logic: VariableSet (store data), Condition (if/then branching), Wait (delays), InvokeApp (nested workflows)
  • DataSource: HttpRequest (REST APIs), Database (SQL queries), WebSearch (Bing search)
  • Action: DisplayModal (user prompts), Notification (toast messages), TextToSpeech (audio output)
  • Input: Form (user data collection with validation)

Advanced Features

  • Variable System: Pass data between components using {{variableName}} syntax
  • Conditional Branching: 10+ operators (equals, contains, regex, greaterthan, isempty, etc.)
  • Nested Execution: Apps can invoke other apps with input/output variable mapping
  • Circular Detection: Prevents infinite loops in nested app calls
  • JSON Configuration: Each component configured via structured JSON editor

Trigger System

  • Cron Scheduling: Time-based triggers with full cron expression support (e.g., 0 9 * * 1-5 = weekdays 9am)
  • Startup Triggers: Auto-run apps when WorkOps launches
  • Hotkey Triggers: Global keyboard shortcuts (e.g., Ctrl+Alt+A)
  • Manual Execution: Run apps on-demand from management window
  • Trigger Management: Enable/disable triggers without deleting workflows

Execution & History

  • Execution Engine: Full step-by-step workflow processing with error handling
  • History Tracking: Complete execution logs with timestamps, duration, status
  • Variable Inspection: View all variables at any execution point (JSON format)
  • Status Filtering: Filter history by Success, Failed, Running, Cancelled
  • Clear History: Remove old execution records
  • Error Details: Capture and display detailed error messages

UI Integration

  • 🧩 Apps Button: Main navigation integration for quick access
  • GoToApp Dropdown: Quick-launch menu showing all active apps
  • Management Window: Full CRUD operations (Create, Run, Design, Edit, Delete, Triggers)
  • Modern Glassmorphism: Transparent windows with acrylic effects

πŸ”” Notification System

Complete activity logging and notification management:

  • Bell Icon (πŸ””): Top navigation with real-time unread count badge
  • Notification History: Modern card-based window with glassmorphism effects
  • Smart Management: Mark individual/all as read, clear all notifications
  • Activity Types: Info, Success, Warning, Error with color coding
  • Real-time Updates: Badge updates automatically when notifications arrive
  • Persistent Storage: All notifications saved to database

🎨 UI/UX Enhancements

  • Self-Contained Executable: Single-file portable .exe (~180MB) with .NET 9 runtime included
  • Custom Application Icon: Multi-size ICO (16, 32, 48, 256px) embedded in executable
  • No Console Window: Pure GUI application with no terminal flashes
  • Save Button: Added to edit dialog for improved workflow
  • Smart Add Dialog: Preselects current item as parent when adding new links
  • Background Color Picker: Customize app background in Settings β†’ Interface
  • Inline Validation: Error messages displayed in dialogs without closing
  • ComboBox Fixes: All dropdowns now show white text clearly on dark backgrounds
  • Resizable Dialogs: Larger default size (650Γ—800) with resize capability
  • Browse Buttons: Quick file/folder/application selection (πŸ”§πŸ“πŸ“„)

πŸ”§ Technical Improvements

  • βœ… 6 new database tables for Apps Management (ComponentTypes, Apps, AppSteps, StepConnections, AppTriggers, AppExecutionLog)
  • βœ… Modal service abstraction (Core layer can show dialogs without WPF dependencies)
  • βœ… Enhanced dependency injection with scoped service resolution
  • βœ… Custom XAML value converters (Statusβ†’Color, Boolβ†’Status, Nullβ†’Visibility, Zeroβ†’Collapsed)
  • βœ… Application path parsing (supports command-line arguments like "git-bash.exe --cd-to-home")
  • βœ… Cron scheduler with System.Threading.Timer implementation
  • βœ… Global hotkey registration system
  • βœ… Circular dependency detection in nested app execution
  • βœ… INotificationService with full CRUD operations
  • βœ… PowerShell automation scripts for build, publish, and icon generation

πŸš€ Features

Apps Management - Workflow Automation πŸ€–

  • 🎨 Visual Designer - Drag-and-drop canvas (2000Γ—1500) to build automated workflows
  • 🧩 11 Components - Logic, DataSource, Action, Input categories with rich functionality
  • ⏰ Multi-Trigger System - Cron scheduling, startup execution, global hotkeys
  • πŸ”— Connection System - Visual data flow lines with variable mapping and conditional branching
  • πŸ”„ Nested Execution - Apps can invoke other apps with circular dependency protection
  • πŸ“Š Execution History - Complete logs with variable inspection and status tracking
  • πŸ“ JSON Configuration - Structured component settings with validation
  • πŸš€ Quick Launch - GoToApp dropdown in main navigation for instant access

Core Link Management

  • πŸ—‚οΈ Hierarchical Organization - Folders and subfolders with unlimited nesting
  • πŸ”— Universal Links - Web URLs, files, folders, applications, system locations
  • 🏷️ Tag System - Color-coded tags for powerful categorization and filtering
  • πŸ” Real-time Search - Instant filtering across names, URLs, descriptions, notes, and tags
  • πŸ“‹ Notes Support - Freeform text notes without requiring URLs
  • 🎯 Context Menus - Right-click actions: Open, Edit, Rename (inline), Cut, Copy, Paste, Add, Delete, Refresh
  • βœ‚οΈ Cut / Copy / Paste - Reorganize items and folders (deep-copies whole subtrees) without drag-and-drop
  • ✏️ Inline Rename - Rename items directly in the tree (F2-style editing; Enter to save, Esc to cancel)
  • πŸ“œ Per-item Rules - Conditionβ†’action automation per link (notify, webhook, email, etc.) via "Manage Rules"
  • πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Parent Selection - Any item can be a parent (folders, links, notes)

Advanced Features

  • πŸ”” Notification System - Activity log with bell icon, unread badges, and full history
  • πŸ“₯ Import/Export - Browser bookmarks (Chrome, Firefox, Edge), JSON, HTML, CSV formats
  • πŸ–ΌοΈ System Tray - Quick access to Hotnavs and Hotclicks menus
  • πŸš€ Startup Integration - Run silently on Windows startup (configurable)
  • 🎨 Modern UI - Glassmorphism effects, transparent windows, custom styling, acrylic backgrounds
  • 🎨 Customization - Background color picker, theme options
  • ⚑ Performance - Single-file executable, ~180MB with full .NET 9 runtime included
  • πŸ”§ Browse Buttons - Quick file/folder/application selection with Windows Explorer
  • πŸ’Ύ Auto-Save - Changes persist automatically to SQLite database
  • βœ… Inline Validation - Real-time error messages in dialogs without disrupting workflow

Workflow Components (11 Total)

Logic Components:

  • VariableSet - Store and manage workflow variables
  • Condition - If/then branching with 10+ comparison operators
  • Wait - Delays and pauses in workflow execution
  • InvokeApp - Call other workflows with variable passing

DataSource Components:

  • HttpRequest - REST API calls (GET, POST, PUT, DELETE)
  • Database - Execute SQL queries on databases
  • WebSearch - Bing search integration with result parsing

Action Components:

  • DisplayModal - Show user prompts and dialogs
  • Notification - Toast notifications with variable replacement
  • TextToSpeech - Audio output for accessibility

Input Components:

  • Form - Collect user input with field validation

Technical Highlights

  • .NET 9 with Windows-optimized WPF
  • Entity Framework Core 9 with SQLite database
  • MVVM Architecture with proper separation of concerns
  • Dependency Injection using Microsoft.Extensions.DependencyInjection
  • Custom Value Converters for advanced XAML data binding
  • Scoped Services with proper lifetime management
  • Async/Await patterns throughout for responsive UI
  • Cron Expression Support for flexible scheduling
  • Global Hotkey Registration for keyboard shortcuts
  • Modal Service Abstraction for cross-layer UI interactions

πŸ› οΈ Installation

Prerequisites

  • Windows 10/11 (x64)
  • .NET 9 Runtime (Download here) - Only if not using self-contained build

Option 1: Self-Contained Executable (Recommended)

  1. Download the latest release from Releases
  2. Extract the ZIP file to any location
  3. Run WinWork.UI.exe - no installation needed!
  4. The app creates its database automatically on first run

Note: Single-file portable executable with full .NET 9 runtime included (~180MB)

Option 2: Build from Source

# Clone the repository
git clone https://github.com/codelogn/WinWork.git
cd WinWork

# Restore dependencies
dotnet restore

# Build the application
dotnet build

# Run the application
dotnet run --project apps/desktop/WinWork.UI

# Or publish as self-contained executable
.\scripts\run_and_publish.ps1

⚑ Quick Start

First Launch

  1. Launch WinWork.UI.exe - The application creates a local SQLite database automatically
  2. Default Structure - Pre-created folders: "πŸ“ Bookmarks" and "πŸ“ Development Tools"
  3. Explore Features - Try the 🧩 Apps Management, πŸ”” Notifications, and link management

Creating Your First Workflow (Apps)

  1. Click "🧩 Apps" button in the top navigation
  2. Click "New App" and enter a name (e.g., "Morning Routine")
  3. Click "Design" to open the visual workflow designer
  4. Drag Components from the palette onto the canvas:
    • Add a Notification component (shows a message)
    • Add a Wait component (5 second delay)
    • Add another Notification component
  5. Configure Components - Right-click each component and select "Configure"
    • First Notification: {"Title": "Good Morning!", "Message": "Starting your day..."}
    • Wait: {"Seconds": 5}
    • Second Notification: {"Title": "Ready!", "Message": "Let's get to work!"}
  6. Save the workflow
  7. Run to test your automation!

Setting Up Triggers

  1. In Apps Management, select your app and click "Triggers"
  2. Add Trigger and choose type:
    • Cron: Enter 0 9 * * 1-5 (weekdays at 9am)
    • Startup: Runs when WorkOps launches
    • Hotkey: Set global shortcut like Ctrl+Alt+M
  3. Enable the trigger to activate

Adding Links

  1. Click "+" button or right-click in the tree view β†’ "Add New"
  2. Fill in details:
    • Name: Display name (e.g., "GitHub Dashboard")
    • Type: Auto-detected from URL (Web, Application, File, Folder)
    • URL/Path: The actual link destination
    • Parent Item: Choose where to organize it (can be any item type)
    • Description: Optional notes
    • Tags: Add color-coded tags for organization
  3. Browse Buttons: Use πŸ”§ browse for applications, πŸ“ for folders, πŸ“„ for files
  4. Save - Your link is ready!

Managing Tags

  1. Click "Manage Tags" button in toolbar
  2. Add Tag: Enter name and pick a color
  3. Assign Tags: In Add/Edit dialog, select from dropdown
  4. Filter: Click tags in main window to filter by tag

Using Links

  • Double-click any link to open it (web, file, folder, or application)
  • Edit: Click once to select, view/edit details in right panel
  • Search: Type in search bar to filter across all fields (name, URL, description, notes, tags)
  • Context Menu: Right-click for Open/Edit/Add/Delete options
  • Organize: Drag items to different folders or use edit dialog

Import Bookmarks

  1. File β†’ Import β†’ Browser Bookmarks
  2. Select your browser (Chrome, Firefox, Edge)
  3. Choose the bookmarks HTML file (usually in browser profile folder)
  4. All bookmarks import with folder structure preserved

Viewing Notifications

  1. Click πŸ”” Bell Icon in top navigation
  2. View all activity logs and notifications
  3. Mark as Read - Click individual notification or "Mark All Read"
  4. Clear History - Remove old notifications

πŸ“š Documentation

Document Description
User Manual Complete guide for end users
Development Guide Setup and development instructions
API Documentation Technical API reference
Project Status Current status and roadmap
How to Use Guide Step-by-step usage tutorials
Recent Improvements Latest updates and fixes
Apps Management Guide Workflow automation documentation

πŸ—οΈ Architecture

WinWork/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ desktop/             # πŸ–₯️ WPF desktop app (the WinWork.sln projects)
β”‚   β”‚   β”œβ”€β”€ WinWork.UI/      # 🎨 WPF Application & ViewModels (Views, ViewModels, Controls)
β”‚   β”‚   β”œβ”€β”€ WinWork.Core/    # βš™οΈ Business logic, Services, workflow Components, Interfaces
β”‚   β”‚   β”œβ”€β”€ WinWork.Data/    # πŸ’Ύ EF Core Repositories, Migrations, WinWorkDbContext
β”‚   β”‚   └── WinWork.Models/  # πŸ“‹ Domain models & entities (Link, App, Tag, …)
β”‚   └── web/                 # 🌐 Flask REST API + React frontend (remote mode)
β”œβ”€β”€ docs/                    # πŸ“– All documentation (+ docs/archive for history)
β”œβ”€β”€ scripts/                 # πŸ“œ Build/dev PowerShell & shell scripts (+ scripts/sql)
β”œβ”€β”€ tests/                   # πŸ§ͺ Unit tests (WinWork.Core.Tests)
β”œβ”€β”€ tools/                   # πŸ”§ C# database/migration utilities
β”œβ”€β”€ assets/                  # πŸ–ΌοΈ Brand assets (logo)
β”œβ”€β”€ samples/                 # πŸ“¦ Sample data (import examples)
└── WinWork.sln              # πŸ› οΈ Visual Studio Solution

Tech Stack:

  • Frontend: WPF with MVVM pattern, modern glassmorphism UI
  • Backend: .NET 9 with Entity Framework Core 9
  • Database: SQLite with automatic migrations
  • DI Container: Microsoft.Extensions.Hosting with dependency injection
  • Architecture: Clean separation (Presentation β†’ Business β†’ Data β†’ Models)

✨ Release History

v1.0.0 - June 2026 πŸŽ‰ First public release

The first open-source release of WorkOps. It consolidates all features built during pre-1.0 development and adds open-source readiness.

  • βœ… Universal link management β€” hierarchical tree, 14+ link types, tags, real-time + global search
  • βœ… Apps Management β€” visual workflow designer, 11 components, cron/startup/hotkey triggers, execution history
  • βœ… Terminal workspaces (link type 16) β€” local shells + SSH sessions in one in-app tabbed terminal (ConPTY); secrets in Windows Credential Manager
  • βœ… Web Service link type (type 15) with an HTTP request editor
  • βœ… Desktop widgets β€” desktop search, terminal-workspace launcher, and edge dock; restored on startup
  • βœ… Notification system β€” bell icon with unread badges and full history
  • βœ… Tree clipboard & rename β€” Cut/Copy/Paste items and folders (deep-copy of subtrees) plus inline Rename and Refresh
  • βœ… Per-item rules β€” "Manage Rules" conditionβ†’action automation per link
  • βœ… Open-source ready β€” MIT LICENSE, CONTRIBUTING.md, SECURITY.md, GitHub issue/PR templates, and CI that auto-publishes releases
  • βœ… 841 unit tests across components, services, evaluators, and repositories

Pre-release development milestones

The version numbers below were internal alpha/beta builds leading up to the first public v1.0.0 release; they were never published to GitHub.

v0.4.0-beta - June 2026 πŸ–₯️ Terminals, Desktop Widgets & Repo Restructure

  • Terminal workspaces, Web Service link type, desktop widgets
  • Settings reliability fixes; repository restructure into apps/desktop + apps/web

v0.3.0-beta - December 2025 πŸ€– Apps Management β€” Workflow Automation

  • Visual workflow designer (2000Γ—1500 canvas), 11 components
  • Cron/startup/hotkey triggers, execution history, nested app invocation
  • Connection editor with variable mapping; 6 new Apps database tables

v0.2.2-beta - December 2025 πŸ”” Notification System

  • Bell icon with unread badge, notification history window
  • Mark read / clear all, activity logging, database persistence

v0.2.1-alpha - October 2025 🎨 Branding & UX

  • Self-contained single-file executable (~180MB), custom multi-size icon
  • Save button, smart parent selection, background color picker, inline validation

v0.2.0-alpha - October 2025 πŸ”§ UI/UX & Technical Fixes

  • ComboBox visibility fixes, resizable dialogs, browse buttons
  • Application-argument support, toast notifications, real-time tree refresh

🀝 Contributing

We welcome contributions! Please read CONTRIBUTING.md for the full guide (prerequisites, build/test commands, and PR expectations).

Development Setup

# Clone and setup
git clone https://github.com/codelogn/WinWork.git
cd WinWork

# Setup development environment
dotnet restore
dotnet build WinWork.sln

# Run the test suite
dotnet test tests/WinWork.Core.Tests/WinWork.Core.Tests.csproj

Contributing Guidelines

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

See CONTRIBUTING.md and the Development Guide for details. To report a vulnerability, see SECURITY.md.


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ†˜ Support


🌟 Acknowledgments

  • Microsoft for .NET 9 and WPF
  • Entity Framework Team for the excellent ORM
  • SQLite for the lightweight database
  • Community for feedback and contributions

⭐ Star this repository if you find it helpful!

Made with ❀️ for the Windows community

About

WorkOps helps you organize everything you use during the day in one fast desktop workspace. Save links, files, folders, apps, notes, tasks, terminals, whiteboards, and spreadsheets, then launch and manage them from one place. Built for Windows 10/11, WorkOps is local-first and responsive, with powerful search and flexible organization that scales.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages