{
  "instructions": "Post the `reply` text below exactly as written. It already contains the demo link.",
  "reply": "@yourhandle your Flisk stack: web · api · api-migrator · chain · indexer. Checked service.json files, a CI-built repo, flisk up to run it. May be live for 2h.\n\nhttps://demo.flisk.sh/d/yourhandle-dapp-c80cf9",
  "url": "https://demo.flisk.sh/d/yourhandle-dapp-c80cf9",
  "id": "yourhandle-dapp-c80cf9",
  "status": "building",
  "plan": {
    "user": "yourhandle",
    "stack": "dapp",
    "detected": {
      "chain": [
        "solidity",
        "dapp"
      ],
      "db": [
        "postgres"
      ]
    },
    "summary": "web · api · api-migrator · chain · indexer",
    "integration": null,
    "env": [],
    "notes": [
      "No frontend framework named, so this uses React. Say vue, svelte or solid to switch."
    ],
    "services": [
      {
        "name": "web",
        "appType": "frontend",
        "port": 3000,
        "framework": "react",
        "dependsOn": [
          "api"
        ],
        "note": "react app",
        "file": "services/dapp/web/service.json",
        "manifest": {
          "$schema": "https://flisk.sh/schema.service.json",
          "schemaVersion": 1,
          "appName": "web",
          "appType": "frontend",
          "stack": "dapp",
          "port": 3000,
          "framework": "react",
          "dependsOn": [
            "api"
          ]
        }
      },
      {
        "name": "api",
        "appType": "backend",
        "port": 4000,
        "featuresEnabled": [
          "prisma"
        ],
        "healthCheckPath": "/health",
        "dependsOn": [
          "api-migrator"
        ],
        "note": "bun + hono API",
        "file": "services/dapp/api/service.json",
        "manifest": {
          "$schema": "https://flisk.sh/schema.service.json",
          "schemaVersion": 1,
          "appName": "api",
          "appType": "backend",
          "stack": "dapp",
          "port": 4000,
          "healthCheckPath": "/health",
          "dependsOn": [
            "api-migrator"
          ],
          "featuresEnabled": [
            "prisma"
          ]
        }
      },
      {
        "name": "api-migrator",
        "appType": "migrator",
        "scaffoldedBy": "api",
        "note": "runs Prisma migrations against the shared Postgres before the api starts",
        "file": "services/dapp/api-migrator/service.json",
        "manifest": {
          "$schema": "https://flisk.sh/schema.service.json",
          "schemaVersion": 1,
          "appName": "api-migrator",
          "appType": "migrator",
          "stack": "dapp"
        }
      },
      {
        "name": "chain",
        "appType": "bring-your-own",
        "port": 4100,
        "image": "ghcr.io/foundry-rs/foundry:stable",
        "experimental": true,
        "note": "local Anvil node for your contracts. Not yet run end to end with flisk up: anvil must listen on the container port Flisk routes to",
        "file": "services/dapp/chain/service.json",
        "manifest": {
          "$schema": "https://flisk.sh/schema.service.json",
          "schemaVersion": 1,
          "appName": "chain",
          "appType": "bring-your-own",
          "stack": "dapp",
          "port": 4100,
          "image": "ghcr.io/foundry-rs/foundry:stable"
        }
      },
      {
        "name": "indexer",
        "appType": "worker",
        "port": 4200,
        "featuresEnabled": [
          "nats"
        ],
        "params": {
          "RPC_URL": "http://chain:3000"
        },
        "dependsOn": [
          "chain",
          "api-migrator"
        ],
        "note": "reads contract events into Postgres",
        "file": "services/dapp/indexer/service.json",
        "manifest": {
          "$schema": "https://flisk.sh/schema.service.json",
          "schemaVersion": 1,
          "appName": "indexer",
          "appType": "worker",
          "stack": "dapp",
          "port": 4200,
          "params": {
            "RPC_URL": "http://chain:3000"
          },
          "dependsOn": [
            "chain",
            "api-migrator"
          ],
          "featuresEnabled": [
            "nats"
          ]
        }
      }
    ],
    "commands": [
      "npm install -g @flisk-sh/flisk",
      "flisk doctor",
      "flisk project --yes",
      "flisk resource web --type frontend --stack dapp --framework react --yes",
      "flisk resource api --type backend --stack dapp --feature prisma --yes",
      "flisk resource chain --type bring-your-own --stack dapp --image ghcr.io/foundry-rs/foundry:stable --yes",
      "flisk resource indexer --type worker --stack dapp --feature nats --yes",
      "flisk up dapp",
      "flisk status"
    ]
  }
}