Skip to main content
The Xano SDK keeps its state in plain files. Commit the ones that describe the project; keep the ones that hold values, credentials or per-machine records out of git. A scaffolded project’s .gitignore already does this, and xanosdk init in an existing app adds the same rules as a managed block.

Project files

A compiled bundle carries your backend’s env values and documentation tokens in cleartext. The scaffold ignores workspace.json, but not a bundle written to any other --out path. Keep every bundle out of git and out of shared build artifacts, and delete it after the deploy.
Everything under xano/ except .env and .secrets.json is committed: the source is what a reviewer reads. Do not ignore xano/ wholesale. Ignoring xano.lock makes every build mint new identities, so a rename becomes a delete and a create. See Git and merges. On a fresh clone, copy xano/.env.example to xano/.env and fill in the values, or run npx xanosdk env pull to read them from a running backend. See Env and secrets.

Files on your machine

These live in your home directory and are shared by every project. Which credential file a command reads: --config or XANO_CONFIG first, then the project’s .xano/auth.json when it exists, then ~/.xanosdk/auth.json. The XANO_INSTANCE_URL, XANO_WORKSPACE_ID and XANO_META_TOKEN variables outrank every file. See Environment & identity.

Next