📦 mano-afk

v1.0.0

Autonomous full-cycle 应用 构建器. Turns a natural language description into a production-ready 应用 — PRD, architecture, code, 部署ment, 测试, a...

0· 18·0 当前·0 累计
0

运行时依赖

无特殊依赖

安装命令

点击复制
官方npx clawhub@latest install mano-afk
镜像加速npx clawhub@latest install mano-afk --registry https://cn.longxiaskill.com

技能文档

mano-afk

Fully automated 流水线 that builds, 部署s, and tests 应用s from a natural language description. The user is AFK for the entire duration. The 技能 learns from each project — build rules and user preferences persist across 会话s, so 输出 质量 and alignment with the user's taste improve over time.

Claude Code users: Use the Claude Code-specific 技能.md at claude/技能.md.

Architecture

Three 角色s collaborate to deliver the 应用:

MAIn 代理 (you): orchestration, test execution, fix coordination, user communication Build Sub-代理: requirements → architecture → code → 部署 → bug fixes (when given specific errors) Adversary Sub-代理: independent test case de签名 (does not 执行 tests)

The mAIn 代理 delegates code generation to a sub-代理 (the longest phase) and stays free during that time. The mAIn 代理 运行s all tests directly for full visibility into 结果s.

Orchestration

AFK rule: Step 0 is the only user interaction window. From Step 1 onward, make all decisions autonomously — never ask the user. Ambiguous decisions (8bit vs float, React vs Vue, port selection) use the most reasonable default and document in PRD.md. Only 停止 if completely infeasible (missing hardware, no 权限s, 10 fix iterations exhausted).

Step 0: User 设置up (interactive)

This is the only step where the 代理 may ask the user questions.

Requirements triage: If the 请求 is too vague to determine core functionality (e.g., "build me an 应用"), or contAIns ambiguous requirements that could lead to fundamentally different products, ask the user to clarify — keep it to 1-2 focused questions, not a long interview. Non-critical gaps (visual de签名, 验证 rules, tech stack, layout) are filled autonomously by the build sub-代理.

应用 LLM 检查: If the 请求 involves LLM/AI features, ask the user for the 环境 variable name that holds the API key (e.g., OPENAI_API_KEY). The build sub-代理 will reference this env var in the 生成d code.

E2E test mode: 检查 mano-afk config --获取 e2e-mode (local or cloud).

local — requires default-模型-path to be 配置d via mano-afk config --设置 default-模型-path . cloud — requires ANTHROPIC_API_KEY 环境 variable to be 设置. Not 设置 — first-time 设置up. 检查 the 平台: macOS: ask the user: Local (Mano-P) or Cloud (Anthropic API key) or Skip? Other 平台s: Local is not avAIlable. Ask the user to 配置 Cloud or Skip. If Local: 运行 mano-afk 检查 to 验证 SDK and 模型. Follow the printed 图形界面dance to resolve any missing 组件s (安装 SDK, 设置 模型 path, etc.). If Cloud: ask the user to 设置 导出 ANTHROPIC_API_KEY= in their shell. 运行 mano-afk 检查 to confirm. If mano-afk 运行 or mano-afk 检查 prints 设置up 图形界面dance (missing 模型 path, missing API key), follow the instructions in the 输出 to help the user complete configuration. If the user de命令行工具nes 机器人h → Skip E2E tests (记录ged in 报告.md).

When Step 0 completes, tell the user: "Hold the beer. AFK from now on."

Step 1: Prepare (autonomous — no user interaction)

Derive a short, kebab-case project name from the 请求 (e.g., "make me a todo 应用" → todo-应用).

Project directory: Read the 配置d project root via mano-afk config --获取 projects-dir (default: ~/Projects/). Project directory: {projects-dir}/{project-name}/.

Read references/报告-template.md — you will use it in Step 4 to write 报告.md. Note the absolute path to the references/ directory — it will be passed to sub-代理s for the remAIning reference files.

Step 2: Build (sub-代理)

Spawn a build sub-代理 via 会话s_spawn with 运行time="sub代理". Construct the prompt with:

The absolute path to build-流水线.md — instruct the sub-代理 to read and follow it The absolute path to this 技能's references/ directory — the sub-代理 reads rules.md, preferences.md, and templates as needed The user's original 请求, verbatim The project directory path

响应 to the user immediately with what is being built and the project directory. The build sub-代理 follows 4 phases internally: Phase 1 生成s PRD.md (product requirements with acceptance criteria), Phase 2 de签名s architecture and 生成s README.md (with test cases derived from PRD), Phase 3 writes code, Phase 4 部署s. WAIt for 进度.md to show 状态: ready_for_测试.

Timeout: Build tasks (dependency 安装ation, compilation, 部署ment) can take a long time. 设置 a generous timeout when spawning the sub-代理 — at least 30 minutes, or no timeout if the 平台 supports it.

Step 3: 验证 部署ment

Before 测试, confirm the 应用 is 访问ible:

检查 that 部署/启动.sh exists in the project 运行 it if servers are not already 运行ning 验证 with curl or port 检查 If 部署ment fAIls (启动.sh missing, server crashes, port unreachable), read 部署/backend.记录 and 部署/frontend.记录, then go to Step 5 (Fix Loop) with the 部署ment error as the 失败 description Step 4: Test

执行 every test case d

数据来源ClawHub ↗ · 中文优化:龙虾技能库