Skip to content

yusupsupriyadi/copas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Copas - Code Snippet Manager

Copas Logo Platform License Electron

Copas (Copy Paste) - A lightweight, borderless desktop application for managing code snippets with syntax highlighting and dark mode support.

Perfect name for a tool designed to make copying and pasting code snippets effortless! πŸ“‹βœ¨

✨ Features

  • πŸͺŸ Borderless Design: Clean 500x350px window without OS frame
  • πŸŒ™ Dark Mode: Toggle between light and dark themes
  • πŸ”€ Syntax Highlighting: Support for 20+ programming languages
  • πŸ” Search Functionality: Real-time search through snippets
  • πŸ“‹ One-Click Copy: Click any snippet to copy to clipboard
  • ⚑ Auto-Start: Optional Windows startup integration
  • πŸ—‚οΈ System Tray: Minimize to tray with context menu
  • πŸ“œ Scrollable Cards: View complete code with vertical scroll
  • πŸ’Ύ Local Storage: All data stored locally (no cloud dependency)
  • 🎯 Context Menu: Right-click to edit or delete snippets

πŸ“₯ Download

For End Users

Download the latest release:

Supported Platforms

  • Windows 10/11 (x64)

πŸš€ Quick Start

  1. Download the portable EXE or install via MSI
  2. Run the application
  3. Click "+ ADD" to create your first snippet
  4. Select language for syntax highlighting
  5. Paste your code and save
  6. Click any snippet card to copy to clipboard

🎨 Screenshots

Light Mode

Clean and minimal interface for distraction-free snippet management

Dark Mode

Easy on the eyes with full syntax highlighting support

πŸ› οΈ Tech Stack

  • Electron: Cross-platform desktop framework
  • HTML5/CSS3: Modern web technologies
  • Vanilla JavaScript: No framework dependencies
  • Highlight.js: Syntax highlighting library
  • electron-builder: Application packaging

πŸ”§ Development

Prerequisites

  • Node.js 16+
  • npm 7+

Setup

# Clone the repository
git clone https://github.com/yourusername/copas.git
cd copas

# Install dependencies
npm install

# Start development mode
npm run dev

Available Scripts

# Development
npm run dev          # Start app with DevTools
npm start           # Start app in production mode

# Code Formatting
npm run format       # Format all files with Prettier
npm run format:check # Check if files are formatted correctly
npm run lint         # Check code formatting (alias for format:check)

# Building
npm run build       # Build for all platforms
npm run build:win   # Build for Windows only
npm run build:dir   # Build unpacked directory
npm run dist        # Build without publishing

πŸ“ Supported Languages

JavaScript, TypeScript, HTML, CSS, Python, Java, C++, C#, PHP, Go, Rust, JSON, XML, SQL, Bash, PowerShell, YAML, Markdown, and more.

⌨️ Keyboard Shortcuts

  • Escape - Close modal/dialog
  • Ctrl+F - Focus search input
  • Right-click - Context menu (Edit/Delete)

πŸ”§ Configuration

Auto-Start

Enable auto-start from the toggle in the header to launch Copas when Windows starts.

Data Storage

All snippets are stored locally in your browser's localStorage. No data is sent to external servers.

🀝 Contributing

Contributions are welcome! This project follows GitHub's standard contribution workflow with branch protection rules.

πŸ“‹ For detailed contribution guidelines, see CONTRIBUTING.md

πŸ”’ Branch Protection Rules

The master branch is protected with the following rules:

  • Pull Request Required: Direct pushes to master are not allowed
  • Review Required: All PRs need at least 1 approving review
  • Conversation Resolution: All PR conversations must be resolved
  • Stale Review Dismissal: Reviews are dismissed when new commits are pushed

πŸ“ Contribution Workflow

  1. Fork the Repository

    # Fork on GitHub, then clone your fork
    git clone https://github.com/YOUR_USERNAME/copas.git
    cd copas
  2. Set Up Development Environment

    # Install dependencies
    npm install
    
    # Start development mode
    npm run dev
  3. Create Feature Branch

    # Create and switch to feature branch
    git checkout -b feature/amazing-feature
    # or for bug fixes
    git checkout -b fix/bug-description
  4. Make Your Changes

    • Follow the existing code style and patterns
    • Code will be automatically formatted by Prettier on commit
    • Test your changes thoroughly
    • Ensure the app builds and runs correctly
  5. Commit Your Changes

    # Stage your changes
    git add .
    
    # Commit with descriptive message
    git commit -m "feat: add amazing new feature"
    # or for bug fixes
    git commit -m "fix: resolve issue with snippet saving"
  6. Push and Create Pull Request

    # Push to your fork
    git push origin feature/amazing-feature
    
    # Create PR on GitHub
    gh pr create --title "Add amazing new feature" --body "Description of changes"
  7. PR Review Process

    • Your PR will be reviewed by maintainers
    • Address any feedback or requested changes
    • Once approved, it will be merged to master

🎯 Contribution Guidelines

Code Style

  • Language: Use vanilla JavaScript (no frameworks)
  • Structure: Follow existing project organization in src/ folder
  • Consistency: Match existing code patterns and conventions
  • Performance: Maintain the lightweight philosophy
  • Compatibility: Ensure Windows compatibility (primary platform)

Commit Messages

Use conventional commit format:

  • feat: for new features
  • fix: for bug fixes
  • docs: for documentation
  • style: for formatting changes
  • refactor: for code restructuring
  • test: for adding tests

What to Contribute

  • πŸ› Bug fixes and improvements
  • ✨ New features from the roadmap
  • πŸ“š Documentation improvements
  • 🎨 UI/UX enhancements
  • ⚑ Performance optimizations
  • πŸ§ͺ Tests and code quality improvements

Before Contributing

  • Check existing issues and PRs to avoid duplicates
  • For major changes, create an issue first to discuss
  • Ensure your changes don't break existing functionality
  • Test with both light and dark modes

πŸ› Bug Reports

Found a bug? Please create an issue with:

  • OS version
  • App version
  • Steps to reproduce
  • Expected vs actual behavior

πŸ“‹ Roadmap

  • macOS support
  • Linux support
  • Export/Import functionality
  • Categories/Tags system
  • Global hotkey support
  • Multiple snippet collections

πŸ—οΈ Architecture

Copas uses a simple but effective architecture:

  • Main Process (main.js): Window management, tray, IPC
  • Renderer Process (index.html): UI and application logic
  • Preload Script (preload.js): Secure IPC bridge
  • Styles (styles.css): Complete styling with dark mode

πŸ“„ License

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

πŸ’ Acknowledgments

  • Highlight.js for syntax highlighting
  • Electron for the desktop framework
  • All contributors who help improve Copas

πŸ”— Links


Made with ❀️ for developers who love clean, simple tools

Back to top

About

πŸͺŸ Copas (Copy Paste) - Lightweight desktop code snippet manager with syntax highlighting, dark mode, and system tray integration for Windows

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors