Team Workflow
This tutorial covers using SuperSpec for effective team collaboration.
Collaboration Modes
Mode 1: Parallel Development
Multiple developers work on different features:
Developer A → avatarUpload
Developer B → notificationSystem
Developer C → searchFeatureEach developer creates and manages their own changes:
bash
# Developer A
superspec create avatarUpload
# Developer B
superspec create notificationSystem
# Developer C
superspec create searchFeatureMode 2: Dependent Development
Features have dependencies:
avatarUpload ← userProfile ← dashboardUse dependency management:
bash
# Create upstream feature
superspec create avatarUpload
# Create dependent feature
superspec create userProfile
superspec deps add userProfile avatarUploadWorkflow
1. Spec Review
Review specs before coding:
bash
# Create change (boost mode)
superspec create newFeature -b
# Write proposal and spec
# ... edit files ...
# Submit for review
git add .superspec/changes/newFeature/
git commit -m "spec: newFeature specification"
git pushTeam reviews via PR, ensuring:
- Shared understanding
- Feasible approach
- Clear acceptance criteria
2. Task Assignment
After spec approval, assign tasks:
markdown
# Tasks: newFeature
## Task List
- [ ] 1. Database migration @alice
- [ ] 2. Backend API @alice
- [ ] 3. Frontend components @bob
- [ ] 4. Test cases @charlie3. Status Sync
Check project status regularly:
bash
superspec statusOutput:
SuperSpec Status
================
Active Changes:
newFeature (boost)
- Total: 4, Done: 1, In Progress: 2
bugFix123 (standard)
- Total: 2, Done: 2
Archived: 154. Conflict Handling
When multiple people modify the same change:
bash
# Pull latest changes
git pull
# If conflicts exist, resolve manually
# tasks.md conflicts are usually status inconsistencies
# Keep the latest task status when mergingBest Practices
Naming Convention
Use consistent change naming:
Features: feature-xxx
Fixes: hotfix-xxx
Refactors: refactor-xxxCommit Convention
bash
# Spec documents
git commit -m "spec(newFeature): add specification"
# Task updates
git commit -m "task(newFeature): complete tasks 1-3"
# Archive
git commit -m "archive(newFeature): archive complete"Branch Strategy
main
├── develop
│ ├── feature-<Date>-avatarUpload-<Development>
│ ├── feature-<Date>-notification-<Development>
│ └── hotfix-<Date>-loginBug-<Development>Each change corresponds to a feature branch with specs and code together.
CI/CD Integration
Add SuperSpec checks in CI:
yaml
# .github/workflows/superspec.yml
name: SuperSpec Check
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- run: npm install -g @superspec/cli
- run: superspec lint
- run: superspec validateNext Steps
- Complex Feature - Learn Boost mode
- Configuration - Team configuration options