1// The relay's Git repositories: GitWorkshop has a relay page by host, the2// pattern the console already uses. The clone command names the signed-in3// viewer, since a repository here lives at <relay>/<npub>/<repo>.git4// (docs/22-grasp-01-git-hosting.md), so a visitor sees that link left out.5// The owner fills in the repository name when adding the shortcut; the6// input's pattern keeps it to letters, digits, dot, dash and underscore,7// since the value lands inside a quoted shell command and a URL path.8{9 "$schema": "https://bind.ws/connection-template.schema.json",10 "format": "bind.ws/connection-template/1",11 "title": "Repos",12 "about": "This relay's Git repositories, and the clone command for yours.",13 "app": "GitWorkshop",14 "where": "web, terminal",15 "icon": "git",16 "feature": "grasp",17 "visibility": "public",18 "inputs": [19 { "name": "repo", "label": "Repository name", "placeholder": "my-project", "default": "<repo>", "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,63}$" }20 ],21 "links": [22 { "label": "Open", "href": "https://gitworkshop.dev/relay/{relay:host|enc}" },23 { "label": "Copy clone command", "copy": "git clone '{relay:web}/{user:npub}/{input:repo}.git'" }24 ]25}