plmhub
All commands

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.

  1. 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.pdf
    file_c3ba1d24a345

    full form · plm file up <path> [--folder <id>] [--name <n>]

  2. 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 ls
    fld_661f5d1ff557 docs/
    file_c3ba1d24a345 release-notes.pdf 1 KB

    full form · plm file ls [--folder <id>]

  3. 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.pdf

    full form · plm file get <file_id> [--out <path>]

Also in this chapter

plm file · mkdir
$ plm file mkdir "<name>" [--parent <id>]
✓ folder exports
fld_9a01b2c3d4e5

Create a folder. Prints its fld_… id.

plm file · mv
$ plm file mv <file_id> --folder <folder_id|root>
✓ moved file_c3ba1d24a345

Move a file into a folder, or back to the root.

plm file · rename
$ plm file rename <file_id> <new name>
✓ renamed file_c3ba1d24a345 → release-notes-v2.pdf

Rename a file.

plm file · url
$ plm file url <file_id> [--download]

Print a short-lived signed URL; --download makes it save-as.

plm file · rm
$ plm file rm <file_id>
✓ deleted file_c3ba1d24a345

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.