Applications are in closed beta and connect to GitHub through a GitHub credential. The import creates the repository under that credential’s account (or an owner you name), so the credential needs the Ankra GitHub App installed there.
What the import does
Every artboard (<Name>.dc.html) becomes a page under site/ in the repository: Main.dc.html is index.html, the rest take their name (Pricing.dc.html becomes pricing.html), and a canvas with several artboards gets a canvas.html front door listing them by their canvas titles and pages. Images travel along under site/assets/. The Dockerfile serves the site with busybox httpd on port 8080 as a non-root user, which is what the generated Kubernetes manifests expect. A .ankra/design-import.json file records what was imported, so running the same import again registers the same repository without a second commit.
1. Export the design
In Claude Design, export the canvas. Any of these shapes work:- a folder holding the artboards (
Main.dc.html,Pricing.dc.html, …),canvas.jsonand any images; - a zip of that folder;
- a single artboard file;
- a saved canvas page (
.html) - the page Claude Design publishes, which carries the artboards inside it.
2. Import it
- CLI
- Portal
- API
--wait follows the analysis and prints the setup pull request when it opens. -o json returns the application id, the repository, the pages and any warnings as one document.3. Merge, build, deploy
From here the application is an ordinary one. Ankra opens the setup pull request with the manifests, chart and build workflow (it keeps the committed Dockerfile), the merge builds and publishes the image, and you deploy it to a cluster:Artboards that use template logic
An artboard is served as it was authored. Artboards that only use markup and styles look exactly as they did on the canvas. Artboards that depend on the Claude Design runtime -{{ }} holes, sc-for or sc-if blocks, dc-import components, or a data-dc-script logic block - are imported too, but the import reports each of them as a warning: without the runtime they may not render as they did in the editor. Replace the logic with plain markup in Claude Design and import again, or edit the page under site/ in the repository; every push builds and deploys.
Importing again
The repository keeps.ankra/design-import.json, a record of the files the import was built from. Running the import again with the same export finds that record and registers without committing; running it with a changed export is refused for now - import into a new repository name, or edit the pages in the repository directly.