Skip to content

Commit 1f5a8a2

Browse files
committed
fix: CI npm publish 认证配置
1 parent 38dcd6d commit 1f5a8a2

2 files changed

Lines changed: 72 additions & 2 deletions

File tree

.github/workflows/publish.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ jobs:
2020
- name: Build
2121
run: bun run build
2222

23+
- name: Create .npmrc
24+
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
25+
2326
- name: Publish to npm
2427
run: npm publish
25-
env:
26-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

AGENTS.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# AGENTS.md
2+
3+
## 项目概述
4+
5+
opencode-supertask — AI Agent 任务调度系统,作为 OpenCode 插件运行。提供 CLI、Gateway 常驻进程、Web Dashboard。
6+
7+
## 技术栈
8+
9+
- Bun runtime + TypeScript (strict)
10+
- Drizzle ORM + SQLite (bun:sqlite)
11+
- Hono (Web Dashboard SSR)
12+
- Commander (CLI)
13+
- pm2 (Gateway 守护进程)
14+
- bun:test (测试框架)
15+
16+
## 常用命令
17+
18+
```bash
19+
bun test # 运行所有测试
20+
bun run build # 构建 (tsup)
21+
bun run typecheck # TypeScript 类型检查
22+
bun run dev # CLI 开发模式
23+
bun run gateway # 启动 Gateway
24+
bun run ui # Web Dashboard
25+
```
26+
27+
## 代码规范
28+
29+
- 禁止 `any` 类型、`@ts-ignore``eslint-disable`
30+
- 禁止注释掉代码,直接删除未使用代码
31+
- 路径别名: `@core/*`, `@gateway/*`, `@worker/*`, `@web/*`, `@plugin/*`
32+
- 所有 DB 查询涉及时间排序必须加 `id` 作为第二排序键(createdAt/startedAt 精度只到秒)
33+
- SQL 中 `NOT IN` 对 NULL 值不生效,需加 `OR column IS NULL`
34+
35+
## 测试规范
36+
37+
- 测试文件在 `tests/` 目录
38+
- Mock DB 辅助: `tests/helpers/mock-db.ts` (使用内存 SQLite + bun:test mock.module)
39+
- 每个测试文件独立初始化 DB (`beforeEach → setupTestDb()`)
40+
- Service 层测试直接调用静态方法,不经过 CLI
41+
- CLI 集成测试通过 `execSync` 子进程执行
42+
43+
## 发布流程
44+
45+
- 修改代码 → 测试通过 → `bun run build` → git commit/push
46+
- 创建 GitHub Release 自动触发 CI 发布到 npm(需要 NPM_TOKEN secret)
47+
- **不要手动 npm publish**,通过 `gh release create v<x.y.z>` 触发
48+
- 升级版本号在 `package.json``version` 字段
49+
50+
## 项目结构
51+
52+
```
53+
src/core/ # 核心业务(Service、DB、纯函数)
54+
db/schema.ts # Drizzle 表定义 (tasks, task_runs, task_templates)
55+
db/index.ts # DB 连接(全局 Proxy 单例)
56+
services/ # TaskService, TaskRunService, TaskTemplateService
57+
backoff.ts # 指数退避
58+
cron-parser.ts # cron 表达式解析
59+
duration.ts # 时间解析 (30s/5min/1h/2d/PT30M)
60+
src/gateway/ # Gateway 主进程
61+
scheduler/ # 定时调度器 + 模板克隆
62+
watchdog/ # 心跳检测 + 过期清理
63+
config.ts # 配置加载 + deepMerge
64+
src/worker/ # Worker 执行引擎 (spawn opencode run)
65+
src/cli/ # Commander CLI
66+
src/web/ # Hono Web Dashboard
67+
src/daemon/ # pm2 进程管理
68+
plugin/ # OpenCode 插件入口 (supertask_*/supertask_schedule 工具)
69+
```

0 commit comments

Comments
 (0)