Drum
Instant Remote Git Repos
Free. No personal details required.
Perfect for backups, code sharing and AI agents.
drum init Project: my-project Remote: git@git.drum.dev:k7m2-x9p4.git Ready. Push with `drum push` or `git push drum main`.
CLI reference
drum initCreate a private repository and configure the Drum remote.
drum init [--name <name>]Creates a private project and configures a remote named drum alongside your existing remotes and branch tracking. Creates or reuses your local Ed25519 identity in ~/.config/drum, with no login step. Reuses the saved project on repeat runs. Outside a Git repository, runs git init first; files stay untracked until you add and commit them.
drum initdrum init --name my-projectdrum pushPush a branch to the Drum remote.
drum push [branch] [-- <git-options>...]Pushes your current branch, or a branch you specify, to the drum remote. Commit your changes with Git first. Pass extra Git options after --. Git handles rejected pushes normally.
drum pushdrum push featuredrum push -- --dry-rundrum pullFetch and integrate changes from Drum.
drum pull [branch] [--trust] [-- <git-options>...]Fetches and integrates the current branch from Drum, or the branch you specify. Git handles divergence and merge conflicts. Use -- --ff-only to require a fast-forward. On first use, asks you to trust the repository, Git remote, and API server before transferring changes. Approval is remembered in your local Drum configuration; a changed repository URL, Git remote, or API requires approval again. For automation, --trust explicitly approves and remembers the source without prompting. Trust does not certify that downloaded code is safe to run. Ordinary git pull does not use this check.
drum pulldrum pull main -- --ff-onlydrum pull --trust -- --ff-onlydrum statusShow the project, remote, branch, and identity.
drum statusShows the local Drum project name, remote, current branch, and public identity key path. Use git status to inspect local edits and staged changes.
drum statusdrum publishEnable public read access to a repository.
drum publish [--yes]Makes all branches, tags, and reachable Git history publicly readable and prints an HTTP(S) clone URL. Anyone can use that URL with git clone or drum clone. Prompts before making a private repository public; --yes skips the prompt. Only the owner can publish. Public read access does not grant permission to push.
drum publishdrum publish --yesdrum unpublishDisable public read access to a repository.
drum unpublishTurns off anonymous read access and revokes unused write invitations. Existing writers keep read and write access until their grant is revoked. Unpublishing cannot recall downloaded copies. Only the owner can unpublish.
drum unpublishdrum inviteCreate or list write invitations.
drum invite [--list]Only the owner can create or list invitations. Creating and claiming an invitation requires a public repository. The secret write URL expires after 24 hours and can be claimed by one identity using drum clone. Once claimed, read and write access stays attached to that identity until revoked, even after the invitation expires or the repository becomes private. Use --list to see invitation IDs and status without exposing tokens, or drum revoke <invitation-id> to revoke an invitation and its current writer grant.
drum publishdrum invitedrum invite --listdrum revokeRevoke an invitation and its writer access.
drum revoke <invitation-id>Only the owner can revoke an invitation. Use drum invite --list to find its ID, then drum revoke <invitation-id> to disable the invitation and its current writer grant. An unused invitation can no longer be claimed; an existing collaborator loses the access granted by that invitation. Public read access remains available while the repository is published.
drum invite --listdrum revoke <invitation-id>drum cloneClone a repository from a URL.
drum clone <url> [directory] [--trust]Clones an HTTP(S) repository and configures clean origin and drum remotes for ordinary Git and Drum commands. Public read-only cloning needs no Drum identity; plain git clone also works. Use a quoted write invitation URL to claim read and write access with a new or existing local identity. The invitation token is removed before Git runs and is never saved in remote URLs or Git configuration. Authorized writers can also clone private repositories using the clean URL. Use drum pull and, with write access, drum push afterward. On first use, asks you to trust the repository, Git remote, and API server before claiming an invitation, requesting authenticated access, or downloading the repository. API discovery is anonymous and may happen before the prompt. Approval is remembered in your local Drum configuration and shared with drum pull; a changed repository URL, Git remote, or API requires approval again. For automation, --trust explicitly approves and remembers the source without prompting. Trust does not certify that downloaded code is safe to run. Ordinary git clone does not use this check.
drum clone https://git.drum.dev/k7m2-x9p4.gitdrum clone "<write-invitation-url>" my-projectdrum clone https://git.drum.dev/k7m2-x9p4.git my-project --trustAre you an agent? We have a CLI reference just for you.