Multi-repo projects: implementation and tests #4

Open
opened 2026-10-01 09:20:28 +00:00 by jan · 0 comments
Owner

Depends on #3 (Multi-repo projects: design).

Tasks

  • Manifest parser in lib/agentbox-common.sh (parsed, not sourced;
    unknown keys are errors, like the config).
  • agentbox init in a non-Git project root writes a manifest skeleton.
  • create: one VM, all repos cloned into the sibling layout, each with
    only a host remote; agent-workspace-init re-asserts all of them.
  • fetch / diff / merge / sync / status per repo, via the
    bundle path from the design.
  • remove refuses while any repo has commits the host does not have.
  • Briefing and agentbox-orient describe all repos: which have waiting
    host commits, which have uncommitted changes.
  • Single-repo projects keep working unchanged (or migrate, per design).

Tests

  • Offline suite: mock sbx gains enough to simulate bundles moving
    through sbx cp.
  • e2e: a synthetic multi-repo fixture in .e2e-workspace/: three
    small repos where one imports another through a relative sibling path,
    plus a fake data folder. No real project data in tests or fixtures.
Depends on #3 (Multi-repo projects: design). ## Tasks - [ ] Manifest parser in `lib/agentbox-common.sh` (parsed, not sourced; unknown keys are errors, like the config). - [ ] `agentbox init` in a non-Git project root writes a manifest skeleton. - [ ] `create`: one VM, all repos cloned into the sibling layout, each with only a `host` remote; `agent-workspace-init` re-asserts all of them. - [ ] `fetch` / `diff` / `merge` / `sync` / `status` per repo, via the bundle path from the design. - [ ] `remove` refuses while any repo has commits the host does not have. - [ ] Briefing and `agentbox-orient` describe all repos: which have waiting host commits, which have uncommitted changes. - [ ] Single-repo projects keep working unchanged (or migrate, per design). ## Tests - [ ] Offline suite: mock `sbx` gains enough to simulate bundles moving through `sbx cp`. - [ ] e2e: a **synthetic** multi-repo fixture in `.e2e-workspace/`: three small repos where one imports another through a relative sibling path, plus a fake data folder. No real project data in tests or fixtures.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jan/agentbox#4
No description provided.