# Handoff: portfolio

| | |
| --- | --- |
| Repository | [demo/portfolio](https://github.com/demo/portfolio) |
| Generated | 2026-09-29 21:47 UTC |

All times UTC. This document lists environment variable **names only**; it never contains their values.

## Required environment variables

Every variable the code references in the latest scan (deploy `d124135` on `main`, 2026-09-27 18:13 UTC), grouped by the env-file scope that has to define it. None missing.

### Repository root

| Variable | Defined in | Status |
| --- | --- | --- |
| `CONTACT_FORM_ENDPOINT` | `.env.example` | ok |
| `NEXT_PUBLIC_SITE_URL` | `.env.example` | ok |

## Monitored endpoints

| Endpoint | URL | Check | Expects | Uptime, 30 days |
| --- | --- | --- | --- | --- |
| example.net | https://example.net/ | GET every 15 minutes | 200 | 100% |

## GitHub Action

Scans run in CI on every push. Save the project's ingest token as the repository secret `DEPLOYHEALTH_TOKEN` (tokens are shown once; regenerate one on the project's settings page), then commit this workflow:

```yaml
# .github/workflows/deployhealth.yml
name: deployhealth

# Must not run on pull_request events from forks: the job reads a repository secret.
on:
  push:
    branches: [main]

jobs:
  env-scan:
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      - uses: actions/checkout@v5
        with:
          persist-credentials: false
      - uses: actions/setup-node@v5
        with:
          node-version: 22
          package-manager-cache: false
      - name: Scan env vars and report to deployhealth
        env:
          DEPLOYHEALTH_TOKEN: ${{ secrets.DEPLOYHEALTH_TOKEN }}
        run: |
          npx --yes deployhealth-scan@0.1.0 \
            --url https://deployhealth.dev \
            --token "$DEPLOYHEALTH_TOKEN" \
            --sha "$GITHUB_SHA" \
            --branch "$GITHUB_REF_NAME"
```

## Open findings

None: every referenced variable is defined, and the env files agree.

## Uptime, last 30 days

**100%** on average across 1 endpoint, 2026-08-31 00:00 UTC to 2026-09-29 21:47 UTC.

## Alerts, last 30 days

No alerts.

## How to deploy

_No deploy notes yet._
