SetFork Docs

Git access

Every list is a git repository — clone, edit list.json, push, branch.

Every SetFork list is backed by a real git repository served over smart HTTP. Anything that speaks git — the CLI, VS Code, CI — can work with lists directly.

Clone

Public lists clone anonymously:

git clone https://setfork.com/{owner}/{slug}.git

Private lists and drafts require an API token as the password (any username):

git clone https://anything:sf_YOUR_TOKEN@setfork.com/you/private-list.git

What's inside

The repository contains list.json — the canonical representation of the list (title, description, tags, type, and blocks: steps, text, polls, quizzes and more). Each published version is one commit, so git log shows the version history and git diff shows what changed between versions.

Push

Pushing requires a token with write scope; you must be the owner or a collaborator.

# edit list.json, then:
git commit -am "tighten the rollback steps"
git push

A push to the default branch is projected back into the platform: it creates a new version of the list, exactly as if you had edited and published in the UI.

Branches and suggestions

Push a branch to propose changes without touching the main line:

git switch -c sharper-steps
git push -u origin sharper-steps

A branch can be turned into a suggestion (SetFork's pull request) and merged by the owner — including conflict resolution when the list moved on since your branch diverged.

Rate limits

Git endpoints are rate-limited per client IP. CI that clones aggressively should cache the repository between runs.

On this page