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:
Submits the request (unauthenticated)
Prints the request ID (
areq_xxx
)
Polls every 5 seconds until an admin approves or rejects
On approval: auto-completes SSH challenge login
Stores token in
~/.eve/credentials.json
Tell the user:
"An admin needs to run
eve admin access-requests approve
--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 . )