- All gsdDir/gsdRoot/gsdHome → sfDir/sfRootDir/sfHome - GSDWorkspace* → SFWorkspace* interfaces - bootstrapGsdProject → bootstrapProject - runGSDDoctor → runSFDoctor - GsdClient → SfClient, gsd-client.ts → sf-client.ts - .gsd/ → .sf/ in all tests, docs, docker, native, vscode - Auto-migration: headless detects .gsd/ → renames to .sf/ - Deleted gsd-phase-state.ts backward-compat re-export - Renamed bin/gsd-from-source → bin/sf-from-source - Updated mintlify docs, github workflows, docker configs
77 lines
1.8 KiB
Text
77 lines
1.8 KiB
Text
---
|
|
title: "Working in teams"
|
|
description: "Multi-user workflows with unique milestone IDs, push branches, and shared planning artifacts."
|
|
---
|
|
|
|
SF supports multi-user workflows where several developers work on the same repository concurrently.
|
|
|
|
## Setup
|
|
|
|
### 1. Set team mode
|
|
|
|
```yaml
|
|
# .sf/PREFERENCES.md (project-level, committed to git)
|
|
---
|
|
version: 1
|
|
mode: team
|
|
---
|
|
```
|
|
|
|
This enables unique milestone IDs, push branches, and pre-merge checks in one setting. Override individual settings on top of `mode: team` as needed.
|
|
|
|
### 2. Configure `.gitignore`
|
|
|
|
Share planning artifacts while keeping runtime files local:
|
|
|
|
```bash
|
|
# Runtime / ephemeral (per-developer)
|
|
.sf/auto.lock
|
|
.sf/completed-units*.json
|
|
.sf/state-manifest.json
|
|
.sf/STATE.md
|
|
.sf/metrics.json
|
|
.sf/activity/
|
|
.sf/runtime/
|
|
.sf/worktrees/
|
|
.sf/sf.db*
|
|
.sf/journal/
|
|
.sf/doctor-history.jsonl
|
|
.sf/event-log.jsonl
|
|
.sf/milestones/**/continue.md
|
|
.sf/milestones/**/*-CONTINUE.md
|
|
```
|
|
|
|
**Shared** (committed): preferences, PROJECT.md, REQUIREMENTS.md, DECISIONS.md, milestones.
|
|
|
|
**Local** (gitignored): lock files, metrics, state cache, worktrees, activity logs, database files, journals.
|
|
|
|
### 3. Commit
|
|
|
|
```bash
|
|
git add .sf/PREFERENCES.md
|
|
git commit -m "chore: enable SF team workflow"
|
|
```
|
|
|
|
## `commit_docs: false`
|
|
|
|
For teams where only some members use SF:
|
|
|
|
```yaml
|
|
git:
|
|
commit_docs: false
|
|
```
|
|
|
|
Adds `.sf/` to `.gitignore` entirely. The developer gets structured planning without affecting teammates.
|
|
|
|
## Parallel development
|
|
|
|
Multiple developers run auto mode simultaneously on different milestones. Each developer gets their own worktree and unique `milestone/<MID>` branch. Milestone dependencies can be declared:
|
|
|
|
```yaml
|
|
# M00X-CONTEXT.md frontmatter
|
|
---
|
|
depends_on: [M001-eh88as]
|
|
---
|
|
```
|
|
|
|
SF enforces that dependent milestones complete before starting downstream work.
|