@vibe-coder/cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +141 -0
  2. package/bin/vibe +14 -0
  3. package/dist/cli.js +6470 -0
  4. package/package.json +37 -0
package/README.md ADDED
@@ -0,0 +1,141 @@
1
+
2
+ <div align="center">
3
+
4
+ # 🌊 Vibe Coding CLI
5
+
6
+ **专为 OpenCode 打造的 vibe coding 生态构建工具**
7
+
8
+ [![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](./package.json)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](../../LICENSE.md)
10
+ [![Built with Bun](https://img.shields.io/badge/Bun-%23000000.svg?logo=bun&logoColor=white)](https://bun.sh)
11
+
12
+ [English](#) · **简体中文**
13
+
14
+ </div>
15
+
16
+ ## 📖 简介 (Introduction)
17
+
18
+ `vibe-coding-cli` 是一个专为 **OpenCode** 平台打造的现代命令行脚手架工具。它的核心目标是简化和自动化 Agent 技能(Skills)与底层脚本工具(Tools)的管理。
19
+
20
+ 通过 `vibe` 命令,你可以一键拉取远程 GitHub 仓库中的 TypeScript 或 Python 工具脚本,自动将其注册到 OpenCode 配置中,并无缝管理其依赖环境(包括自动配置独立的 Python 虚拟环境)。
21
+
22
+ ## ✨ 核心特性 (Features)
23
+
24
+ - 🛠 **全自动化工具管理**: 支持从任意 GitHub 仓库快速解析、选择并下载 `.ts` / `.py` 工具至本地 `.opencode/tool/` 目录。
25
+ - 📦 **智能配置注入**: 自动维护状态锁文件 (`vibe-lock.json`) 并向 `.opencode/opencode.jsonc` 中无感注入工具注册信息,告别手动配置。
26
+ - 🐍 **自动 Python 环境集成**: 侦测到 Python 工具时,自动在项目根目录创建 `.venv` 虚拟环境,并安装必要的 `requests`、`dotenv` 等基础依赖。
27
+ - 🪄 **标准技能聚合**: 与 `pnpx skills` 生态深度集成,统一管理标准技能库和本地化扩展工具。
28
+ - ⚡ **极致性能**: 基于 [Bun](https://bun.sh/) 编写与构建,极速执行代码和处理文件 IO。
29
+
30
+ ---
31
+
32
+ ## 🚀 快速开始 (Quick Start)
33
+
34
+ ### 安装
35
+
36
+ 作为全局包安装(推荐使用 npm 或 bun):
37
+
38
+ ```bash
39
+ # 使用 npm
40
+ npm install -g vibe-coding-cli
41
+
42
+ # 使用 bun
43
+ bun add -g vibe-coding-cli
44
+
45
+ ```
46
+
47
+ *如果你在本地 monorepo 环境中开发,可以直接使用 `bun run dev` 或构建后执行 `./bin/vibe`。*
48
+
49
+ ### 基础用法
50
+
51
+ 初始化并添加一个技能库(例如本项目的 `helloggx/skill`):
52
+
53
+ ```bash
54
+ vibe add helloggx/skill
55
+
56
+ ```
57
+
58
+ *此命令将会弹出交互式菜单,让你选择想要安装的底层工具,并自动配置项目结构。*
59
+
60
+ ---
61
+
62
+ ## 📚 命令指南 (Commands)
63
+
64
+ ### 1. 添加工具与技能 (`add` / `a`)
65
+
66
+ ```bash
67
+ vibe add <repository>
68
+
69
+ ```
70
+
71
+ **功能流程**:
72
+
73
+ 1. 调用原生能力安装目标仓库中的 Agent 技能。
74
+ 2. 克隆并解析目标仓库中的 `tool` 文件夹。
75
+ 3. 提供交互式多选列表,让你选择需要的具体工具。
76
+ 4. 自动拷贝文件、更新 `opencode.jsonc` 并配置 Python 依赖环境(如果需要)。
77
+
78
+ ### 2. 查看已安装项 (`list` / `ls`)
79
+
80
+ ```bash
81
+ vibe list
82
+
83
+ ```
84
+
85
+ **功能**:
86
+ 清晰打印当前项目中安装的所有本地 Tools(来自 `vibe-lock.json`)以及已安装的标准 Skills,便于进行环境审查。
87
+
88
+ ### 3. 一键更新 (`update` / `up`)
89
+
90
+ ```bash
91
+ vibe update
92
+
93
+ ```
94
+
95
+ **功能**:
96
+ 自动执行标准 Skills 的升级,并根据锁文件记录的源仓库,拉取并覆盖最新的本地工具脚本,保持生态环境最新。
97
+
98
+ ---
99
+
100
+ ## 📂 目录与配置规范 (Workspace Structure)
101
+
102
+ 运行 `vibe add` 后,工具将在你的项目根目录下自动创建并维护以下结构:
103
+
104
+ ```text
105
+ your-project/
106
+ ├── .opencode/
107
+ │ ├── tool/ # 存放被拉取下来的底层 .ts / .py 工具脚本
108
+ │ │ ├── get_dsl.ts
109
+ │ │ └── ...
110
+ │ ├── opencode.jsonc # OpenCode 核心配置(vibe 会自动向 "tools" 字段注入注册信息)
111
+ │ └── vibe-lock.json # Vibe 状态锁文件,记录工具来源和版本时间戳
112
+ ├── .venv/ # (自动创建) Python 虚拟环境,为 .py 工具提供隔离环境
113
+ └── requirements.txt # (自动维护) 补充 Python 工具运行所需的核心依赖
114
+
115
+ ```
116
+
117
+ ---
118
+
119
+ ## 🛠️ 开发者指南 (Development)
120
+
121
+ 本项目使用 Bun 进行包管理和运行。
122
+
123
+ ```bash
124
+ # 1. 安装依赖
125
+ bun install
126
+
127
+ # 2. 本地开发运行 CLI
128
+ bun run dev --help
129
+
130
+ # 3. 类型检查
131
+ bun run typecheck
132
+
133
+ # 4. 构建生产版本 (输出至 ./dist)
134
+ bun run build
135
+
136
+ ```
137
+
138
+ ## 📄 许可证 (License)
139
+
140
+ 本项目采用 [MIT License](https://www.google.com/search?q=../../LICENSE.md) 进行开源。
141
+ © 2026 [HelloGGX](https://github.com/HelloGGX)
package/bin/vibe ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+
3
+ import module from "node:module"
4
+
5
+ // https://nodejs.org/api/module.html#module-compile-cache
6
+ if (module.enableCompileCache && !process.env.NODE_DISABLE_COMPILE_CACHE) {
7
+ try {
8
+ module.enableCompileCache()
9
+ } catch {
10
+ // Ignore errors
11
+ }
12
+ }
13
+
14
+ await import("../dist/cli.js")