Skip to main content

workspace upload

Server safely extracts archives, validates static metadata and files, hashes sources and saves them. It never installs dependencies, builds projects or loads uploaded code. Without --file, CLI packages according to the project-root .steamharnessignore; .gitignore is unrelated.

steamharness workspace upload <project> [--path <dir>] [--file <archive>] [--create] [--group-id <id>] [--release-log <text>] [--no-wait]
OptionPurpose
--pathLocal project directory.
--fileExisting tar.gz, tgz or zip archive.
--createCreate or reuse the UUID, static projectType and full projectInfo declared by the package.
--group-idSelect a group for initial creation; requires group developer access without promoting the creator.
--release-logPublish after successful upload and save release notes.
--no-waitReturn the file-processing job ID; incompatible with auto-publish or project groups.

Every package declares package.json.steamHarness.projectType. Workflow/Conversation require index.ts; Kanban requires a built HTML artifact. Install dependencies and build frontend assets locally before upload.

File Processing​

POST /api/projects/{projectId}/package returns a job. CLI polls GET /api/projects/{projectId}/preparations/{jobId}. Stages are queued, extracting, validating, committing; statuses are queued, preparing, success, failed. Resume inspection with workspace preparation <project> <jobId>.

Extraction rejects traversal, links, special members and conflicting paths. Failed uploads preserve existing drafts and immutable versions. Explicitly exclude local credentials, dependencies and user data with .steamharnessignore.

Project Groups​

--project-group, --dependency <alias>=<path> or --publish-group enables groups. The root must be Kanban. Included projects require confirmed reciprocal relationships; remaining dependencies stay external. Server validates all permissions, reserves versions and publishes exact dependency locks.

Groups do not transfer local KV, PersistentValue, file stores, run history, environment variables or account settings. Authorized local clients write remote data through the data APIs.

steamharness workspace upload hello --path ./hello --create --release-log "First release"
steamharness workspace upload dashboard --path ./dashboard --dependency data=./data-project --publish-group

Existing project uploads and publication require developer access. Uploads cannot change management metadata, icons, visibility or ownership. --group-id selects ownership independently of the --project-group source bundle option.