Skip to content

Make prototypes API-ready for records-backed vibing

Choose a tag to compare

@pglevy pglevy released this 22 Apr 02:22
· 36 commits to main since this release
c0cc03f

Summary

Adds the API-Ready Prototyping workflow to the Sailwind Starter template. Every prototype built with this template now follows a data layer convention that makes it "transition-ready" — the mock data layer can be swapped for real Appian API calls with minimal friction, and an importable Appian app package can be generated directly from the prototype.

What changed

Data layer convention

  • New src/db/ directory with typed async CRUD functions per entity
  • Steering file (.kiro/steering/data-layer.md) ensures agents always use this pattern
  • Example entity modules: lists.ts, cards.ts, users.ts, types.ts
  • New src/db/api-config.ts for configurable API base URL and auth headers

Pages

  • Replaced the old example pages (task-dashboard, application-status, document-review) with a kanban-board page that demonstrates the src/db/ convention
  • Updated home.tsx and App.tsx routes accordingly

Skills (.kiro/skills/)

Four new skills that form a pipeline from prototype → production Appian app:

Skill Purpose
extract-prototype-contract Reads src/db/, produces appian-output/api-contract.json
generate-appian-app Takes contract, produces importable Appian app ZIP + DDL
deploy-to-appian Deploys the package to an Appian environment via Deployment API
connect-to-appian Rewrites src/db/ to use real fetch calls

All skills have proper YAML frontmatter (name + description) per the agent skills spec. Trigger phrases are in the description field. No example-specific assumptions — works with any app's entity modules.

Contract schema

  • schemas/api-contract.schema.json — normative JSON Schema for the API_Contract structure shared across skills

How to test

  1. Build the prototype pages using the src/db/ convention (the kanban board is a working example)
  2. Invoke "extract the API contract" — should produce appian-output/api-contract.json
  3. Invoke "generate the Appian app" — should produce a ZIP + DDL in appian-output/
  4. (Optional) Deploy to an Appian environment and invoke "connect to Appian" to swap mock data for real API calls

Notes

  • The data-layer.md steering file is intentionally at the top level (not inside a skill) because it guides all page development, not just the Appian pipeline skills
  • "Task Dashboard" and "TD" appear in skills only as illustrative examples — nothing assumes specific record types or entity names