GSD supports multi-user workflows where several developers work on the same repository concurrently.
## Setup
### 1. Set Team Mode
The simplest way to configure GSD for team use is to set `mode: team` in your project preferences. This enables unique milestone IDs, push branches, and pre-merge checks in one setting:
This is equivalent to manually setting `unique_milestone_ids: true`, `git.push_branches: true`, `git.pre_merge_check: true`, and other team-appropriate defaults. You can still override individual settings — for example, adding `git.auto_push: true` on top of `mode: team` if your team prefers auto-push.
Alternatively, you can configure each setting individually without using a mode (see [Git Strategy](git-strategy.md) for details).
For teams where only some members use GSD, or when company policy requires a clean repo:
```yaml
git:
commit_docs: false
```
This adds `.gsd/` to `.gitignore` entirely and keeps all artifacts local. The developer gets the benefits of structured planning without affecting teammates who don't use GSD.
## Migrating an Existing Project
If you have an existing project with `.gsd/` blanket-ignored:
1. Ensure no milestones are in progress (clean state)
2. Update `.gitignore` to use the selective pattern above