Skill-Details
eve-fullstack-app-design
Direct app architecture/design coverage, constrained to Eve Horizon.
Vor Nutzung prüfen
Die automatische Prüfung bewertet Relevanz, nicht Sicherheit oder Empfehlung. Lies vor der Nutzung die Quellanweisungen.
SKILL.md
Dieser Auszug wurde bei der Prüfung gespeichert. Die externe Quelle enthält die vollständige und aktuelle Version.
--- name: eve-fullstack-app-design description: Architect a full-stack application on Eve Horizon — manifest-driven services, managed databases, build pipelines, deployment strategies, secrets, and observability. Use when designing a new app, planning a migration, or evaluating your architecture. triggers: - fullstack design - app architecture - design an app - architect app - fullstack app - app design - system design eve --- # Full-Stack App Design on Eve Horizon Architect applications where the manifest is the blueprint, the platform handles infrastructure, and every design decision is intentional. ## When to Use Load this skill when: - Designing a new application from scratch on Eve - Migrating an existing app onto the platform - Evaluating whether your current architecture uses Eve's capabilities well - Planning service topology, database strategy, or deployment pipelines - Deciding between managed and external services This skill teaches *design thinking* for Eve's PaaS layer. For CLI usage and operational detail, load the corresponding eve-se skills (`eve-manifest-authoring`, `eve-deploy-debugging`, `eve-auth-and-secrets`, `eve-pipelines-workflows`). ## The Manifest as Blueprint The manifest (`.eve/manifest.yaml`) is the single source of truth for your application's shape. Treat it as an architectural document, not just configuration. ### What the Manifest Declares | Concern | Manifest Section | Design Decision | |---------|-----------------|-----------------| | Service topology | `services` | What processes run, how they connect | | Infrastructure | `services[].x-eve` | Managed DB, ingress, roles | | Build strategy | `services[].build` + `registry` | What gets built, where images live | | Release pipeline | `pipelines` | How code flows from commit to production | | Environment shape | `environments` | Which environments exist, what pipelines they use | | Agent configuration | `x-eve.agents`, `x-eve.chat` | Agent profiles, team dispatch, chat routing | | Runtime defaults | `x-eve.defaults` | Harness, workspace, git policies | **Design principle**: If an agent or operator can't understand your app's shape by reading the manifest, the manifest is incomplete. ## Service Topology ### Choose Your Services Most Eve apps follow one of these patterns: **API + Database** (simplest): ``` services: api: # HTTP service with ingress db: # managed Postgres ``` **API + Worker + Database**: ``` services: api: # HTTP service (user-facing) worker: # Background processor (jobs, queues) db: # managed Postgres ``` **Multi-Service**: ``` services: web: # Frontend/SSR api: # Backend API worker: # Background jobs db: # managed Postgres redis: # external cache (x-eve.external: true) ``` ### Service Design Rules 1. **One concern per service.** Separate HTTP serving from background processing. An API service should not also run scheduled jobs. 2. **Use managed DB for Postgres.** Declare `x-eve.role: managed_db` and let the platform provision, connect, and inject credentials. No manual connection strings. 3. **Mark external services explicitly.** Use `x-eve.external: true` with `x-eve.connection_url` for services hosted outside Eve (Redis, third-party APIs). 4. **Use `x-eve.role: job` for one-off tasks.** Migrations, seeds, and data backfills are job services, not persistent processes. 5. **Expose ingress intentionally.** Only services that need external HTTP access get `x-eve.ingress.public: true`. Internal services communicate via cluster networking. 6. **Choose a hostname strategy early.** Every public service gets a generated platform URL by default. Layer on `x-eve.ingress.alias` for a friendlier platform-subdomain (`ingest.eve.example.com`), or `x-eve.ingress.domains: [limelee.com]` to bring your own domain. Custom domains are env-scoped and first-bind-wins — design which environment owns the apex (usually `production`) beforeVollständige Quelle auf GitHub lesen (öffnet externe Seite)