mcpField
E
eve-bootstrap

eve-bootstrap

github.com/incept5Cloud & DevOps0300 installsUpdated 17w ago
Repository

About eve-bootstrap

An onboarding skill for new and existing Eve users. It adapts to authentication status and guides CLI setup, access requests, project initialization, and verification.

Key features

  1. 01Check CLI and authentication status
  2. 02Create profiles and request access
  3. 03Wait for approval and log in
  4. 04Set up projects and environments
  5. 05Create a starter manifest and verify setup

Use cases

  1. 01Set up Eve access for a new member
  2. 02Initialize a project for an authenticated user
  3. 03Create a project with staging and production environments
  4. 04Verify authentication, system health, and project listing

Install

Copy the command and run it in a terminal.

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

After installing, type/eve-bootstrapin Claude Code to confirm it loaded.

Details

From the project README

Eve Bootstrap

One skill that handles everything from zero to a working Eve project. It detects whether you're already authenticated and adapts:

  • Already authenticated → skips to project setup
  • Not authenticated → creates profile, requests access, waits for admin approval, auto-logs in, then sets up project

Step 1: Check CLI

eve --version

If this fails, install the CLI first:

npm install -g @anthropic/eve-cli

Step 2: Create Profile

Check if a profile already exists:

eve profile list

If no staging profile exists, create one:

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

Step 3: Check Auth Status

eve auth status

This calls the API — not a local file check. Two outcomes:

Already authenticated → go to Step 5

If eve auth status shows you're logged in, skip ahead to Step 5: Project Setup.

Not authenticated → continue to Step 4

Step 4: Request Access (New Users Only)

Find an SSH public key to use:

ls ~/.ssh/*.pub

Default: ~/.ssh/id_ed25519.pub. If no key exists, generate one:

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

Ask the user for:

  • Org name — what they want to call their organisation
  • Email — optional, for their user account

Submit the access request and wait for approval:

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

The --wait flag:

  1. Submits the request (unauthenticated)
  2. Prints the request ID (areq_xxx)
  3. Polls every 5 seconds until an admin approves or rejects
  4. On approval: auto-completes SSH challenge login
  5. Stores token in ~/.eve/credentials.json

Tell the user: "An admin needs to run eve admin access-requests approve <id> to approve your request."

Once approved, you're logged in with your own org (as admin).

Step 5: Project Setup

Set profile defaults if org/project IDs are known:

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

If no project exists yet, ask the user for:

  • Project name and slug (slug is immutable, keep it short)
  • Repo URL (e.g., [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 impact: Slugs determine deployment URLs: {service}.{orgSlug}-{projectSlug}-{env}.{domain}

Step 6: Manifest

If .eve/manifest.yaml doesn't exist, create a minimal one:

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 }

Use the eve-manifest-authoring skill for detailed manifest guidance.

Step 7: Learn the Platform

Read the Eve platform reference to understand all capabilities:

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

This covers CLI commands, manifest syntax, agent harnesses, job lifecycle, and more.

Step 8: Verify

eve auth status
eve system health
eve project list

Summary

Print what was set up:

  • Profile: name, API URL
  • Auth: email, org name, org slug
  • Project: name, slug, repo URL
  • Next steps: sync manifest (eve project sync), deploy (eve env deploy staging --ref main --repo-dir .)

Comments

Markdown supported