singularity-forge/gitbook/features/teams.md
ace-pm 35dc87ef53 chore: sync workspace state after rebrand
- Rebrand commits already in history (gsd → forge)
- Sync pre-existing doc, docker, and CI config updates
- All rebrand artifacts verified in place:
  * Native crates: forge-engine, forge-ast, forge-grep
  * Log prefixes: [forge] across 22+ files
  * Binary: ~/bin/sf-run
  * Workspace scopes: @sf-run/*, @singularity-forge/*
  * Nix flake: Rust toolchain ready

System ready for: nix develop && bun run build:native

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 14:54:20 +02:00

2.2 KiB

Working in Teams

SF supports multi-user workflows where several developers work on the same repository concurrently.

Quick Setup

The simplest way: set team mode in your project preferences.

# .gsd/PREFERENCES.md (committed to git)
---
version: 1
mode: team
---

This enables unique milestone IDs, push branches, pre-merge checks, and other team-appropriate defaults in one setting.

What Team Mode Does

Setting Effect
unique_milestone_ids IDs like M001-eh88as instead of M001 — no collisions
git.push_branches Milestone branches are pushed to remote
git.pre_merge_check Validation runs before merging

You can override individual settings on top of mode: team.

Configure .gitignore

Share planning artifacts while keeping runtime files local:

# Runtime files (per-developer, gitignore these)
.gsd/auto.lock
.gsd/completed-units.json
.gsd/STATE.md
.gsd/metrics.json
.gsd/activity/
.gsd/runtime/
.gsd/worktrees/
.gsd/milestones/**/continue.md
.gsd/milestones/**/*-CONTINUE.md

What gets shared (committed to git):

  • .gsd/PREFERENCES.md — project preferences
  • .gsd/PROJECT.md — living project description
  • .gsd/REQUIREMENTS.md — requirement contract
  • .gsd/DECISIONS.md — architectural decisions
  • .gsd/milestones/ — roadmaps, plans, summaries, research

What stays local (gitignored):

  • Lock files, metrics, state, activity logs, worktrees

Commit the Config

git add .gsd/PREFERENCES.md
git commit -m "chore: enable SF team workflow"

Keeping .gsd/ Local

For teams where only some members use SF:

git:
  commit_docs: false

This gitignores .gsd/ entirely. You get structured planning without affecting teammates.

Parallel Development

Multiple developers can run auto mode simultaneously on different milestones. Each developer:

  • Gets their own worktree (.gsd/worktrees/<MID>/)
  • Works on a unique milestone/<MID> branch
  • Squash-merges to main independently

Milestone dependencies can be declared:

# In M00X-CONTEXT.md frontmatter
---
depends_on: [M001-eh88as]
---

SF enforces that dependent milestones complete before starting downstream work.