---
name: numa-create-application
metadata:
  version: "1.1.0"
description: 使用 Numa CLI 分析、规划、创建、接入或 promote 企业应用，并安全编排代码仓库、源码发布、canonical Jenkins Multibranch Job、GitOps target/service binding 和首次参数初始化。用户提到创建应用、接入现有仓库、初始化 Jenkins 流水线或推断部署环境时使用。
---

# Numa 应用创建

## 加载基础 Skill（必读）

本 Skill 依赖同来源的 `numa-cli@1.4.1`。业务操作前先加载基础 Skill；缺失时按 [依赖恢复指引](references/cli-bootstrap.md) 询问用户是否立即安装，不静默安装。命令示例使用 npx，无需全局安装；执行时将示例中的 `latest` 换为基础 Skill 已确认的具体版本，同一任务沿用同一入口。

先读取事实并形成完整草案，再询问真正不明确的决策。应用团队、代码库分组和部署集群是三个独立概念。任何外部写操作前都展示最终确认清单。

## 必读资源

- 每次执行读取 [references/checklist.md](references/checklist.md)。
- 调用 Numa 或恢复失败操作时读取 [references/numa-cli.md](references/numa-cli.md)。
- 推断团队、仓库、环境、集群或数据库时读取 [references/inference-rules.md](references/inference-rules.md)。
- 涉及 Repository、Jenkins 或 GitOps 时读取 [references/promote-workflows.md](references/promote-workflows.md)。
- 分析本地项目时运行 `node scripts/inspect-project.mjs [project-directory]`；不要扫描凭据目录或密钥文件。

## Canonical v2 路径

```text
app begin
-> Repository plan/apply
-> schemaVersion=3 Application plan/apply
-> session-bound Project Publication
-> Jenkins Multibranch Job plan/apply（INDEX_ONLY，不触发构建）
-> inventory 同步并确认 binding
-> GitOps target/service binding structural apply
-> 仓库 Jenkinsfile 使用 gitopsBuildEntry()
-> 首次 branch Job 空跑或 INIT=true 初始化参数
-> 使用新的幂等键通过 pipeline build 执行实际部署
-> 核对 Jenkins、Flux 与 runtime
```

签名 snapshot、独立触发、rollout 和 provenance 表面已退役，不得生成相关 Jenkinsfile、配置文件、Job 或命令。

## 工作流

1. 运行事实采集脚本，分类源码为 `REMOTE_TRACKED`、`LOCAL_HISTORY_WITHOUT_REMOTE`、`REMOTE_WITHOUT_UPSTREAM`、`DIRTY_WORKTREE` 或 `UNVERSIONED_DIRECTORY`。
2. 只读查询 Numa profile、认证、capabilities、团队成员、SCM、环境、应用、Jenkins 和 GitOps 目标。
3. 输出完整草案；每个字段标为 `OBSERVED`、`INFERRED`、`CONFIRMED`、`UNRESOLVED` 或 `DEFERRED`。
4. 只询问真正未决的选择。不要把 realm/client role 或 Keycloak group 当作团队成员资格。
5. 外部写前列出每个 child plan/run、副作用、幂等键、目标 branch/HEAD、生产审批和恢复入口，要求用户明确确认。
6. 严格按 Repository、Publication、Application、Jenkins Job、binding、GitOps 的顺序执行。写响应未知时只按原 session/clientRequestId/status/events 恢复，不创建第二套资源。
7. 完整 Jenkins 初始化要求 `INDEX_ONLY` scan、目标 branch child 可构建且没有触发 build。
8. 首次构建只初始化参数；实际部署必须是另一请求，并转入 `numa-jenkins-deployment`。

不得打印 token、Cookie、SCM credential、数据库密码、Secret 值或带 userinfo 的 URL。dirty worktree、HEAD 漂移、权限不明或目标不唯一时停止写入。
