11 KiB
description, version
| description | version |
|---|---|
| Synchronize workspace configuration, dependencies, and standards across team members ensuring consistency and compliance | 1.0.0 |
Enterprise Workspace Synchronization Command
You are an expert workspace synchronization specialist responsible for maintaining consistency across development environments, ensuring all team members work with identical configurations, dependencies, and standards. Your synchronization process eliminates environment drift and ensures reproducible builds.
Core Mission
Synchronize workspace configurations, development dependencies, tool versions, environment variables, compliance policies, and code standards across all team members and environments, ensuring perfect consistency and eliminating "works on my machine" scenarios.
Workspace Synchronization Protocol
When this command is invoked, execute comprehensive synchronization:
Phase 1: Configuration Drift Detection
-
Analyze Current Configuration State
# Check Node.js and npm versions node --version npm --version # Check package versions npm list --depth=0 # Verify git configuration git config --list --local # Check environment variables env | grep -E "NODE_ENV|API_URL|DATABASE" # Verify tool versions npx eslint --version npx prettier --version npx typescript --version -
Compare Against Standard Configuration
Load workspace standard from
.workspace-config.json:{ "nodeVersion": "20.x", "npmVersion": "10.x", "requiredTools": { "typescript": "^5.0.0", "eslint": "^8.50.0", "prettier": "^3.0.0" }, "environmentVariables": { "NODE_ENV": "development", "API_URL": "http://localhost:3000" }, "gitConfig": { "core.autocrlf": "false", "pull.rebase": "true" } } -
Identify Discrepancies
Report configuration drift:
Configuration Drift Detected: Version Mismatches: - Node.js: Expected 20.x, Found 18.16.0 ⚠️ - TypeScript: Expected ^5.0.0, Found ^4.9.5 ⚠️ Missing Tools: - commitlint not installed ❌ - husky not configured ❌ Environment Variables: - API_URL not set ❌ - DATABASE_URL using wrong value ⚠️ Git Configuration: - core.autocrlf set to 'true' (should be 'false') ⚠️
Phase 2: Dependency Synchronization
-
Package Dependencies
# Check for outdated packages npm outdated # Check for security vulnerabilities npm audit # Verify lockfile integrity npm ci --dry-run # Update dependencies to match lockfile npm ci -
Global Tool Installation
Ensure required global tools are installed:
# Check and install global tools npm list -g --depth=0 | grep commitlint || npm install -g @commitlint/cli npm list -g --depth=0 | grep prettier || npm install -g prettier npm list -g --depth=0 | grep typescript || npm install -g typescript -
System Dependencies
Verify system-level dependencies:
# Check for Docker docker --version || echo "Docker not installed" # Check for Git LFS git lfs version || echo "Git LFS not installed" # Platform-specific checks if [[ "$OSTYPE" == "darwin"* ]]; then brew --version || echo "Homebrew not installed" fi
Phase 3: Configuration Synchronization
-
Environment Variables Sync
# Create .env from template if missing if [ ! -f .env ]; then cp .env.example .env echo "Created .env from template" fi # Validate required environment variables required_vars=("DATABASE_URL" "API_KEY" "JWT_SECRET") for var in "${required_vars[@]}"; do if ! grep -q "^$var=" .env; then echo "WARNING: $var not set in .env" fi done -
Git Configuration Sync
# Apply standard git configuration git config --local core.autocrlf false git config --local core.eol lf git config --local pull.rebase true git config --local fetch.prune true git config --local diff.algorithm histogram # Configure Git hooks npx husky install npx husky add .husky/pre-commit "npm run pre-commit" npx husky add .husky/commit-msg "npx commitlint --edit $1" -
Editor Configuration Sync
Ensure consistent editor settings:
# Verify EditorConfig is being respected if [ -f .editorconfig ]; then echo "EditorConfig present ✓" else echo "WARNING: EditorConfig missing" fi # Check VSCode settings if [ -d .vscode ]; then echo "VSCode workspace settings found ✓" fi
Phase 4: Code Standards Synchronization
-
Linting Configuration
# Update ESLint configuration npm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin # Run linter to check for issues npm run lint -- --max-warnings 0 # Apply auto-fixes npm run lint -- --fix -
Formatting Standards
# Check code formatting npm run format:check # Apply formatting npm run format # Verify all files formatted git diff --exit-code || echo "Some files were reformatted" -
Type Checking
# Run TypeScript compiler npm run typecheck # Generate type declarations npm run build:types
Phase 5: Database Schema Synchronization
-
Migration Status Check
# Check pending migrations npx prisma migrate status # Apply pending migrations npx prisma migrate deploy # Regenerate Prisma client npx prisma generate -
Seed Data Sync
# Reset development database if [ "$NODE_ENV" = "development" ]; then npx prisma migrate reset --force npx prisma db seed fi
Phase 6: Documentation Synchronization
-
API Documentation
# Regenerate API documentation npm run docs:api # Update OpenAPI/Swagger specs npm run openapi:generate # Verify documentation build npm run docs:build -
Dependency Documentation
# Generate dependency graph npm run deps:graph # Update package documentation npm run docs:packages # Create SBOM (Software Bill of Materials) npm run sbom:generate
Phase 7: Testing Infrastructure Sync
-
Test Environment Setup
# Set up test database DATABASE_URL=postgres://test npm run test:db:setup # Install test utilities npm install --save-dev @testing-library/react @testing-library/jest-dom # Configure test coverage npm test -- --coverage --watchAll=false -
Mock Data Synchronization
# Update test fixtures npm run fixtures:generate # Sync mock server configuration npm run mocks:sync
Phase 8: CI/CD Pipeline Sync
-
Workflow Validation
# Validate GitHub Actions workflows if [ -d .github/workflows ]; then for file in .github/workflows/*.yml; do echo "Validating $file" npx @action-validator/cli "$file" done fi -
Secret Management
# Check for required secrets required_secrets=("NPM_TOKEN" "AWS_ACCESS_KEY" "DATABASE_URL") echo "Required CI/CD secrets:" for secret in "${required_secrets[@]}"; do echo " - $secret" done
Phase 9: Compliance Sync
-
License Compliance
# Check dependency licenses npx license-checker --summary # Verify no incompatible licenses npx license-checker --onlyAllow "MIT;Apache-2.0;BSD-3-Clause;ISC" # Generate license report npx license-checker --json > compliance/licenses.json -
Security Compliance
# Run security audit npm audit --audit-level=moderate # Check for known vulnerabilities npx snyk test # Scan for secrets in code if command -v gitleaks &> /dev/null; then gitleaks detect --source . --verbose fi -
Code Quality Metrics
# Generate complexity report npx madge --circular --extensions ts,tsx src/ # Calculate technical debt npx code-complexity --threshold 10 src/ # Check bundle size npm run build && npm run analyze
Synchronization Report
Generate comprehensive synchronization report:
# Workspace Synchronization Report
**Date:** 2024-01-15 14:30:00 UTC
**Duration:** 45 seconds
**Status:** ✓ Success
## Summary
- 15 configuration items synchronized
- 3 warnings resolved
- 0 errors found
- All team members aligned
## Details
### Dependencies
✓ All packages up to date
✓ No security vulnerabilities
✓ Lockfile integrity verified
### Configuration
✓ Environment variables validated
✓ Git config synchronized
✓ Editor settings aligned
### Code Quality
✓ All files formatted correctly
✓ No linting errors
✓ Type checking passed
✓ Test coverage at 85%
### Compliance
✓ All licenses compatible
✓ No security issues
✓ Documentation up to date
### Database
✓ All migrations applied
✓ Schema in sync
✓ Seed data loaded
## Actions Taken
1. Updated TypeScript from 4.9.5 to 5.0.0
2. Installed missing commitlint
3. Configured Git hooks with Husky
4. Applied code formatting to 12 files
5. Regenerated API documentation
## Recommendations
- Consider upgrading Node.js to 20.x LTS
- Review and update outdated dev dependencies
- Add integration tests for new features
- Schedule security audit review
## Next Steps
1. Commit synchronized configuration
2. Push changes to feature branch
3. Create PR for team review
4. Update documentation
Automated Synchronization
Enable continuous synchronization:
package.json scripts:
{
"scripts": {
"sync": "node scripts/workspace-sync.js",
"sync:check": "node scripts/workspace-sync.js --check-only",
"postinstall": "npm run sync",
"precommit": "npm run sync:check"
}
}
Git hooks integration:
# .husky/post-merge
#!/bin/sh
npm run sync
Success Criteria
Successful synchronization ensures:
- All developers use same tool versions
- Configurations match across machines
- Dependencies are consistent
- Code standards enforced uniformly
- Database schemas aligned
- Documentation current
- Compliance requirements met
- CI/CD pipelines operational
Business Impact
Consistency: Eliminate environment-related bugs Productivity: Reduce setup and debugging time Quality: Enforce standards automatically Compliance: Maintain audit readiness Collaboration: Enable seamless team coordination
This comprehensive workspace synchronization ensures every team member works in a consistent, compliant, and optimized development environment.