Eve New Project Setup Use this after a developer has run eve init and needs to configure the project for Eve Horizon. Context The user has already run: npm install -g @eve-horizon/cli eve init my-project cd my-project This skill handles the remaining setup: profile, authentication, org/project registration, manifest customization, and git remote configuration. Step 1: Verify CLI eve --version If this fails, the CLI wasn't installed. Have them run: npm install -g @eve-horizon/cli Step 2: Profile Setup Create a profile for the staging environment: eve profile create staging --api-url https://api.eh1.incept5.dev eve profile use staging Ask the user for their email and set defaults: eve profile set --default-email user@example.com Step 3: Authentication Check current auth status: eve auth status If not authenticated, log in: eve auth login The CLI will guide them through SSH key discovery (can fetch from GitHub if needed). We'll set harness credentials after project creation. Step 4: Org + Project Ask the user for: Organization name (e.g., "my-company") Project name (e.g., "My App") Project slug (e.g., "my-app") Repo URL (e.g., " git@github.com :me/my-app.git") Create or ensure they exist: eve org ensure my-company --slug myco eve project ensure --name "My App" --slug my-app --repo-url git@github.com:me/my-app.git --branch main URL impact: The org and project slugs directly form deployment URLs and K8s namespaces: URL: {service}.{orgSlug}-{projectSlug}-{env}.{domain} (e.g., api.myco-my-app-staging.eh1.incept5.dev ) Namespace: eve-{orgSlug}-{projectSlug}-{env} (e.g., eve-myco-my-app-staging ) ${ORG_SLUG} is available for interpolation in manifest values Slugs are immutable — choose short, meaningful values. Set as defaults in the profile: eve profile set --org org_xxx --project proj_xxx Step 5: Choose Harness + Set API Keys Ask which harness they want to target (can be more than one): mclaude / claude (Anthropic) code / codex (OpenAI) zai (Z.ai) gemini (Google) Map harnesses to required secrets: mclaude/claude : ANTHROPIC_API_KEY (preferred) or Claude OAuth via eve auth sync code/codex : OPENAI_API_KEY (preferred) or CODEX_AUTH_JSON_B64 zai : Z_AI_API_KEY gemini : GEMINI_API_KEY (or GOOGLE_API_KEY ) Decide where to store secrets: Org (recommended) for shared keys across projects Project for app-specific keys User for personal keys Use a secrets file for batch setup (starter repo includes secrets.env.example ): cp secrets.env.example secrets.env eve secrets import --org org_xxx --file ./secrets.env For Claude/Codex OAuth tokens on the host:
Store OAuth tokens in the project scope (or add --system if admin)
- eve auth
- sync
- --project
- proj_xxx
- Step 6: Manifest Configuration
- The starter template includes
- .eve/manifest.yaml
- . Update it with the project details:
- schema
- :
- eve/compose/v2
- project
- :
- my
- -
- app
- services
- :
- api
- :
- build
- :
- context
- :
- apps/api
- ports
- :
- [
- 3000
- ]
- x-eve
- :
- ingress
- :
- public
- :
- true
- port
- :
- 3000
- environments
- :
- staging
- :
- pipeline
- :
- deploy
- pipelines
- :
- deploy
- :
- steps
- :
- -
- name
- :
- deploy
- action
- :
- {
- type
- :
- deploy
- }
- Key fields to customize:
- project
-
- Match the project slug
- services
-
- Define your app's services
- x-eve.ingress
- Configure public access
Step 7: Git Remote
The project starts with no remote. Help set one up:
git
remote
-v
git
remote
add
origin git@github.com:user/my-app.git
git
push
-u
origin main
Step 8: Verification
Run these checks to confirm setup:
eve system health
eve auth status
eve profile show
Next Steps
After setup is complete, suggest:
Run locally
:
docker compose up --build
Set secrets
:
eve secrets set MY_KEY "value"
or
eve secrets import --file ./secrets.env
Deploy to staging
:
eve env deploy staging --ref main --repo-dir .
Create a job
:
eve job create --prompt "Review the codebase"
Note: If the environment has a
pipeline
configured in the manifest,
eve env deploy
--ref will trigger that pipeline. Use --direct to bypass the pipeline and do a direct deploy. --ref must be a 40-character SHA, or a ref resolved against --repo-dir /cwd. Troubleshooting "eve: command not found" npm install -g @eve-horizon/cli "Not authenticated" eve auth login "No profile" eve profile create staging --api-url https://api.eh1.incept5.dev