Skip to content

A powerful, modern clipboard manager built with Flutter. Features automatic monitoring, smart content detection, code intelligence, analytics, and beautiful UI. Cross-platform support for Windows, macOS & Linux.

License

Notifications You must be signed in to change notification settings

kaiumallimon/copi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“‹ Copi - Advanced Clipboard Manager

Flutter Dart License Platform

A powerful, modern, and intelligent clipboard manager built with Flutter

Features β€’ Installation β€’ Usage β€’ Architecture β€’ Contributing


🌟 Features

Core Functionality

  • 🎯 Automatic Clipboard Monitoring - Seamlessly captures everything you copy
  • πŸ“ Smart Content Detection - Automatically identifies and categorizes text and code snippets
  • πŸ” Advanced Search & Filtering - Find any clipboard item instantly with powerful search
  • ⭐ Favorites System - Mark important items for quick access
  • πŸ—‘οΈ Soft Delete - Safely remove items with recovery options
  • πŸ“Š Real-time Analytics - Track your clipboard usage patterns

Code Intelligence

  • πŸ’» Language Detection - Automatically identifies programming languages in code snippets
  • 🎨 Syntax Awareness - Special handling for code content
  • πŸ“¦ Code Organization - Filter and manage code snippets separately

User Experience

  • πŸŒ“ Theme Support - Light, Dark, and System theme modes
  • 🎨 Customizable Accent Colors - Personalize your experience
  • πŸ”” Smart Notifications - Stay informed with configurable alerts
  • πŸ“± Responsive Design - Optimized for all screen sizes
  • ✨ Glassmorphism UI - Modern, beautiful interface with blur effects

Analytics & Insights

  • πŸ“ˆ Productivity Score - Measure your clipboard efficiency
  • ⏰ Peak Usage Hours - Discover when you're most active
  • πŸ“Š Content Distribution - Visualize your clipboard patterns
  • πŸ”„ Access Patterns - Track frequently used items
  • πŸ’Ύ Storage Metrics - Monitor database usage
  • πŸ” Duplicate Detection - Identify and manage duplicate entries

πŸš€ Installation

Prerequisites

  • Flutter SDK (3.10.4 or higher)
  • Dart SDK (3.0 or higher)
  • A supported platform: Windows, macOS, or Linux

Clone the Repository

git clone https://github.com/kaiumallimon/copi.git
cd copi

Install Dependencies

flutter pub get

Run the Application

# Development mode
flutter run

# Release mode
flutter run --release

Build for Production

Windows

flutter build windows

macOS

flutter build macos

Linux

flutter build linux

The built application will be available in the build/ directory.


πŸ“– Usage

First Launch

  1. Enable Monitoring - Grant clipboard access permissions when prompted
  2. Configure Settings - Customize theme, colors, and notification preferences
  3. Start Copying - Copi automatically captures everything you copy

Managing Clipboard Items

  • View All Items - Navigate to the Clipboards page to see your history
  • Search - Use the search bar to find specific content
  • Filter - Toggle between All Items, Text Only, Code Only, and Favorites
  • Mark as Favorite - Click the heart icon on any item
  • Copy Again - Click the copy button to reuse content
  • View Full Content - Click the eye icon for detailed view
  • Delete - Remove items with the delete button

Analytics Dashboard

  • Productivity Score - View your clipboard efficiency rating
  • Usage Patterns - Analyze when you copy items most
  • Content Types - See the distribution of text vs. code
  • Most Accessed - Find your frequently used items
  • Storage Info - Monitor database size and usage

Keyboard Shortcuts

(Coming soon)

  • Ctrl/Cmd + Shift + V - Open clipboard history
  • Ctrl/Cmd + F - Focus search
  • Ctrl/Cmd + , - Open settings

πŸ—οΈ Architecture

Project Structure

copi/
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ main.dart                      # Application entry point
β”‚   └── app/
β”‚       β”œβ”€β”€ configs/                   # App configuration
β”‚       β”‚   β”œβ”€β”€ _app_config.dart
β”‚       β”‚   └── _app_theme.dart       # Theme definitions
β”‚       β”œβ”€β”€ models/                    # Data models
β”‚       β”‚   └── _clipboard_model.dart
β”‚       β”œβ”€β”€ router/                    # Navigation
β”‚       β”‚   └── _app_router.dart
β”‚       β”œβ”€β”€ services/                  # Business logic
β”‚       β”‚   β”œβ”€β”€ _clipboard_hive_service.dart
β”‚       β”‚   β”œβ”€β”€ _clipboard_monitor_service.dart
β”‚       β”‚   β”œβ”€β”€ _analytics_service.dart
β”‚       β”‚   └── _settings_service.dart
β”‚       β”œβ”€β”€ utils/                     # Utilities
β”‚       β”‚   └── _code_detector.dart
β”‚       └── views/                     # UI layer
β”‚           β”œβ”€β”€ shared/
β”‚           β”‚   └── widgets/          # Reusable widgets
β”‚           β”‚       β”œβ”€β”€ blurred_header.dart
β”‚           β”‚       └── productivity_score_card.dart
β”‚           └── pages/
β”‚               β”œβ”€β”€ home/             # Dashboard
β”‚               β”‚   └── widgets/
β”‚               β”œβ”€β”€ clipboards/       # Clipboard management
β”‚               β”‚   β”œβ”€β”€ widgets/
β”‚               β”‚   └── utils/
β”‚               β”œβ”€β”€ analytics/        # Analytics dashboard
β”‚               β”œβ”€β”€ settings/         # Settings page
β”‚               β”‚   └── widgets/
β”‚               └── favorites/        # Favorites view
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ fonts/                        # Custom fonts
β”‚   └── images/                       # Images and icons
β”œβ”€β”€ android/                          # Android-specific
β”œβ”€β”€ ios/                              # iOS-specific
β”œβ”€β”€ linux/                            # Linux-specific
β”œβ”€β”€ macos/                            # macOS-specific
β”œβ”€β”€ windows/                          # Windows-specific
└── web/                              # Web-specific

Technology Stack

Frontend

  • Flutter - Cross-platform UI framework
  • Material Design 3 - Modern design system
  • Custom Animations - Smooth transitions and effects

Backend & Storage

  • Hive - Fast, lightweight NoSQL database
  • Shared Preferences - Settings persistence
  • Local Storage - Secure data management

State Management

  • StatefulWidget - Built-in Flutter state management
  • Provider Pattern - Service-based architecture

Key Packages

dependencies:
  flutter:
    sdk: flutter
  hive: ^2.2.3
  hive_flutter: ^1.1.0
  blur: ^4.0.2
  go_router: ^17.0.1
  font_awesome_flutter: ^10.12.0
  uuid: ^4.5.2
  clipboard_watcher: ^0.3.0
  path_provider: ^2.1.5

Design Patterns

  • Service Layer Pattern - Separation of business logic
  • Repository Pattern - Data access abstraction
  • Widget Composition - Modular, reusable components
  • Responsive Design - Adaptive layouts for all screens

🎨 Customization

Themes

Copi supports three theme modes:

  • Light Mode - Clean and bright
  • Dark Mode - Easy on the eyes
  • System - Follows your OS preference

Accent Colors

Choose from 10 beautiful accent colors:

  • Purple (Default)
  • Blue
  • Green
  • Orange
  • Pink
  • Cyan
  • Deep Orange
  • Deep Purple
  • Indigo
  • Amber

Settings

Configure to your preferences:

  • Enable/disable clipboard monitoring
  • Toggle notifications
  • Sound effects on/off
  • Auto-cleanup options (coming soon)

πŸ”’ Privacy & Security

  • Local Storage Only - All data stays on your device
  • No Cloud Sync - Your clipboard history never leaves your computer
  • No Analytics - We don't track your usage
  • Open Source - Fully transparent codebase
  • Soft Delete - Recover accidentally deleted items

πŸ›£οΈ Roadmap

Version 1.1 (Q1 2026)

  • Keyboard shortcuts
  • Import/Export functionality
  • Cloud sync (optional)
  • Multiple clipboard support
  • Rich text support

Version 1.2 (Q2 2026)

  • Image clipboard support
  • File clipboard support
  • Smart paste
  • Clipboard templates
  • Plugin system

Version 2.0 (Q3 2026)

  • Mobile support (Android/iOS)
  • Team collaboration features
  • Encrypted storage
  • Advanced search with regex
  • Custom themes

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

Ways to Contribute

  1. Report Bugs - Found a bug? Open an issue
  2. Suggest Features - Have an idea? We'd love to hear it
  3. Submit Pull Requests - Code contributions are welcome
  4. Improve Documentation - Help others understand the project
  5. Share Feedback - Tell us what you think

Development Setup

# Fork the repository
git clone https://github.com/kaiumallimon/copi.git
cd copi

# Create a feature branch
git checkout -b feature/amazing-feature

# Make your changes and commit
git commit -m "Add amazing feature"

# Push to your fork
git push origin feature/amazing-feature

# Open a Pull Request

Code Style

  • Follow Effective Dart guidelines
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Write tests for new features
  • Keep widgets small and focused

Commit Messages

Follow the Conventional Commits specification:

feat: Add keyboard shortcuts
fix: Resolve clipboard monitoring issue
docs: Update README with new features
style: Format code according to style guide
refactor: Restructure settings page
test: Add unit tests for analytics service

πŸ› Bug Reports

When reporting bugs, please include:

  • Description - Clear description of the issue
  • Steps to Reproduce - How to recreate the bug
  • Expected Behavior - What should happen
  • Actual Behavior - What actually happens
  • Screenshots - If applicable
  • Environment - OS, Flutter version, etc.

πŸ“ License

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

MIT License

Copyright (c) 2025 Copi Contributors

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.

πŸ™ Acknowledgments

Built With

Inspired By

  • Ditto - Windows clipboard manager
  • CopyQ - Cross-platform clipboard manager
  • Clipy - macOS clipboard manager

Contributors

Thanks to all contributors who help make Copi better!


πŸ“§ Contact & Support


⭐ Star History

Star History Chart


Made with ❀️

If you find this project useful, please consider giving it a ⭐!

⬆ Back to Top

About

A powerful, modern clipboard manager built with Flutter. Features automatic monitoring, smart content detection, code intelligence, analytics, and beautiful UI. Cross-platform support for Windows, macOS & Linux.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published