Create, edit, append to, move, or delete the text files of an app you write for the user, stored on Control Plane per org and app NAME across calls and sessions; NAME is also the image and workload name. With a filesystem and a working cpln CLI, prefer a directory on the machine and cpln image build --remote --dir PATH --name NAME:TAG --org ORG, so the user keeps the code. Whole files in files, a large file in parts through appends, exact-text replacements in edits, removals in deletePaths, moves and renames (uploaded files too) in moves, at most 200 files per call. Files the user has (images, fonts, PDFs, data) never go inline: create_app_files_upload_link takes the ones that stay as they are until the next build, and content the owner changes after launch is uploaded through the app once it runs. Never include credentials or a .env with values. A Dockerfile is optional for common stacks. An app that keeps anything (content its owner changes, records, files, or sign-ins; for example a portfolio, a blog, or a shop): plan_app before the first write. Then deploy_app with the same NAME builds and runs it.