eve-new-project-setup
Configure a new Eve Horizon project after running eve init (profile, auth, manifest, and repo linkage).
What this skill does
# 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: ```bash 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 ```bash eve --version ``` If this fails, the CLI wasn't installed. Have them run: ```bash npm install -g @eve-horizon/cli ``` ## Step 2: Profile Setup Create a profile for the staging environment: ```bash eve profile create staging --api-url https://api.eh1.incept5.dev eve profile use staging ``` Ask the user for their email and set defaults: ```bash eve profile set --default-email [email protected] ``` ## Step 3: Authentication Check current auth status: ```bash eve auth status ``` If not authenticated, log in: ```bash 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., "[email protected]:me/my-app.git") Create or ensure they exist: ```bash eve org ensure my-company --slug myco eve project ensure --name "My App" --slug my-app --repo-url [email protected]: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: ```bash 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`): ```bash cp secrets.env.example secrets.env eve secrets import --org org_xxx --file ./secrets.env ``` For Claude/Codex OAuth tokens on the host: ```bash # 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: ```yaml 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: ```bash git remote -v git remote add origin [email protected]:user/my-app.git git push -u origin main ``` ## Step 8: Verification Run these checks to confirm setup: ```bash eve system health eve auth status eve profile show ``` ## Next Steps After setup is complete, suggest: 1. **Run locally**: `docker compose up --build` 2. **Set secrets**: `eve secrets set MY_KEY "value"` or `eve secrets import --file ./secrets.env` 3. **Deploy to staging**: `eve env deploy staging --ref main --repo-dir .` 4. **Create a job**: `eve job create --prompt "Review the codebase"` Note: If the environment has a `pipeline` configured in the manifest, `eve env deploy <env> --ref <sha>` 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" ```bash npm install -g @eve-horizon/cli ``` ### "Not authenticated" ```bash eve auth login ``` ### "No profile" ```bash eve profile create staging --api-url https://api.eh1.incept5.dev ```
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.