This branch is prepared to be copied into a new public GitHub repository without private Git history.
- Create an empty public repository (recommended:
ioai-tech/lerobot-studio). - Copy the final worktree (exclude
.git,node_modules,dist, build caches):
rsync -a --exclude '.git' --exclude 'node_modules' --exclude 'dist' \
--exclude 'dist-lib' \
./ /path/to/lerobot-studio-public/- Initialize a clean history:
cd /path/to/lerobot-studio-public
git init -b main
git add .
git commit -m "chore: initial public release of LeRobot Studio"
git remote add origin git@github.com:ioai-tech/lerobot-studio.git
git push -u origin main-
Configure GitHub (these are manual administrator actions; the files in this repository do not enable repository or organization settings):
- In Settings → Actions → General, set the default workflow token to read-only and leave “Allow GitHub Actions to create and approve pull requests” disabled.
- In the fork pull-request settings, do not send write tokens or Actions
secrets to workflows from forks. Require approval for first-time or
outside contributors. The checked-in PR workflows use
pull_requestrather thanpull_request_target, request read-only contents by default, and do not consume repository secrets. - Create a branch ruleset for
main: require a pull request, at least one approval, CODEOWNERS review, conversation resolution, and successful required checks; block force pushes and deletion. Select the CI jobs (quality,browser-tests, andofficial-compat), Dependency Review, and CodeQL checks after they have run once so GitHub exposes their exact check names. - Create the
@ioai-tech/maintainersteam referenced byCODEOWNERS, or replace that placeholder with an existing team that has write access - In Settings → Code security, enable the dependency graph, Dependabot alerts and security updates, secret scanning and push protection, and private vulnerability reporting. Use the checked-in CodeQL advanced-setup workflow; do not also enable CodeQL default setup.
- Verify the Dependency Review, CodeQL, and OpenSSF Scorecard workflows
succeed. Scorecard publication sends public repository assessment data to
api.scorecard.dev; disablepublish_resultsin.github/workflows/scorecard.ymlif that publication is not desired. - Keep GitHub Actions restricted to GitHub-authored and explicitly approved third-party actions where organization policy supports it. All non-release workflows are pinned to full commit SHAs and Dependabot is configured to propose GitHub Actions updates.
- Add a one-time
NPM_BOOTSTRAP_TOKENrepository secret for the initialv1.0.0publication. npm cannot configure a trusted publisher before the scoped package exists. - Immediately after
v1.0.0exists, configure npm Trusted Publishing forioai-tech/lerobot-studioand.github/workflows/release.yml, then delete the bootstrap secret. Later releases use GitHub OIDC and no npm token. - Enable GitHub Packages / GHCR permissions for Actions
- Add a tag ruleset for
v*so only release maintainers can create or update release tags. - Verify Actions workflows run on the first PR
- In Settings → Pages, choose GitHub Actions as the source, run the
Documentation Pages workflow, and verify the project Pages URL. A custom
docs.lerobot.studiodomain and its DNS records are optional later administrator work; they are not preconfigured by this repository. - Connect the repo to Cloudflare Workers Builds for
main→ https://lerobot.studio (no Cloudflare API tokens needed in GitHub Secrets; use Cloudflare’s Git integration) - Confirm Worker
lerobot-studioand custom domainlerobot.studioremain bound
-
Complete every gate in Compatibility, including exact dataset-version handling and official training-readiness validation.
-
Run the
Release Dry Runworkflow. It executes the reusable CI,npm publish --dry-run, CycloneDX SBOM generation, and a no-push container build without requiring release credentials. -
Follow Governance to approve and cut the stable
v1.0.0release. Published npm versions, container tags, and GitHub release artifacts are immutable; the release attaches the SBOM and provenance.