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
Maintainers
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ế độ
-csao chép toàn bộ code vào clipboard - 🤖 Tối ưu cho AI: Xuất file
combined.txtvớ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 checkPOST /api/analyze- Phân tích dự án, download project.txtGET /api/info- Lấy thông tin dự án (JSON)POST /api/execute- Thực thi bash scripts với validationDELETE /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 --clipboard2. Xem thông tin dự án
vg info
vg info /path/to/project3. Xóa output
vg clean
vg clean --output ./my-output4. 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:6868API Endpoints
Health Check
GET http://localhost:6868/healthResponse:
{
"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 ...
EOFQuy 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:
.vgignore- Cao nhất.gitignore- Trung bình- 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:
- So sánh
package.jsonversion vớinpm view vg-coder-cli version. Bằng nhau → skip. npm ciroot +vetgo-auto, build extension, copy vàosrc/server/views/vg-coder/, build dashboard bundle.npm publish --access public(cần secret repoNPM_TOKEN— granular access token với "bypass 2FA").- Tag
v<version>(skip nếu đã có) + tạo GitHub Release auto-generated notes.
Manual trigger: GitHub repo → Actions → Publish to npm → Run 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
- Fork repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - 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 prependwindow.__VG_WORKER_ONLY__=truevào bundle, dashboard skip bubble + panels, chỉ chạyinitTaskWorker()— 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 envVG_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/recovermở 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)
.
