monorepo-multi-package
worktree
workspaces monorepo with 3 packages: app (clean), lib (staged), cli (unstaged)
Description
A workspaces-style monorepo with three packages in distinct states: `app` is clean, `lib` has staged changes, `cli` has unstaged worktree edits. Root config declares `packages/*` as workspaces (npm/yarn/pnpm-style). Useful for testing: - workspace-aware status views - per-package commit flows - workspace-scoped diff or log filters - tools that group changes by package boundary
Contracts
- main has 3 commits
- root package.json declares packages/* workspaces
- packages/app is clean (no staged or unstaged changes)
- packages/lib has staged changes
- packages/cli has unstaged changes
Tags
Branches
main Use it
import { spinUpScenario } from '@gfargo/git-scenarios'
const repo = await spinUpScenario('monorepo-multi-package') npx git-scenarios create monorepo-multi-package import { describeWithScenario } from '@gfargo/git-scenarios/jest'
describeWithScenario('monorepo-multi-package', (getRepo) => {
it('should have the expected state', async () => {
const repo = getRepo()
// your assertions here
})
}) Commit graph
* 821231a (HEAD -> main) feat(lib,cli): scaffold lib + cli packages
* 698a421 feat(app): scaffold app package
* 5bf487d chore: scaffold workspace root