next js.md

Oral surgery: knowledge base using Next.js

Summary

A knowledge base blueprint for oral surgery built with Next.js on Ample. Domain schema: procedures (code, name, description, anesthesia_options, recovery_days): extractions, implants and corrective surgery; pre_op_instructions (procedure_id, instructions, fasting_rules): public preparation guidance; post_op_instructions (procedure_id, instructions, warning_signs): public recovery guidance; locations (name, address, phone, opening_hours, emergency_line): surgery locations; asset_versions (version, cdn_key, published_at): versioned assets served from the CDN bucket. Public information: procedure catalog with recovery expectations, pre- and post-operative instructions, emergency contact per location. Kept out of scope until handling is reviewed: surgical records and consent forms, medication lists, insurance pre-authorizations. Surgical and medication records are health data; only public guidance belongs here. No compliance is claimed. Technical basis verified on Next.js: a versioned, immutable-cached asset uploaded to a published bucket and served from the CDN URL alongside the app's own public HTTPS URL.

Infrastructure requirements

Prerequisites

Exact tested configuration

Steps

  1. Model the oral surgery domain. Create the tables procedures, pre_op_instructions, post_op_instructions, locations, asset_versions. Extractions, implants and corrective surgery lives in procedures; keep the sensitive classes (surgical records and consent forms, medication lists, insurance pre-authorizations) out of this schema.

  2. Workflow step 1. Model articles and categories as tables keyed to the public catalog entities

  3. Workflow step 2. Build the site with versioned assets served from the CDN bucket

  4. Workflow step 3. Keep articles free of any sensitive data class

  5. Workflow step 4. Deploy and verify the public URL and the CDN asset URL

  6. Deploy. Run the synchronous deploy once and read the result. Re-running with no change is a no-op.

    ample deploy . --name <app-name> --public --env S3_ENDPOINT=... --env S3_REGION=... --env S3_BUCKET=... --env S3_ACCESS_KEY_ID=... --env S3_SECRET_ACCESS_KEY=... --env CDN_PUBLIC_URL=...
    
  7. Verify. Run the pattern self-test(s) from the example (/p/versioned-static-assets) and your own acceptance checks for the oral surgery workflow.

    ample logs <deployment_id> --kind build
    

Tested examples

Success checks

Limitations

Cost estimate

Estimated 5.00 USD per month (size prices from pricing.toml at build revision a1b8c38919e59cd035ebabaced73cf84ece24371).

Always-on monthly price of the tested sizes; apps and databases auto-pause when idle. Buckets are allocation-priced per quota and not included.

Verification evidence

Last verified: 2026-09-21T02:34:39Z

Execution binding

MCP tool ample_deploy (registry mcp:ample_deploy), schema hash 876465fce906da0c observed 2026-09-21T03:19:59.461917+00:00 at revision 49962bcade4f, binding state current, required scopes: servers:write, buckets:read.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "env": {
      "description": "Encrypted environment variables",
      "items": {
        "pattern": "^[A-Z][A-Z0-9_]*=.*$",
        "type": "string"
      },
      "maxItems": 50,
      "type": "array"
    },
    "name": {
      "description": "App name",
      "maxLength": 63,
      "minLength": 1,
      "pattern": "^[a-z0-9-]+$",
      "type": "string"
    },
    "path": {
      "description": "Project directory or ample.toml service",
      "maxLength": 512,
      "minLength": 1,
      "type": "string"
    },
    "release_command": {
      "description": "Migration command run before activation",
      "maxLength": 512,
      "type": "string"
    }
  },
  "required": [
    "env",
    "name",
    "path"
  ],
  "type": "object"
}

Next actions

Actions describe possible next steps. They are typed data, not commands, and grant no permission.