Storage
8 commands · plm storage
The project's file storage: upload, browse, download, and organize from the terminal.
Every project has a file storage: build artifacts, exports, assets, anything worth keeping next to the work. The CLI covers the whole loop: upload a file, browse the tree, pull it back down, organize with folders. Files uploaded here are the team's; your personal uploads live in My files and can be promoted here with one verb.
Step 1 of 3
Put it where the team looks
One verb from disk to the project. The id comes back for scripting; --folder files it directly where it belongs.
plm file · up$ plm file up ./release-notes.pdf✓ uploaded release-notes.pdffile_c3ba1d24a345full form · plm file up <path> [--folder <id>] [--name <n>]
Step 2 of 3
Browse like a directory
Folders then files, ids first so every row is actionable. Descend with --folder using the id you just read.
plm file · ls$ plm file lsfld_661f5d1ff557 docs/file_c3ba1d24a345 release-notes.pdf 1 KBfull form · plm file ls [--folder <id>]
Step 3 of 3
Pull it back down
get resolves a short-lived signed URL and saves the bytes: the round trip an agent needs to fetch an artifact, transform it, and upload the result.
plm file · get$ plm file get file_c3ba1d24a345✓ saved release-notes.pdffull form · plm file get <file_id> [--out <path>]
Also in this chapter
Create a folder. Prints its fld_… id.
Move a file into a folder, or back to the root.
Rename a file.
Print a short-lived signed URL; --download makes it save-as.
Delete a file.
- Project-scoped: run inside a linked repo (plm link <project-slug>).
- Signed URLs are short-lived and meant for terminals and servers; in the browser the web app proxies instead.
- Personal uploads live in My files (--mine); plm file share promotes one into this storage.