PicoBot/skills/lark-apps/references/lark-apps-init.md
ooodc a7883dbed9 refactor(todo): 重构待办事项管理逻辑及更新状态规则
- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段
- 强制每个任务都必须有唯一 id,且由用户负责生成
- 修改合并模式逻辑,merge=true 下保留未提及的旧任务
- 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress)
- 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled
- 优化状态转换校验,允许特定状态间合法切换
- 简化任务变更消息,移除详细的新增/更新/移除统计
- 更新文档和示例,明确 id 必须由用户生成和使用
- 修复和补充测试,增强状态转换和合并模式验证
- 调整任务时间戳生成逻辑,统一使用当前时间及索引
- 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
2026-06-13 09:22:33 +08:00

2.1 KiB
Raw Blame History

apps +init

+init 初始化妙搭应用的代码clone 仓库、scaffold/同步源码、拉取本地环境变量)。运行时命令事实以 lark-cli apps +init --help 为准。

何时用

用于把妙搭全栈应用源码拉到本地并准备开发环境。用户只是要云端 Agent 生成应用时,不要初始化本地仓库。

命令骨架

  • 必填:--app-id
  • 可选:--dirclone 目标目录;省略时默认 ./<app-id>
  • 可选:--template,空仓库脚手架模板;省略时当前回退 nestjs-react-fullstack
  • 固定 checkout 分支:sprint/default
  • +init 会初始化 Git 凭证、clone 仓库、切到工作分支并生成/同步本地项目。

示例

lark-cli apps +init --app-id app_xxx --dir ./my-app
lark-cli apps +init --app-id app_xxx --dir /absolute/path/my-app --template nestjs-react-fullstack
lark-cli apps +init --app-id app_xxx --dir ./my-app --dry-run

输出契约

  • 真跑时 stdout 是 JSON envelopestderr 会有 -> / 进度行。成功读 stdout失败解析 stderr 末尾的 JSON 错误。
  • 成功普通初始化读取 data.clone_pathbranchcommittedpushedrepository_url 已脱敏,不要当凭据使用。
  • scaffold=already_initialized 表示目录已初始化:跳过 clone/scaffold/commit但仍会执行一次 env-pull 刷新本地环境变量(输出含 env_pulled,成功时含 env_file,失败时含 env_pull_error 且退出码仍为 0此时通常没有 repository_url / branch
  • --dry-run 只打印计划,不执行 git / npx若输出含 dir_error,真跑前先让用户换目录。

Agent 规则

  • 目标目录必须不存在、为空目录,或已含 .spark/meta.json 的已初始化仓库。
  • 目标目录已含 .spark/meta.json 时,+init 会跳过 clone/scaffold但仍执行一次 env-pull 刷新本地环境变量;告知用户“仓库已初始化,本地环境变量已刷新,可直接开发”,不要误报失败或重复 clone。
  • +init 输出没有必要原样复述;告诉用户 clone path、分支和下一步即可。