Skill 详情
eve-fullstack-app-design
Direct app architecture/design coverage, constrained to Eve Horizon.
使用前先检查
自动化审核只检查相关性,不代表安全审查或推荐。使用前请阅读来源中的说明。
SKILL.md
这段内容是审核时保存的快照。外部来源才是完整且最新的版本。
--- 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`) before在 GitHub 阅读完整来源 (打开外部页面)