agent-toolkit-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.
package/README.md ADDED
@@ -0,0 +1,16 @@
1
+ # agent-toolbox-skill
2
+
3
+ 当前仓库用于维护 `agent-toolbox-skill`,其中网站部署是第一大功能。
4
+
5
+ ## 目录结构
6
+
7
+ - `deploy-cli/`:与 deploy CLI 相关的实现与文档(已聚类)
8
+ - `SKILL.md`:toolbox 顶层技能说明(含后续数据库与对象存储规划)
9
+ - `.cursor/skills/demo-deploy-skill/`:Cursor 本地技能配置
10
+
11
+ ## Deploy CLI 快速入口
12
+
13
+ 详见:
14
+
15
+ - `deploy-cli/README.md`
16
+ - `deploy-cli/SKILL.md`
@@ -0,0 +1,232 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # ─── CLI 标识 ───
5
+ CLI_NAME="agent-toolkit-cli"
6
+
7
+ # ─── 内置凭证(Demo 用) ───
8
+ _BUILTIN_VERCEL_TOKEN="vcp_70vd1XjTvMW5V7SHsQlA1qnbtE00VK5R3o8DzVsPNlbK1mRFwn4b4BjY"
9
+ _BUILTIN_SUPABASE_URL="https://omcqqkquiwkfgrrgkhjl.supabase.co"
10
+ _BUILTIN_SUPABASE_ANON_KEY="sb_publishable_mJ-v0UilpWYxWsdWqfUgfg_G_wcUhoc"
11
+ _BUILTIN_SUPABASE_SERVICE_ROLE_KEY="sb_secret_DNsdDJpeDL8I0oK-yHwtCg_V-j2FUaP"
12
+
13
+ # ─── 颜色 ───
14
+ RED='\033[0;31m'
15
+ GREEN='\033[0;32m'
16
+ YELLOW='\033[1;33m'
17
+ CYAN='\033[0;36m'
18
+ BOLD='\033[1m'
19
+ RESET='\033[0m'
20
+
21
+ print_info() { echo -e "${CYAN}▸${RESET} $*"; }
22
+ print_success() { echo -e "${GREEN}✔${RESET} $*"; }
23
+ print_warn() { echo -e "${YELLOW}⚠${RESET} $*"; }
24
+ print_error() { echo -e "${RED}✘${RESET} $*" >&2; }
25
+
26
+ # ─── 加载 .env ───
27
+ load_env() {
28
+ local env_file="${1:-.env}"
29
+ if [[ -f "$env_file" ]]; then
30
+ while IFS='=' read -r key value || [[ -n "$key" ]]; do
31
+ [[ -z "$key" || "$key" =~ ^# ]] && continue
32
+ value="${value%\"}"
33
+ value="${value#\"}"
34
+ export "$key=$value"
35
+ done < "$env_file"
36
+ fi
37
+ }
38
+
39
+ # ─── 确保 Vercel CLI 已安装 ───
40
+ ensure_vercel() {
41
+ if ! command -v vercel &>/dev/null; then
42
+ print_info "正在安装 Vercel CLI..."
43
+ npm install -g vercel --silent
44
+ print_success "Vercel CLI 安装完成"
45
+ fi
46
+ }
47
+
48
+ mask_secret() {
49
+ local value="${1:-}"
50
+ local prefix_len="${2:-8}"
51
+ local suffix_len="${3:-4}"
52
+ if [[ -z "$value" ]]; then
53
+ echo "(未设置)"
54
+ return
55
+ fi
56
+ local value_len="${#value}"
57
+ if (( value_len <= prefix_len + suffix_len )); then
58
+ echo "****"
59
+ return
60
+ fi
61
+ echo "${value:0:prefix_len}...${value: -suffix_len}"
62
+ }
63
+
64
+ load_builtin_credentials() {
65
+ # 兼容历史拼写:SUPABSE_ANON_KEY(缺少 A)
66
+ if [[ -z "${SUPABASE_ANON_KEY:-}" && -n "${SUPABSE_ANON_KEY:-}" ]]; then
67
+ SUPABASE_ANON_KEY="${SUPABSE_ANON_KEY}"
68
+ fi
69
+
70
+ [[ -z "${VERCEL_TOKEN:-}" ]] && VERCEL_TOKEN="${_BUILTIN_VERCEL_TOKEN}"
71
+ [[ -z "${SUPABASE_URL:-}" ]] && SUPABASE_URL="${_BUILTIN_SUPABASE_URL}"
72
+ [[ -z "${SUPABASE_ANON_KEY:-}" ]] && SUPABASE_ANON_KEY="${_BUILTIN_SUPABASE_ANON_KEY}"
73
+ [[ -z "${SUPABASE_SERVICE_ROLE_KEY:-}" ]] && SUPABASE_SERVICE_ROLE_KEY="${_BUILTIN_SUPABASE_SERVICE_ROLE_KEY}"
74
+ }
75
+
76
+ # ─── 版本 ───
77
+ VERSION="1.0.0"
78
+
79
+ show_version() {
80
+ echo "Agent Toolkit CLI v${VERSION}"
81
+ }
82
+
83
+ # ─── 帮助信息 ───
84
+ show_help() {
85
+ cat <<EOF
86
+ ${BOLD}Agent Toolkit CLI${RESET} v${VERSION}
87
+ 一键部署你的项目
88
+
89
+ ${BOLD}用法:${RESET}
90
+ ${CLI_NAME} deploy [目录] [选项] 部署项目
91
+ ${CLI_NAME} env 查看当前部署环境配置
92
+ ${CLI_NAME} help 显示帮助信息
93
+ ${CLI_NAME} version 显示版本
94
+
95
+ ${BOLD}部署选项:${RESET}
96
+ --prod 部署到生产环境
97
+ --force 强制重新部署
98
+ --yes 跳过确认提示
99
+
100
+ ${BOLD}示例:${RESET}
101
+ ${CLI_NAME} deploy 部署当前目录
102
+ ${CLI_NAME} deploy ./my-app --prod 部署 my-app 到生产环境
103
+ ${CLI_NAME} deploy . --prod --yes 部署到生产环境并跳过确认
104
+
105
+ EOF
106
+ }
107
+
108
+ # ─── deploy 命令 ───
109
+ cmd_deploy() {
110
+ local target_dir="."
111
+ local vercel_args=()
112
+
113
+ while [[ $# -gt 0 ]]; do
114
+ case "$1" in
115
+ --prod) vercel_args+=("--prod"); shift ;;
116
+ --force) vercel_args+=("--force"); shift ;;
117
+ --yes) vercel_args+=("--yes"); shift ;;
118
+ --help|-h) show_help; exit 0 ;;
119
+ -*)
120
+ print_error "未知选项: $1"
121
+ echo "运行 '${CLI_NAME} help' 查看帮助"
122
+ exit 1
123
+ ;;
124
+ *)
125
+ target_dir="$1"
126
+ shift
127
+ ;;
128
+ esac
129
+ done
130
+
131
+ if [[ ! -d "$target_dir" ]]; then
132
+ print_error "目录不存在: $target_dir"
133
+ exit 1
134
+ fi
135
+
136
+ # Token 优先级:环境变量 > .env 文件 > 内置默认值
137
+ load_env ".env"
138
+ [[ "$target_dir" != "." && -f "${target_dir}/.env" ]] && load_env "${target_dir}/.env"
139
+
140
+ load_builtin_credentials
141
+
142
+ if [[ -z "${VERCEL_TOKEN:-}" ]]; then
143
+ print_error "未找到部署令牌"
144
+ exit 1
145
+ fi
146
+
147
+ ensure_vercel
148
+
149
+ local abs_dir
150
+ abs_dir="$(cd "$target_dir" && pwd)"
151
+ local dir_name
152
+ dir_name="$(basename "$abs_dir")"
153
+
154
+ echo ""
155
+ echo -e "${BOLD}Agent Toolkit CLI${RESET} — 项目部署"
156
+ echo -e "────────────────────────────"
157
+ print_info "项目目录: ${abs_dir}"
158
+ [[ ${#vercel_args[@]} -gt 0 ]] && print_info "部署参数: ${vercel_args[*]}"
159
+ echo ""
160
+
161
+ print_info "正在部署 ${BOLD}${dir_name}${RESET} ..."
162
+ echo ""
163
+
164
+ vercel deploy "${vercel_args[@]}" --token "$VERCEL_TOKEN" --cwd "$target_dir"
165
+
166
+ echo ""
167
+ print_success "部署完成!"
168
+ }
169
+
170
+ # ─── env 命令 ───
171
+ cmd_env() {
172
+ load_env ".env"
173
+ load_builtin_credentials
174
+
175
+ echo -e "${BOLD}当前部署环境配置${RESET}"
176
+ echo "────────────────────────────"
177
+
178
+ if [[ -n "${VERCEL_TOKEN:-}" ]]; then
179
+ print_success "VERCEL_TOKEN: $(mask_secret "$VERCEL_TOKEN")"
180
+ else
181
+ print_warn "VERCEL_TOKEN: 未设置"
182
+ fi
183
+
184
+ if [[ -n "${SUPABASE_URL:-}" ]]; then
185
+ print_success "SUPABASE_URL: ${SUPABASE_URL}"
186
+ else
187
+ print_warn "SUPABASE_URL: 未设置"
188
+ fi
189
+
190
+ if [[ -n "${SUPABASE_ANON_KEY:-}" ]]; then
191
+ print_success "SUPABASE_ANON_KEY: $(mask_secret "$SUPABASE_ANON_KEY")"
192
+ else
193
+ print_warn "SUPABASE_ANON_KEY: 未设置"
194
+ fi
195
+
196
+ if [[ -n "${SUPABASE_SERVICE_ROLE_KEY:-}" ]]; then
197
+ print_success "SUPABASE_SERVICE_ROLE_KEY: $(mask_secret "$SUPABASE_SERVICE_ROLE_KEY")"
198
+ else
199
+ print_warn "SUPABASE_SERVICE_ROLE_KEY: 未设置"
200
+ fi
201
+
202
+ if command -v vercel &>/dev/null; then
203
+ print_success "Vercel CLI: $(vercel --version 2>/dev/null | head -1)"
204
+ else
205
+ print_warn "Vercel CLI: 未安装"
206
+ fi
207
+ }
208
+
209
+ # ─── 主入口 ───
210
+ main() {
211
+ if [[ $# -eq 0 ]]; then
212
+ show_help
213
+ exit 0
214
+ fi
215
+
216
+ local command="$1"
217
+ shift
218
+
219
+ case "$command" in
220
+ deploy) cmd_deploy "$@" ;;
221
+ env) cmd_env ;;
222
+ help) show_help ;;
223
+ version) show_version ;;
224
+ *)
225
+ print_error "未知命令: $command"
226
+ echo "运行 '${CLI_NAME} help' 查看帮助"
227
+ exit 1
228
+ ;;
229
+ esac
230
+ }
231
+
232
+ main "$@"
package/package.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "agent-toolkit-cli",
3
+ "version": "1.0.0",
4
+ "description": "一键部署你的项目",
5
+ "bin": {
6
+ "agent-toolkit-cli": "deploy-cli/bin/demo",
7
+ "atk": "deploy-cli/bin/demo"
8
+ },
9
+ "files": [
10
+ "deploy-cli/bin/demo"
11
+ ],
12
+ "license": "MIT"
13
+ }