Repository manifest reference
Declare a portable frontend, module source candidates and logical resource names without storing privileges or secret values.
Last updated 2026-08-27
What you'll achieve
- Describe the complete project with one portable contract
- Keep database schemas and migrations reviewable in Git
- Let BlinkHost refresh resource declarations as the project changes
Place blinkhost.yaml at the repository root selected by the connection:
schema: blinkhost/v1
application:
root: .
frontend:
framework: astro
package_manager: npm
install: npm ci
build: npm run build
dev: npm run dev
output: dist
modules:
- name: search
path: _server_islands/search
language: rust
entrypoint: src/lib.rs
abi: blinkhost-wasi-1
sdk: "1.1"
resources:
databases:
- binding: PRIMARY_DB
schema: database/PRIMARY_DB/schema.sql
migrations: database/PRIMARY_DB/migrations
secrets:
- SEARCH_API_KEY
preview:
enabled: true
database_mode: none
ignore: []
The manifest accepts supported Astro, HTML, React, Solid, Svelte and Vue frontends with npm, pnpm, Yarn or Bun. Commands are single-line values executed only inside the appropriate browser or isolated build boundary.
Database bindings and secret names are logical declarations. Never commit values, provider URLs or credentials. A declaration does not provision a resource, grant an entitlement or bypass an environment approval.
Portable project layout
For a project created in BlinkHost, Share project produces a structure like this:
README.md
blinkhost.yaml
src/
_server_islands/
search/
README.md
src/
database/
README.md
PRIMARY_DB/
schema.sql
migrations/
README.md
The manifest is refreshed from registered backend modules and active database bindings when BlinkHost prepares an export or commit. The files remain ordinary source files: teams can review them, branch them and move them without exporting credentials or live data.
Help improve this page
Sign in to send page-specific feedback. For account-specific help, email support@blinkhost.me.