eve-bootstrap

SKILL.md

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.eh1.incept5.dev
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 user@example.com \
  --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., git@github.com:org/repo.git)
# Option A: Ensure project exists
eve project ensure --name "My App" --slug myapp \
  --repo-url git@github.com:org/repo.git --branch main

# Option B: Bootstrap project + environments in one call
eve project bootstrap --name "My App" --repo-url git@github.com: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://web.incept5-evshow-staging.eh1.incept5.dev/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 .)
Weekly Installs
125
First Seen
Feb 10, 2026
Installed on
gemini-cli125
codex125
claude-code123
pi34
opencode25
codebuddy25