{"id":47779776,"url":"https://github.com/mblode/spotlight-testing","last_synced_at":"2026-04-03T13:01:03.104Z","repository":{"id":348421100,"uuid":"1197969306","full_name":"mblode/spotlight-testing","owner":"mblode","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-01T04:21:27.000Z","size":115,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-01T05:50:11.823Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/mblode.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":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"mblode"}},"created_at":"2026-04-01T02:46:27.000Z","updated_at":"2026-04-01T04:21:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mblode/spotlight-testing","commit_stats":null,"previous_names":["mblode/spotlight-testing"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mblode/spotlight-testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblode%2Fspotlight-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblode%2Fspotlight-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblode%2Fspotlight-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblode%2Fspotlight-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mblode","download_url":"https://codeload.github.com/mblode/spotlight-testing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblode%2Fspotlight-testing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31352315,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T08:03:20.796Z","status":"ssl_error","status_checked_at":"2026-04-03T08:00:37.834Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-04-03T13:00:23.730Z","updated_at":"2026-04-03T13:01:03.062Z","avatar_url":"https://github.com/mblode.png","language":"TypeScript","funding_links":["https://github.com/sponsors/mblode"],"categories":[],"sub_categories":[],"readme":"# spotlight-testing\n\nRun your worktree changes in the repo root, without rebuilding your whole setup from scratch.\n\n## Why\n\nUse `spotlight-testing` when your app only really works from the repo root.\n\nIt helps when your first build is slow, your dev setup depends on one shared Docker or database setup, or you want to test worktree changes without spinning up another full environment.\n\n## How\n\n`spotlight-testing` creates checkpoint refs from your worktree and restores them into the repo root.\n\nIt watches for changes and updates the repo root on save, so hot reload can keep doing its job.\n\nIt is one-way: edit in the worktree, test in the repo root.\n\nWhen you stop, it restores the repo root to the state it had before Spotlight started. Tracked, staged, and untracked changes in the repo root are captured in that restore checkpoint and brought back on exit. Ignored files stay untouched.\n\n## What\n\nInstall:\n\n```bash\nnpm install -g spotlight-testing\n```\n\nRequires Node.js 22+ and macOS.\n\nStart from inside a linked worktree:\n\n```bash\nspotlight-testing\n```\n\nIf Spotlight cannot infer the repo root, pass it explicitly:\n\n```bash\nspotlight-testing on --target ../my-repo\n```\n\nStop and restore the repo root:\n\n```bash\nspotlight-testing off\n```\n\nCheck whether Spotlight is running:\n\n```bash\nspotlight-testing status\n```\n\n`spotlight-testing on` and `spotlight-testing off` stay quiet by default. Run `spotlight-testing status` when you need the detailed active-session view.\n\nUntracked, non-ignored files in the worktree are included in checkpoint sync by default. There is no stash-based preserve flow and no `--protect` or `--include-untracked` flag.\n\n## License\n\n[MIT](apps/cli/LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmblode%2Fspotlight-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmblode%2Fspotlight-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmblode%2Fspotlight-testing/lists"}