Skip to main content

Documentation Index

Fetch the complete documentation index at: https://code.storage/docs/llms.txt

Use this file to discover all available pages before exploring further.

The SDK automatically creates secure Git URLs with embedded JWT authentication.
// Default: read/write access, 1-year TTL
const url = await repo.getRemoteURL();

// Read-only access with 1-hour TTL
const readOnlyUrl = await repo.getRemoteURL({
  permissions: ["git:read"],
  ttl: 3600,
});

// CI/CD pipeline with extended permissions
const ciUrl = await repo.getRemoteURL({
  permissions: ["git:read", "git:write"],
  ttl: 86400, // 24 hours
});

// Disable force push on every branch
const safePushUrl = await repo.getRemoteURL({
  refPolicies: [{ pattern: "refs/heads/*", ops: ["no-force-push"] }],
});

Options

permissions
string
Array of permissions. Defaults to ["git:read", "git:write"].
ttl
string
Token TTL. Token TTL in seconds. Defaults to 1 year.
refPolicies
object[]
Ordered per-ref policy rules. Each entry is { pattern, ops? }, and the first pattern that matches the target ref wins. An entry with no ops is an explicit allow. Patterns without a refs/ prefix are normalized as branch names (main becomes refs/heads/main). The Python SDK names this option ref_policies. The Go SDK names it RefPolicies with type storage.RefPolicyList. Available operations:
OperationConstantDescription
no-force-pushOP_NO_FORCE_PUSH (TypeScript/Python) / OpNoForcePush (Go)Rejects non-fast-forward updates.
no-pushOP_NO_PUSH (TypeScript/Python) / OpNoPush (Go)Rejects any update to the matched ref.
See the Branch Protection guide for full details.

Available Permissions

PermissionDescription
git:readRead access to Git repository
git:writeWrite access to Git repository
repo:writeCreate a repository

Ephemeral Remote URL

Use getEphemeralRemoteURL() (TypeScript), get_ephemeral_remote_url() (Python), or EphemeralRemoteURL() (Go) to generate URLs that point to the ephemeral namespace. This is useful for temporary branches that shouldn’t sync to upstream mirrors. See the Ephemeral Branches guide for more details.

Import Remote URL

Use getImportRemoteURL() (TypeScript), get_import_remote_url() (Python), or ImportRemoteURL() (Go) to generate URLs that point to the +import push namespace. Pushing to this URL triggers immediate cold-storage archival after pack distribution. See the Imports guide and getImportRemoteURL() reference for details.

Response

Returns a string containing the HTTPS Git remote URL with embedded JWT authentication:
https://t:{jwt}@{org}.code.storage/{repo-id}.git
For ephemeral URLs:
https://t:{jwt}@{org}.code.storage/{repo-id}+ephemeral.git
For import URLs:
https://t:{jwt}@{org}.code.storage/{repo-id}+import.git