Skip to content

feat(org-workspace): add org-workspace feature - #92

Merged
baxyz merged 1 commit into
mainfrom
feat/org-workspace
Sep 9, 2026
Merged

baxyz merged 1 commit into
mainfrom
feat/org-workspace

Conversation

@baxyz

@baxyz baxyz commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • New org-workspace feature: clones every repo of a GitHub org into sibling /workspaces folders (persisted across rebuilds via a ${devcontainerId}-scoped named volume, not a host bind-mount) and generates or merges a multi-root .code-workspace file at the bootstrap repo's own root.
  • org auto-detects from the bootstrap repo's own origin remote via gh repo view when left empty; repos (explicit list) takes precedence over autoDiscover (a comma-separated token list: public/private/internal/fork/archived, or the shorthand true/false).
  • Never touches anything already present at a sibling path (existing bind-mount, manual clone, prior run) — clone/link is additive only.
  • .code-workspace generation merges into an existing file's folders array (deduplicated) rather than overwriting it, leaving settings/extensions/launch/etc. untouched.
  • Depends on helpers4-common (for h4_ensure_volume_writable) and github-dev (for an authenticated gh CLI) via dependsOn.
  • Wired into scopes.json, both CI matrices (pr-validation.yml, test.yml), and the AGENTS.md features table.

Test plan

  • jq empty src/org-workspace/devcontainer-feature.json
  • bash -n clean on install.sh and test/org-workspace/test.sh
  • devcontainer features test --features org-workspace --base-image mcr.microsoft.com/devcontainers/base:debian . — image builds, options resolve correctly, install.sh runs and installs clone-repos.sh (container launch itself hit an unrelated sandbox-local Docker bind-mount quirk, not exercised by CI)
  • Generated clone-repos.sh logic manually exercised end-to-end against the real helpers4 GitHub org (fresh clone, idempotent re-run, already-present skip, .code-workspace merge preserving unrelated keys, all autoDiscover token combinations, dotfile-named repos like .dev/.github)
  • CI (pr-validation.yml) green

🤖 Generated with Claude Code

Clones every repo of a GitHub org into sibling /workspaces folders
(persisted across rebuilds via a named volume) and generates or merges a
multi-root .code-workspace file, so one bootstrap repo can bring in an
entire org's worth of repos with a single feature reference instead of
hand-written mounts and workspace files per project.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

✅ PR Validation Passed

All checks passed!


📋 Pipeline Status

Job Status
🧾 Conventional Commits passing
🔖 Version Bump passing
🧪 Feature Tests passing
🐚 ShellCheck passing

🤖 Generated by @helpers4 CI • 2026-09-08

@baxyz
baxyz merged commit d7404e2 into main Sep 9, 2026
41 checks passed
@baxyz
baxyz deleted the feat/org-workspace branch September 9, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant