Skip to content

sivaratrisrinivas/contextclips

Repository files navigation

Context Clips

A beautifully designed, context-aware clipboard manager Chrome extension inspired by Apple's minimalist design philosophy. Intelligently organizes your copied content with elegant simplicity.

πŸ“Έ Preview

Context Clips Interface

Context Clips in action - showing the minimalist sidepanel with domain filtering, search, and captured clips from different websites.

✨ Features

Core Features

  • 🎯 Smart Capture: Automatically captures clipboard content with rich context (URL, page title, timestamp)
  • 🏷️ Domain Filtering: Filter clips by website with elegant pill buttons
  • πŸ” Instant Search: Find clips instantly across content, domains, and page titles
  • πŸ“‹ One-Click Copy: Click any clip to copy it back to your clipboard
  • πŸ”— Quick Access: Cmd/Ctrl + Click to open the source page
  • 🎨 Beautiful UI: Minimalist design with light/dark mode support
  • πŸ”’ Privacy First: All data stored locally in your browser - no cloud, no tracking

Design Philosophy

Inspired by Jony Ive's approach to design:

  • Extreme Simplicity: Clean, uncluttered interface that focuses on your content
  • Intuitive Interactions: No learning curve - actions feel natural and discoverable
  • Visual Feedback: Smooth animations and immediate feedback for every action
  • Content First: Your clips are the hero, the UI serves to enhance them

πŸš€ Installation

From Source

  1. Clone this repository:

    git clone <repository-url>
    cd contextclips
  2. Install dependencies:

    npm install
  3. Build the extension:

    npm run build
  4. Load in Chrome:

    • Open chrome://extensions/
    • Enable "Developer mode"
    • Click "Load unpacked"
    • Select the dist folder

πŸ’‘ Usage

Capturing Clips

Simply copy text from any webpage using Ctrl+C (Windows/Linux) or Cmd+C (Mac). The extension automatically captures:

  • The copied text content
  • Source domain
  • Page title
  • Full URL
  • Timestamp

Finding Clips

Search: Type in the search bar to instantly filter clips across all fields

Domain Filter: Click domain pills to view clips from specific websites

  • "All" shows everything
  • Individual domains let you focus on specific sources
  • Scroll horizontally to see all available domains

Using Clips

Copy to Clipboard: Click any clip to copy its content

  • Visual feedback with checkmark confirmation
  • Card animates to show the copy was successful

Open Source: Hold Cmd (Mac) or Ctrl (Windows/Linux) and click to open the original page

Delete: Hover over a clip to reveal the delete button

Accessing Clips

Click the extension icon in your toolbar to open the side panel with all your clips.

Searching & Filtering

Search Bar: Type to instantly filter clips by:

  • Content text
  • Website domain
  • Page title

Domain Filter: Click pills below the search bar to filter by specific websites

Combined: Use search + domain filter together for precise discovery

Clear Search: Click the βœ• button in the search field

πŸ› οΈ Development

Prerequisites

  • Node.js 16+ and npm
  • Chrome browser

Development Mode

Run the development server with hot reload:

npm run dev

Then load the extension in Chrome as described in the Installation section.

Build for Production

npm run build

Type Checking

npm run type-check

πŸ“ Project Structure

contextclips/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ background/
β”‚   β”‚   └── service-worker.ts      # Background service worker
β”‚   β”œβ”€β”€ content/
β”‚   β”‚   └── content-script.ts      # Content script for capture
β”‚   β”œβ”€β”€ sidepanel/
β”‚   β”‚   β”œβ”€β”€ components/            # React components
β”‚   β”‚   β”œβ”€β”€ App.tsx                # Main app component
β”‚   β”‚   β”œβ”€β”€ main.tsx               # Entry point
β”‚   β”‚   β”œβ”€β”€ index.html             # HTML template
β”‚   β”‚   └── index.css              # Styles
β”‚   └── types/
β”‚       └── index.ts               # TypeScript types
β”œβ”€β”€ public/
β”‚   └── icons/                     # Extension icons
β”œβ”€β”€ manifest.json                  # Extension manifest
β”œβ”€β”€ vite.config.ts                 # Vite configuration
β”œβ”€β”€ tailwind.config.js             # Tailwind CSS config
└── tsconfig.json                  # TypeScript config

πŸ—οΈ Architecture

  • Manifest V3: Modern Chrome extension architecture
  • React 18: UI framework with TypeScript
  • Vite: Fast build tool with HMR
  • Tailwind CSS: Utility-first CSS framework
  • Chrome Storage API: Local data persistence
  • TypeScript: Full type safety

πŸ”’ Privacy & Security

  • βœ… All data stored locally in your browser
  • βœ… No external API calls
  • βœ… No data collection or tracking
  • βœ… No analytics
  • βœ… Open source and auditable
  • βœ… No permissions beyond clipboard and storage

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“„ License

MIT License - see LICENSE file for details

πŸ› Known Issues

None at the moment. Please report issues on the GitHub repository.

πŸ—ΊοΈ Roadmap

  • Export/import clips
  • Custom keyboard shortcuts
  • Rich content support (images, links)
  • Categories and tags
  • Sync across devices (optional)
  • Dark/light theme toggle

πŸ’¬ Support

For bugs, questions, or feature requests, please open an issue on GitHub.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •