mcpField
E
eve-bootstrap

eve-bootstrap

github.com/incept5云与 DevOps0300 次安装17 周前更新
代码仓库

关于 eve-bootstrap

面向首次使用者和现有 Eve 用户的入门技能,按认证状态引导完成 CLI 配置、访问申请和项目初始化,并验证平台状态。

主要功能

  1. 01检查 CLI 与认证状态
  2. 02创建配置档案并申请访问
  3. 03等待管理员审批并自动登录
  4. 04创建项目与环境
  5. 05生成基础 manifest 并验证

适用场景

  1. 01为新成员配置 Eve 访问权限
  2. 02为已登录用户初始化项目
  3. 03创建项目及 staging、production 环境
  4. 04检查认证、系统健康与项目列表

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/incept5/eve-skillpacks --skill eve-bootstrap

安装后在 Claude Code 中输入/eve-bootstrap确认已加载。

详细介绍

Eve Bootstrap

一个技能,涵盖从零开始到 Eve 项目正常运行的所有步骤。它会检测你是否已通过身份验证,并据此调整流程:

  • 已通过身份验证 → 跳过身份验证,直接进行项目设置
  • 未通过身份验证 → 创建配置文件、申请访问权限、等待管理员批准、自动登录,然后设置项目

步骤 1:检查 CLI

eve --version

如果失败,请先安装 CLI:

npm install -g @anthropic/eve-cli

步骤 2:创建配置文件

检查是否已存在配置文件:

eve profile list

如果不存在 staging 配置文件,请创建一个:

eve profile create staging --api-url https://api.eve.example.com
eve profile use staging

步骤 3:检查身份验证状态

eve auth status

这会调用 API,而不是检查本地文件。可能出现两种结果:

已通过身份验证 → 前往步骤 5

如果 eve auth status 显示你已登录,请跳至 步骤 5:项目设置。

未通过身份验证 → 继续步骤 4

步骤 4:申请访问权限(仅限新用户)

找到要使用的 SSH 公钥:

ls ~/.ssh/*.pub

默认值:~/.ssh/id_ed25519.pub。如果不存在密钥,请生成一个:

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519

请用户提供:

  • 组织名称 — 他们希望使用的组织名称
  • 邮箱 — 可选,用于其用户帐户

提交访问申请并等待批准:

eve auth request-access \
  --ssh-key ~/.ssh/id_ed25519.pub \
  --org "My Company" \
  --email [email protected] \
  --wait

--wait 标志会:

  1. 提交申请(无需身份验证)
  2. 显示申请 ID(areq_xxx)
  3. 每隔 5 秒轮询一次,直到管理员批准或拒绝
  4. 获批后:自动完成 SSH 挑战登录
  5. 将令牌存储在 ~/.eve/credentials.json 中

告诉用户:“管理员需要运行 eve admin access-requests approve <id> 来批准你的申请。”

获批后,你将以自己的组织身份(管理员身份)登录。

步骤 5:项目设置

如果已知组织 ID 和项目 ID,请设置配置文件默认值:

eve profile set --org <org_id> --project <proj_id>

如果尚无项目,请向用户询问:

  • 项目名称和 slug(slug 不可更改,请尽量简短)
  • 仓库 URL(例如:[email protected]:org/repo.git)
# Option A: Ensure project exists
eve project ensure --name "My App" --slug myapp \
  --repo-url [email protected]:org/repo.git --branch main

# Option B: Bootstrap project + environments in one call
eve project bootstrap --name "My App" --repo-url [email protected]:org/repo.git \
  --environments staging,production

**URL 影响:**slug 决定部署 URL: {service}.{orgSlug}-{projectSlug}-{env}.{domain}

步骤 6:清单文件

如果 .eve/manifest.yaml 不存在,请创建一个最简文件:

schema: eve/compose/v2
project: myapp

registry: "eve"

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    # image is optional; Eve derives it from the service name when managed registry is used
    ports: [3000]
    x-eve:
      ingress:
        public: true
        port: 3000

environments:
  staging:
    pipeline: deploy

pipelines:
  deploy:
    steps:
      - name: build
        action: { type: build }
      - name: release
        depends_on: [build]
        action: { type: release }
      - name: deploy
        depends_on: [release]
        action: { type: deploy }

如需详细的清单文件编写指南,请使用 eve-manifest-authoring 技能。

步骤 7:了解平台

阅读 Eve 平台参考文档,了解所有功能:

https://showcase.eve.example.com/llms

文档涵盖 CLI 命令、清单语法、Agent 运行框架、作业生命周期等内容。

步骤 8:验证

eve auth status
eve system health
eve project list

总结

打印已完成的设置:

  • 配置文件:名称、API URL
  • 身份验证:邮箱、组织名称、组织 slug
  • 项目:名称、slug、仓库 URL
  • 后续步骤:同步清单文件(eve project sync)、部署(eve env deploy staging --ref main --repo-dir .)

评论

支持 Markdown