page:blueprints:developer tools:asset library:next js

Developer tools: asset library using Next.js

Summary

A asset library blueprint for developer tools built with Next.js on Ample. Domain schema:

Public information: versioned API reference and guides, SDK release notes, status page links. Kept out of scope until handling is reviewed: customer API keys and usage logs, private integration details. API keys and usage logs are secrets or personal data; keep them out of documentation workflows. Technical basis verified on Next.js: content-type and size validation that rejects disallowed files, an object written to a private bucket and a row linking the record to the object key (reject=ok upload=ok linked=ok).

Representative Queries

Infrastructure Requirements

Workflow Steps

  1. Model the developer tools domain: Create the tables customer_workspaces, doc_versions, sdk_releases, customer_assets, uploads. Customer organizations live in customer_workspaces; keep the sensitive classes (customer API keys and usage logs, private integration details) out of this schema.
  2. Model assets linked to their owning group or workspace.
  3. Validate uploads and store them in the private bucket; link each object to its row.
  4. Authorize downloads by membership.
  5. Deploy: Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
    • Command: ample deploy . --name --public --env S3_ENDPOINT=... --env S3_REGION=... --env S3_BUCKET=... --env S3_ACCESS_KEY_ID=... --env S3_SECRET_ACCESS_KEY=...
  6. Verify: Run the pattern self-test(s) from the example (/p/browser-file-uploads) and your own acceptance checks for the developer tools workflow.
    • Command: ample logs --kind build

Costs

Success Checks

Limitations