{"id":51480318,"url":"https://github.com/paradise-runner/belay","last_synced_at":"2026-07-07T01:01:11.600Z","repository":{"id":362777675,"uuid":"1260736213","full_name":"paradise-runner/belay","owner":"paradise-runner","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-05T20:43:13.000Z","size":877,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T22:20:28.762Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paradise-runner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-05T20:19:11.000Z","updated_at":"2026-06-05T20:43:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/paradise-runner/belay","commit_stats":null,"previous_names":["paradise-runner/belay"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/paradise-runner/belay","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradise-runner%2Fbelay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradise-runner%2Fbelay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradise-runner%2Fbelay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradise-runner%2Fbelay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paradise-runner","download_url":"https://codeload.github.com/paradise-runner/belay/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradise-runner%2Fbelay/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35210429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-07T01:01:10.585Z","updated_at":"2026-07-07T01:01:11.443Z","avatar_url":"https://github.com/paradise-runner.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# belay\n\n`belay` is a small CLI for creating opinionated project folders and repos.\n\n\u003cimg width=\"200\" alt=\"prek\" src=\"logo.png\" /\u003e\n\n## Python Projects\n\n```sh\nbelay py something\n```\n\nThis creates `./something` as a uv-compatible Python package with:\n\n- `pyproject.toml`\n- `src/\u003cmodule\u003e/`\n- `tests/`\n- `.python-version`\n- `uv.lock`\n- `.git/` with initial branch `main`\n- `ruff`, `ty`, and `pytest` added through `uv add --dev`\n- `py.typed` for typed package distribution\n\nBelay shells out to uv for the project setup:\n\n```sh\nuv init --lib --python \u003cversion\u003e --name \u003cname\u003e --no-description --author-from none --vcs none --no-workspace \u003cpath\u003e\nuv add --dev ruff ty pytest\n```\n\nThe default Python target is `3.13`:\n\n```sh\nbelay py something --python 3.14\n```\n\n## Rust CLI Projects\n\n```sh\nbelay rs-cli something\n```\n\nThis creates `./something` as a polished Rust CLI with:\n\n- `Cargo.toml`\n- `src/main.rs`\n- `src/lib.rs`\n- `tests/smoke.rs`\n- `.git/` with initial branch `main`\n- `clap` with styled help output\n- `color-eyre` for ergonomic error reporting\n\n## Go CLI Projects\n\n```sh\nbelay go-cli something\n```\n\nThis creates `./something` as a polished Go CLI with:\n\n- `go.mod`\n- `main.go`\n- `cmd/root.go`\n- `cmd/root_test.go`\n- `.git/` with initial branch `main`\n- `cobra` for command structure and help output\n\nBelay owns repository initialization and runs:\n\n```sh\ngit init -b main\n```\n\nThis keeps the initial branch policy independent of scaffold tool defaults.\n\n## Shell Integration\n\nA binary cannot directly change its parent shell's current directory. `belay`\nsolves that by installing a shell function that delegates project creation to\nthe Rust binary, captures the new directory, and then runs `cd` in the shell.\n\n```sh\nbelay shell install fish\nbelay shell install bash\nbelay shell install zsh\n```\n\nAfter restarting or sourcing the shell config:\n\n```sh\nbelay py something\nbelay rs-cli cli-demo\nbelay go-cli go-demo\npwd\n```\n\n## Appearance\n\nIn an interactive terminal, `belay` queries the configured background color and\nuses pink accents with white text on dark backgrounds, or purple accents with\nblack text on light backgrounds. If the terminal does not report a background\ncolor, the dark theme is used.\nThe block `BELAY` banner keeps a pink-to-purple-to-blue cascade with shades\nselected for contrast against the detected background.\n\nSet `BELAY_BACKGROUND=dark` or `BELAY_BACKGROUND=light` to override detection.\nSet `NO_COLOR=1` to disable styled output.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparadise-runner%2Fbelay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparadise-runner%2Fbelay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparadise-runner%2Fbelay/lists"}