npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

vg-coder-cli

v2.0.91

Published

🚀 CLI tool to analyze projects, concatenate source files, count tokens, and export HTML with syntax highlighting and copy functionality

Readme

VG Coder CLI

🚀 Powerful CLI tool & API Server để phân tích dự án, nối file mã nguồn, đếm token, xuất HTML và thực thi bash scripts qua REST API.

✨ Tính năng

📊 Code Analysis & Export

  • 🔍 Phát hiện loại dự án: Tự động nhận diện Angular, Spring Boot, React, Vue, Node.js, Python, Java, .NET
  • 📁 Xử lý .gitignore: Tuân thủ chuẩn Git với multi-level ignore rules
  • 🛡️ Hỗ trợ .vgignore: Có độ ưu tiên cao hơn .gitignore, với cú pháp giống hệt
  • 📜 Bỏ qua file mặc định: Tự động bỏ qua node_modules, dist, .git, build, target
  • 📄 Scan và nối file: Quét toàn bộ dự án và nối các file mã nguồn
  • 🧮 Đếm token: Sử dụng tiktoken để đếm token chính xác cho AI models
  • ✂️ Chia nhỏ nội dung: Chia nội dung thông minh thành chunks nhỏ hơn
  • 🌐 Xuất HTML: Tạo báo cáo HTML tương tác với syntax highlighting
  • 📋 Sao chép vào Clipboard: Chế độ -c sao chép toàn bộ code vào clipboard
  • 🤖 Tối ưu cho AI: Xuất file combined.txt với định dạng thân thiện cho AI

🚀 API Server (NEW!)

  • 🌐 REST API Server: Khởi động server với vg start
  • 🎨 Beautiful Dashboard: Tự động mở web UI để test API
  • 📡 5 API Endpoints:
    • GET /health - Health check
    • POST /api/analyze - Phân tích dự án, download project.txt
    • GET /api/info - Lấy thông tin dự án (JSON)
    • POST /api/execute - Thực thi bash scripts với validation
    • DELETE /api/clean - Xóa output directory
  • Real-time Status: Dashboard hiển thị server status live
  • 🔒 Syntax Validation: Validate bash syntax trước khi execute
  • 🧹 Auto Cleanup: Tự động dọn dẹp temp files

📦 Cài đặt

Từ NPM (Recommended)

# Global install
npm install -g vg-coder-cli

# Local install
npm install vg-coder-cli

🚀 Sử dụng

CLI Commands

1. Phân tích dự án

# Phân tích và xuất HTML
vg analyze
vg a                    # Alias rút gọn

# Với options
vg analyze /path/to/project --max-tokens 8192 --output ./my-output

# Copy vào clipboard (không tạo file)
vg analyze -c
vg analyze --clipboard

2. Xem thông tin dự án

vg info
vg info /path/to/project

3. Xóa output

vg clean
vg clean --output ./my-output

4. Khởi động API Server 🆕

# Start server (mặc định port 6868, bind 127.0.0.1)
vg start
vg s                    # Alias rút gọn

# Custom port
vg start -p 8080

# Bind LAN/Docker (cho phép truy cập từ host khác)
vg start --host 0.0.0.0

# Worker-only mode: ẩn bubble + dashboard panel trên tab AI Studio,
# chỉ chạy task automation (cho server headless điều phối từ xa)
vg start --worker

# Browser tự động mở dashboard tại http://localhost:6868

API Endpoints

Health Check

GET http://localhost:6868/health

Response:

{
  "status": "ok",
  "version": "2.0.50",
  "timestamp": "2026-05-09T10:07:13.000Z"
}

Analyze Project

POST http://localhost:6868/api/analyze
Content-Type: application/json

{
  "path": ".",
  "options": {
    "maxTokens": 8000
  }
}

Response: Downloads project.txt file

Get Project Info

GET http://localhost:6868/api/info?path=.

Response:

{
  "path": "/path/to/project",
  "primaryType": "nodejs",
  "stats": {
    "totalFiles": 42,
    "totalSize": 123456,
    "totalLines": 5000
  },
  "tokens": {
    "total": 15000,
    "averagePerFile": 357
  }
}

Execute Bash Script 🆕

POST http://localhost:6868/api/execute
Content-Type: application/json

{
  "bash": "mkdir -p $(dirname \"src/test.js\")\ncat <<'EOF' > src/test.js\nconsole.log('Hello');\nEOF"
}

Response:

{
  "success": true,
  "stdout": "",
  "stderr": "",
  "exitCode": 0,
  "executionTime": 15
}

Features:

  • ✅ Syntax validation trong .vg/temp-execute
  • ✅ Execute tại working directory
  • ✅ Auto cleanup temp files
  • ✅ Return stdout/stderr/exitCode

Clean Output

DELETE http://localhost:6868/api/clean
Content-Type: application/json

{
  "output": "./vg-output"
}

⚙️ Options

CLI Options

| Option | Mô tả | Default | |--------|-------|---------| | -o, --output <path> | Thư mục output | ./vg-output | | -m, --max-tokens <number> | Số token tối đa mỗi chunk | 8000 | | -t, --model <model> | Model AI để đếm token | gpt-4 | | --extensions <list> | Extensions (comma-separated) | Auto-detect | | --include-hidden | Bao gồm file ẩn | false | | --no-structure | Không giữ cấu trúc file | false | | --theme <theme> | Theme cho syntax highlighting | github | | -c, --clipboard | Copy vào clipboard | false | | --save-txt | Lưu vào vg-projects.txt | false |

Server Options

| Option | Mô tả | Default | |--------|-------|---------| | -p, --port <port> | Port cho server | 6868 | | --host <host> | Bind address. Set 0.0.0.0 cho LAN/Docker port-forward (env: VG_HOST) | 127.0.0.1 | | --worker | Worker-only mode: ẩn bubble + dashboard panel trên tab AI Studio, chỉ giữ task automation | false |

🎨 Dashboard UI

Khi chạy vg start, browser tự động mở dashboard với:

  • 🎯 Interactive Forms cho tất cả endpoints
  • 🎨 Beautiful Gradient UI (purple to violet)
  • 📊 Real-time Server Status (green/red indicator)
  • 💻 Syntax Highlighting cho responses
  • Loading States cho async operations
  • 📥 Auto Download cho analyze endpoint

🤖 Tích hợp AI

System Prompt cho AI

Xem file SYSTEM_PROMPT.md để biết cách tích hợp với AI.

Command Prefixes:

  • /ask - Q&A mode (Markdown response)
  • /plan - Planning mode (Checklist + bash)
  • /fix - Bug fix mode (Analysis + solution)
  • /code - Code generation (Bash script only)

Bash Script Format

Khi AI generate code với /code, format chuẩn:

mkdir -p $(dirname "path/to/file.ext")
cat <<'EOF' > path/to/file.ext
... file content ...
EOF

Quy tắc:

  • ✅ Luôn có mkdir -p $(dirname "...") trước mỗi file
  • ✅ Sử dụng <<'EOF' (có quotes) để tránh expansion
  • ✅ Chỉ include files có thay đổi
  • ✅ Ghi đè hoàn toàn file content

📁 Cấu trúc Output

vg-output/
├── index.html          # Trang chính với navigation
├── combined.html       # Tất cả code, có search
├── combined.txt        # Text format, tối ưu cho AI
├── chunks/             # Chunks riêng biệt
│   ├── chunk-1.html
│   └── ...
└── assets/             # CSS, JS

🎯 Dự án được hỗ trợ

  • Frontend: Angular, React, Vue.js, Svelte
  • Backend: Node.js, Spring Boot, Python, .NET
  • Mobile: React Native, Flutter
  • Languages: JavaScript, TypeScript, Java, Python, C#, Go, Rust
  • Config: JSON, YAML, XML, TOML

🛡️ Quy tắc bỏ qua file

Thứ tự ưu tiên:

  1. .vgignore - Cao nhất
  2. .gitignore - Trung bình
  3. Default rules - Thấp nhất (node_modules, .git, dist, build, target)

📝 Examples

Example 1: Analyze và Copy

# Analyze project và copy vào clipboard
vg a . -c

# Paste vào AI tool (Claude, ChatGPT, etc.)

Example 2: API Server Workflow

# 1. Start server
vg start

# 2. Browser mở dashboard tự động
# 3. Test endpoints trực tiếp trên UI
# 4. Hoặc dùng Postman/curl

# 5. Execute bash script từ AI
curl -X POST http://localhost:6868/api/execute \
  -H "Content-Type: application/json" \
  -d '{"bash": "mkdir -p src && echo \"test\" > src/file.js"}'

Example 3: AI Integration

# 1. Analyze project
vg a . -c

# 2. Paste vào AI với prompt:
# "/code Thêm authentication vào project này"

# 3. AI trả về bash script
# 4. Copy bash script

# 5. Execute qua API
curl -X POST http://localhost:6868/api/execute \
  -H "Content-Type: application/json" \
  -d '{"bash": "..."}'

🔧 Development

# Install dependencies (root + extension)
npm install
cd vetgo-auto && npm install && cd ..

# Run tests
npm test

# Run in dev mode
npm run dev

# Local full build (extension + dashboard bundle + global install)
npm run build

🚢 Release

CI tự publish lên npm khi package.json version đổi. Chỉ dùng 1 lệnh tuỳ loại bump:

npm run release:patch    # 2.0.48 → 2.0.49 (bug fix)
npm run release:minor    # 2.0.48 → 2.1.0  (feature mới)
npm run release:major    # 2.0.48 → 3.0.0  (breaking change)

Mỗi lệnh tự npm version <bump> (commit + tag) rồi git push --follow-tags origin main. GitHub Actions workflow .github/workflows/publish.yml chạy tự động:

  1. So sánh package.json version với npm view vg-coder-cli version. Bằng nhau → skip.
  2. npm ci root + vetgo-auto, build extension, copy vào src/server/views/vg-coder/, build dashboard bundle.
  3. npm publish --access public (cần secret repo NPM_TOKEN — granular access token với "bypass 2FA").
  4. Tag v<version> (skip nếu đã có) + tạo GitHub Release auto-generated notes.

Manual trigger: GitHub repo → ActionsPublish to npmRun workflow.

Update notifier

CLI dùng update-notifier v5.1.0 — sau lần chạy đầu, nếu có version mới trên npm sẽ in banner cuối tiến trình:

╭─────────────────────────────────────────╮
│   Update available 2.0.48 → 2.0.49      │
│   Run npm i -g vg-coder-cli to update    │
╰─────────────────────────────────────────╯

Cache check 6h ở ~/.config/configstore/update-notifier-vg-coder-cli.json. Tự bypass khi offline / non-interactive shell.

🤝 Đóng góp

  1. Fork repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Create Pull Request

📄 License

MIT License - xem file LICENSE để biết thêm chi tiết.

📊 Version History

v2.0.50 (Latest)

  • 🤖 Worker-only mode (vg start --worker): server prepend window.__VG_WORKER_ONLY__=true vào bundle, dashboard skip bubble + panels, chỉ chạy initTaskWorker() — tab AI Studio sạch không bị che bởi UI
  • ⏲️ Idle worker tab TTL (env VG_WORKER_IDLE_TTL_MS, default 120 000): không có task mới → launcher đóng tab → CPU container về 0%; task tới sẽ tự mở lại tab
  • 🐳 Configurable bind address: vg start --host 0.0.0.0 (hoặc env VG_HOST) cho LAN/Docker port-forward
  • 🧱 Dynamic CSP bypass via chrome.declarativeNetRequest.updateDynamicRules — fix lỗi parse static rules.json trên Chromium 120 (Linux/Docker)

v2.0.48

  • 🤖 Remote Task API: external service push task chat AI Studio + nhận callback (POST /api/tasks + webhook)
  • 🧠 Multi-worker pool: mỗi Chrome profile = 1 worker, parallel + auto-failover khi rate-limit
  • 🪟 Launcher SW per profile + tab management API (GET /api/launcher/tabs, POST /api/launcher/{open,close}-tab)
  • 🔑 Session recovery: POST /api/system/recover mở tab provider mới + dọn tab signin cũ sau khi login lại thủ công
  • 🔁 Auto-recycle tab sau mỗi task để lock model gemini-3-flash-preview (free + multimodal)
  • 🛡️ Auto-dismiss modal: "Start creating with media", "Link a paid API key", ToS update, preference vote
  • 📸 Native screenshot (chrome.tabs.captureVisibleTab) thay html2canvas — 5x nhanh hơn, sạch CORS
  • 🪵 Console + window.error ring buffer 200 + REST POST /api/worker/logs
  • 🚢 GitHub Actions auto-publish khi version bump + npm run release:{patch,minor,major}
  • 🔔 update-notifier banner cho end-user khi có version mới

Xem chi tiết: INTEGRATION.md

v1.0.10

  • ✨ Added API Server with REST endpoints
  • 🎨 Beautiful dashboard UI with auto-open browser
  • ⚡ Bash script execution with validation
  • 🔧 Shortened commands: vg, a, -c, s
  • 📝 System prompt documentation

v1.0.9

  • 🚀 Initial release
  • 📊 Code analysis and token counting
  • 🌐 HTML export with syntax highlighting
  • 📋 Clipboard integration

Repo extension: https://github.com/tinhthanh/vetgo-auto vg-coder.zip 📁 Directory Structure: vg-coder/ ├── assets │ ├── icon128.png (.png) │ ├── icon16.png (.png) │ └── icon48.png (.png) ├── background.js (.js) ├── background.js.LICENSE.txt (.txt) ├── controller.js (.js) ├── manifest.json (.json) ├── options.css (.css) ├── options.html (.html) ├── options.js (.js) └── rules.json (.json)

.