tvk upload packages the workspace containing tableverse.config.ts, uploads it, and starts a Tableverse build.
Tableverse uses the engine and frontend source directories in your config to build the uploaded workspace.
Before the first upload
Make sure your config has apublish block and your project has a lockfile:
Upload
What gets uploaded
The CLI uploads the full project root: the directory containingtableverse.config.ts. This keeps the root package.json, lockfile, workspace packages, and shared files together.
It excludes:
node_modules,.git, and.tableversedirectories.- The frontend build output because Tableverse rebuilds it.
- Local
.envfiles such as.env.local. - Symbolic links.
.env.example remain included. Packaging stops if it finds common private-key or credential files, including .npmrc, .pem, and .key files.
The project root must contain package-lock.json. The engine and frontend use the same npm workspace installation.
Follow the deployment
After the project source uploads, the CLI starts the build and prints a dashboard URL. In an interactive terminal, it also tries to open the page in your browser. The dashboard shows the platform build of:- The engine source into the hosted rules bundle.
- The frontend source into its Vite build output.
- The static files Tableverse serves from that build output.
Upload from CI
Set the game explicitly for an unlinked non-interactive job:TABLEVERSE_GAME_ID overrides the saved project link. Authentication must already be available for the same platform API environment.
Configuration
Configure the engine and frontend source directories.