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! πβ¨
- πͺ 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 the latest release:
- π¦ Portable EXE - No installation required
- π§ MSI Installer - Full Windows installation with shortcuts
- Windows 10/11 (x64)
- Download the portable EXE or install via MSI
- Run the application
- Click "+ ADD" to create your first snippet
- Select language for syntax highlighting
- Paste your code and save
- Click any snippet card to copy to clipboard
Clean and minimal interface for distraction-free snippet management
Easy on the eyes with full syntax highlighting support
- Electron: Cross-platform desktop framework
- HTML5/CSS3: Modern web technologies
- Vanilla JavaScript: No framework dependencies
- Highlight.js: Syntax highlighting library
- electron-builder: Application packaging
- Node.js 16+
- npm 7+
# Clone the repository
git clone https://github.com/yourusername/copas.git
cd copas
# Install dependencies
npm install
# Start development mode
npm run dev# 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 publishingJavaScript, TypeScript, HTML, CSS, Python, Java, C++, C#, PHP, Go, Rust, JSON, XML, SQL, Bash, PowerShell, YAML, Markdown, and more.
Escape- Close modal/dialogCtrl+F- Focus search inputRight-click- Context menu (Edit/Delete)
Enable auto-start from the toggle in the header to launch Copas when Windows starts.
All snippets are stored locally in your browser's localStorage. No data is sent to external servers.
Contributions are welcome! This project follows GitHub's standard contribution workflow with branch protection rules.
π For detailed contribution guidelines, see CONTRIBUTING.md
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
-
Fork the Repository
# Fork on GitHub, then clone your fork git clone https://github.com/YOUR_USERNAME/copas.git cd copas
-
Set Up Development Environment
# Install dependencies npm install # Start development mode npm run dev
-
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
-
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
-
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"
-
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"
-
PR Review Process
- Your PR will be reviewed by maintainers
- Address any feedback or requested changes
- Once approved, it will be merged to master
- 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)
Use conventional commit format:
feat:for new featuresfix:for bug fixesdocs:for documentationstyle:for formatting changesrefactor:for code restructuringtest:for adding tests
- π Bug fixes and improvements
- β¨ New features from the roadmap
- π Documentation improvements
- π¨ UI/UX enhancements
- β‘ Performance optimizations
- π§ͺ Tests and code quality improvements
- 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
Found a bug? Please create an issue with:
- OS version
- App version
- Steps to reproduce
- Expected vs actual behavior
- macOS support
- Linux support
- Export/Import functionality
- Categories/Tags system
- Global hotkey support
- Multiple snippet collections
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
This project is licensed under the MIT License - see the LICENSE file for details.
- Highlight.js for syntax highlighting
- Electron for the desktop framework
- All contributors who help improve Copas
Made with β€οΈ for developers who love clean, simple tools