Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# CLAUDE.md

## Entry Point

This project uses **Skill workflow documents → manual Agent calls** pattern. Slash commands like `/smoke-test` are **not registered** as Claude Code commands — they are workflow documents in `skills/` that describe step-by-step processes. The main thread reads the Skill doc, then calls `Agent(subagent_type="xxx")` sequentially.

There is **no auto-orchestration engine**. The main thread reads Skill docs and calls Agents sequentially. Agents may invoke utils but often implement equivalent logic themselves.

## Directory Map

| What | Where |
|------|-------|
| Agent definitions | `agents/` (16 agents) |
| Skill workflow docs | `skills/` (35 skills) |
| Python utils | `utils/` (78 modules) |
| Config templates | `config/` (incl. `.env.example`) |
| Test outputs | `workspace/` |
| Runtime / MCP | `runtime/` |
| CI pipelines | `ci/` |
| Docs | `docs/` |
| Marketplace | `marketplace/` |

## How to Run

1. Copy `config/.env.example` to `.env` and fill in required values
2. Read the relevant Skill doc in `skills/` to understand the workflow
3. Call agents manually via `Agent(subagent_type="xxx")` following the Skill flow
4. Outputs land in `workspace/`

## Architecture

```
Skill docs (skills/*.md) → define workflows
Agent defs (agents/*.md) → define roles + tool access
Utils (utils/*.py) → executable implementations
```

## Design Limitations

- `/smoke-test` etc. are **not** registered slash commands. They are workflow documents.
- Agent definitions contain Python import hints (e.g. `from utils.prd_loader import load_prd`) as prompts for AI agents, not actual executable code.
- `test-lead` cannot recursively spawn sub-agents (Claude Code architecture limitation).
- Pentest workflows require `tagent.yml` with `pentest.authorized: true` — see `tagent.yml.example`.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ python install.py ~/test-agent-project # macOS / Linux example, any folder

After deployment, outputs under `workspace/`: test cases (Excel + xmind + markmap + opml) + Word report + decision logs.

**Next**: edit `.env` → `claude /login` → `cd project-dir && claude` → `/smoke-test`
**Next**: `cp config/.env.example .env` → edit `.env` → `cd project-dir && claude` → read `skills/smoke-test.md` workflow, run agents per the flow

## 🖥 Desktop App

Expand Down
2 changes: 1 addition & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Test-Agent V1.x ROADMAP

> 项目终态目标:每个 expert / skill 真 LLM-driven / script-backed 实装,**绝不输出 mock 数据**。
> 当前状态:V1.42.0 (**expert rollout 收尾 + skill rollout 完成(16/16)+ Phase 3 完成 + Phase 4 完成 + Phase 5 完成**)
> 当前状态:V1.43.0 (**expert rollout 收尾 + skill rollout 完成(16/16)+ Phase 3 完成 + Phase 4 完成 + Phase 5 完成**)
> - **expert 16/16 active**(11 production + 5 script);0 rollout。
> - **skill 30/32 active**(23 production + 7 script);0 rollout;2 暂为 V2 vision 方法论参考。
> - 3 meta-skill(nuwa-skill / darwin-skill / karpathy-guidelines)独立,工具属性,不在 32 业务 skill 数内。
Expand Down
6 changes: 4 additions & 2 deletions install.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,7 @@ def create_dirs(project_root):
os.path.join("workspace", "执行日志", "baselines"),
os.path.join("workspace", "执行日志", "history"),
os.path.join("workspace", "执行日志", "截图"),
"memory",
]
for d in dirs:
os.makedirs(os.path.join(project_root, d), exist_ok=True)
Expand Down Expand Up @@ -409,7 +410,7 @@ def copy_top_level_docs(template_dir, project_root):
docs = [
"LICENSE", "NOTICE.md", "SECURITY.md", "CONTRIBUTING.md",
"CODE_OF_CONDUCT.md", "ROADMAP.md", "README.md", "README.zh-CN.md",
"CHANGELOG.md", "VERSION",
"CHANGELOG.md", "VERSION", "FULL_GUIDE.md", "tagent.yml.example",
]
for f in docs:
src = os.path.join(template_dir, f)
Expand Down Expand Up @@ -503,7 +504,8 @@ def finish(project_root):
2. 安装 Java JRE 17 + JMeter 5.6.3 + Allure CLI(详见 部署说明.md)
3. claude /login # 首次登录 Claude Code
4. cd {project_root} && claude # 启动
5. 在 Claude 提示符内: > /smoke-test # 第一次冒烟验证
5. cd {project_root} && claude # 进入项目
6. 阅读 skills/smoke-test.md 工作流 # 第一次冒烟验证

{'=' * 50}
"""
Expand Down
Empty file added memory/.gitkeep
Empty file.
Loading