vibecopy
v1.0.3
Published
Copy your project to clipboard, formatted for AI chats. Respects .gitignore. Zero dependencies.
Downloads
16
Maintainers
Readme
vibecopy 📋
Copy your entire project to clipboard, formatted perfectly for AI chats.
Zero dependencies. Respects.gitignore. Skips binaries. One command.
npx vibecopyThe Problem
You are vibe-coding with Claude, ChatGPT, or Cursor. You need to paste your project context into the chat. So you:
- Open your file explorer
- Click through 15 files
- Copy each one individually
- Paste them one by one
- Forget to include
package.json - Accidentally paste
node_modules - The AI gets confused by missing context
vibecopy fixes this in one command.
Install
# Run directly (no install)
npx vibecopy
# Or install globally
npm install -g vibecopyUsage
vibecopy # Copy current directory
vibecopy src/ # Copy specific folder
vibecopy --lines # Add line numbers
vibecopy --stdout # Print instead of clipboard
vibecopy --max 20 # Limit to 20 files
vibecopy --no-git # Ignore .gitignore rules
vibecopy --help # Show all optionsWhat Gets Copied
✅ Included:
- All source code files
- Config files (
package.json,tsconfig.json, etc.) - Documentation (
README.md) - Respects your
.gitignoreautomatically
❌ Excluded:
node_modules,.git,dist,build- Lock files (
package-lock.json,yarn.lock) - Environment files (
.env,.env.local) - Binary files (images, videos, PDFs, fonts)
- Files over 500 KB
Output Format
Project: my-app
Files included: 12
Total size: 42.3 KB
Generated by vibecopy v1.0.0
════════════════════════════════════════════════════════════
File Tree:
├── package.json
├── README.md
├── src
│ ├── index.ts
│ └── utils.ts
└── tests
└── index.test.ts
════════════════════════════════════════════════════════════
// package.json
```json
{
"name": "my-app",
"version": "1.0.0"
}// src/index.ts
export const hello = (): string => {
return "world"
}// src/utils.ts
export const add = (a: number, b: number): number => a + b
Paste this directly into ChatGPT, Claude, Cursor, or any AI assistant.
The AI sees the full project structure + every file's content with correct syntax highlighting.
---
## Why This Gets Stars
| Feature | Why It Matters |
|---------|---------------|
| **Zero dependencies** | Installs in 0.5s. No `node_modules` bloat. |
| **Respects `.gitignore`** | Automatically excludes what you already ignore. |
| **Language detection** | Adds ` ```typescript `, ` ```python `, etc. for 50+ languages. |
| **Binary skip** | Never accidentally copies a 10MB PNG. |
| **Size limits** | Caps at 50 files / 500KB per file by default. |
| **Cross-platform clipboard** | Works on macOS, Linux, Windows. |
| **Single file** | The entire tool is one 250-line file. Auditable in 2 minutes. |
---
## Language Support
Detects and highlights **50+ languages** including:
JavaScript · TypeScript · Python · Rust · Go · Ruby · Java · Kotlin · Swift · C · C++ · C# · PHP · Scala · R · Bash · HTML · CSS · SCSS · JSON · YAML · TOML · SQL · Markdown · Vue · Svelte · Astro · Dart · Zig · Elixir · Haskell · Lua · Nim · Crystal · and more.
---
## How It Works
1. Reads `.gitignore` in your target directory
2. Walks the file tree recursively
3. Filters out ignored files, binary files, and known junk
4. Builds a clean file tree visualization
5. Reads each file with UTF-8 encoding
6. Wraps content in fenced code blocks with language tags
7. Copies everything to your system clipboard
8. Shows a summary in the terminal
---
## Tested On
- macOS 14+ (pbcopy)
- Ubuntu 22+ (xclip, xsel, wl-copy)
- Windows 11 (clip)
- Node.js 18, 20, 22
---
## Contributing
One file. One purpose. Keep it that way.
- PRs welcome for new language detections
- Bug fixes for edge-case `.gitignore` patterns
- No new dependencies. Ever.
---
## License
MIT © 2026 Vikas Budde
---
**Built for vibe coders. Paste smarter.**