Skip to content

overlane docs pins

Read version pins from the project's lockfiles

Updated View as MarkdownOpen in ChatGPTOpen in Claude

Sends the lockfiles (npm, pnpm, yarn, pip, uv, cargo, go) to the service, which stores one pin per library for the project. Later queries with –project answer from the pinned version. Without –lockfile, the lockfiles in the current directory are used. Only the lockfile text is sent; it is read, never run.

Usage

overlane docs pins [--service URL] [--team TENANT_ID] --project PROJECT_ID [--lockfile PATH] [--dry-run]

Flags

Flag Type Required Default Description
--service string no The service address (default: OVERLANE_SERVICE_URL, then the project’s binding, then the hosted service)
--team string no The team (tenant) to act on (default: the one your token belongs to)
--project string yes The project whose lockfile pins choose the version
--lockfile string no A lockfile to read (repeat for more; default: those in the current directory)
--dry-run boolean no Print the requests and file changes this command would make, then stop. Needs no credentials.

Examples

overlane docs pins --project prj_1
overlane docs pins --project prj_1 --lockfile pnpm-lock.yaml --lockfile requirements.txt --dry-run

Behavior

  • Effect: write (changes local or hosted state).
  • Needs credentials: yes. Uses the network: yes.
  • Supports --dry-run: yes. Accepts --force: no.
  • Machine-readable description: overlane schema docs pins.

Result

With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.

{
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "tenantId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
          "description": "tenant identifier"
        },
        "operation": {
          "type": "string",
          "const": "pins"
        },
        "projectId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
          "description": "project identifier"
        },
        "dryRun": {
          "type": "boolean"
        },
        "pins": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "ecosystem": {
                "type": "string",
                "enum": [
                  "npm",
                  "pypi",
                  "cargo",
                  "go"
                ]
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 214,
                "pattern": "^[@A-Za-z0-9][@A-Za-z0-9._/~-]*$"
              },
              "version": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "pattern": "^[0-9A-Za-z][0-9A-Za-z.+_~-]*$"
              },
              "source": {
                "type": "string",
                "enum": [
                  "npm",
                  "pnpm",
                  "yarn",
                  "pip",
                  "uv",
                  "cargo",
                  "go"
                ]
              }
            },
            "required": [
              "ecosystem",
              "name",
              "version",
              "source"
            ],
            "additionalProperties": false
          }
        },
        "replaced": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "tenantId",
        "operation",
        "projectId",
        "dryRun",
        "pins",
        "replaced"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "dryRun": {
          "type": "boolean",
          "const": true
        },
        "service": {
          "type": "string"
        },
        "requests": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "method": {
                "type": "string"
              },
              "path": {
                "type": "string"
              },
              "body": {},
              "note": {
                "type": "string"
              }
            },
            "required": [
              "method",
              "path"
            ],
            "additionalProperties": false
          }
        },
        "commands": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "writes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string"
              },
              "action": {
                "type": "string",
                "enum": [
                  "write",
                  "append",
                  "delete"
                ]
              },
              "description": {
                "type": "string"
              }
            },
            "required": [
              "path",
              "action",
              "description"
            ],
            "additionalProperties": false
          }
        },
        "notes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "dryRun",
        "requests",
        "commands",
        "writes",
        "notes"
      ],
      "additionalProperties": false
    }
  ]
}

See exit codes for the status the process returns.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.