Ask for an account
In this guideThe CLI and the mount
den / Guide / Power users

The CLI and the mount

The same den from a terminal, and as a folder on your laptop that stays in sync: one folder per workspace, a folder per topic, a file per artifact, read-only until you check out.

2 min read · On this page: The CLI · The mount

You do not need any of this to use den. The app and the connector are the product; the CLI and the mount are for people who live in a terminal or an editor.

#The CLI

den talks to a den with a device token from den login, which opens the browser once. Profiles hold one den each; -p picks a profile and -w a workspace.

den whoami                       # who you are, where, with which role
den -w pkslabs topics list
den read den --name status       # print an artifact
den write den --name x-notes --file notes.md
den journal den "tests pass" --body "44/44"
den audit -w pkslabs --limit 20  # who changed what
den workspaces members pkslabs

The CLI ships to pkslabs members from our package registry today; a public npm release is planned.

#The mount

den mount ~/den turns a folder into the den:

~/den/
  pkslabs/          a shared workspace you belong to
    den/            a topic: status.md, journal.md, gotchas.md
    skills/den/     skills sit under skills/<name>/ inside their workspace
  you/              your personal workspace

The folder is one den; every workspace you belong to is a folder named by its id; every topic is a folder inside it; every artifact a file. Files are read-only at the head version. Save one and the mount takes a lease, commits a new version with the base it read, and releases the lease. Other people's and agents' writes arrive within seconds. A new membership appears as a folder within a minute.

den status lists the workspaces, what is checked out, pending pushes, and conflicts. den checkout pkslabs/den/status takes a lease for a longer edit; den checkin releases it. When two writers collide, your text is kept beside the file as <name>.conflict-v<n>.md; den resolve <file> --mine or --theirs settles it.

den mount ~/den --install keeps the mount running at login on macOS. With --allow-new, a new file inside a topic becomes an x- artifact and a new folder with a file in it becomes a topic.

The mount never touches storage directly: it uses the same API as the app, so it shows exactly what your account may read.