Metadata-Version: 2.4
Name: dae-toolkit
Version: 1.2.1
Summary: DAE Development Toolkit - MCP servers and tools for AI-assisted development
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.24.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: requests>=2.31.0

# DAE Development Toolkit

给本地 AI agent 安装 DAE `skill`、MCP server、reference。支持 `claude`、`codex`、`cursor`、`windsurf`、`opencode`。

## 快速开始

一行全局安装：

```bash
uvx --from git+https://github.intra.douban.com/liaoxingyi/dae-tools.git dae-toolkit install --agent <agent> --global
```

本仓开发安装：

```bash
uv sync && uv tool install --force --editable .
dae-toolkit install --agent <agent> --global
dae-toolkit install --repo /path/to/app --agent <agent>
```

无参数运行 `dae-toolkit` 进入交互向导。完整说明见 [QUICKSTART.md](QUICKSTART.md)。

## 安装后

安装器生成 `.dae-toolkit/` 共享 bundle，并按 agent 写配置。常用子 skill：

- `dae-toolkit.dae`：DAE 项目识别、通用约束、入口路由
- `dae-toolkit.runscript`：`dae runscript`、`--pre`、`--remote`
- `dae-toolkit.update-pre`：匹配并更新当前分支 pre
- `dae-toolkit.aio`：dae-aio 异步项目
- `dae-toolkit.aio-migration`：同步 DAE 到 aio 迁移、pre 验证、事故/回滚边界
- `dae-toolkit.remoteshell`：应用上下文 Python、`%debug`
- `dae-toolkit.ghe`：GHE 搜索、远端文件、PR/review
- `dae-toolkit.pre-pr-self-review`：PR 前只读自审
- `dae-toolkit.trace`：TraceQL、慢 trace、性能瓶颈
- `dae-toolkit.logs`：weblog、accesslog、loginlog
- `dae-toolkit.metrics`：Echoes catalog、PromQL、Prometheus 查询
- `dae-toolkit.rpc`：PIDL、thrift、prefetch、staticng/shire
- `dae-toolkit.sync-pr`：提交、推送、创建/更新 PR
- `dae-toolkit.sync-pr-and-pre`：sync-pr 后更新 pre
- `dae-toolkit.get-dae-pre-logs`：tail DAE pre 日志
- `dae-toolkit.extract-dev-server-logs`：SSH theoden 提取日志
- `dae-toolkit.fix-pr-ut-errors`：下载 PR 测试 XML 并修失败
- `dae-toolkit.fix-pr-ut-errors-from-file`：从本地测试 XML 修失败
- `dae-toolkit.dae-app-python3-switch`：DAE app Python 3 切换与 pre/Bruno/Onimaru 验证
- `dae-toolkit.fix-onimaru-errors`：按 Onimaru event 修运行时错误
- `dae-toolkit.migrate-pip-req-d`：`pip-req.d` 迁移到显式路径
- `dae-toolkit.redeye-to-pidl-prefetch`：redeye 迁移到 PIDL prefetch

优先命中最窄子 skill；宽泛任务再回退父 `dae-toolkit`。源码树只维护 `skills/`；子 skill 只放自身文档和 `references/`。共享 `scripts/`、`mcp-servers/` 留在 `skills/dae-toolkit/`，安装时补到目标 skill。`dae_toolkit/skills/*` 镜像不再跟踪，wheel/sdist 构建时同步。

## 常用命令

```bash
dae-toolkit doctor --global
uv run python scripts/check_reference_freshness.py
uv run python skills/dae-toolkit/scripts/analyze_trace_perf.py <trace_id>
uv run python tests/run_all_tests.py
```

## Reference 维护

`skills/dae-toolkit/references/` 是上游快照。有上游映射的文件带 YAML frontmatter：

```yaml
---
upstream:
  - repo: dae/dae-aio
    path: docs/
---
```

检查过时：

```bash
uv run python scripts/check_reference_freshness.py
uv run python scripts/check_reference_freshness.py --json
```

## 目录

```text
dae-toolkit/
├── dae_toolkit/       # CLI 与安装逻辑
├── skills/            # 父 skill、子 skill、reference、共享 assets
├── scripts/           # 维护脚本
└── tests/
```

## 阅读

- [QUICKSTART.md](QUICKSTART.md)
- [skills/dae-toolkit/SKILL.md](skills/dae-toolkit/SKILL.md)
