Team mode commands
Commands for managing team mode features (hidden until team mode enabled).
aligntrue drift
Detect drift between lockfile and current state. Team mode uses the lockfile bundle hash as the single drift signal.
Usage:
aligntrue drift [options]Options:
--gates- Exit non-zero if drift detected (CI mode)--json- Output results in JSON format--sarif- Output results in SARIF format for CI tools--config <path>- Custom config file path
Examples:
# Check for drift
aligntrue drift
# CI mode (fail on drift)
aligntrue drift --gates
# JSON output
aligntrue drift --jsonDrift categories:
- lockfile - Rules/config changed since last lockfile generation
Exit codes: 0 (no drift), 2 (drift with —gates)
aligntrue onboard
Generate personalized developer onboarding checklist based on recent work, check results, and project state.
Usage:
aligntrue onboard [options]Options:
--ci <path>- Path to SARIF file with CI check results--config <path>- Custom config file path
Examples:
# Basic onboarding checklist
aligntrue onboard
# Include CI check results
aligntrue onboard --ci checks.sarif
# Use custom config
aligntrue onboard --config custom-config.yamlChecklist includes:
- Recent commit history and file changes
- Uncommitted changes warnings
- Test file patterns (suggest running tests)
- Source changes without tests (warning)
- Documentation updates
- Team drift (in team mode)
- Unresolved required plugs
- Failed checks (when —ci provided)
Integrations:
- Drift detection - Shows team drift in team mode
- Check results - Parses SARIF from CI runs
- Plugs - Detects unresolved required plugs automatically
Output format:
🚀 Developer Onboarding Checklist
Based on your recent work:
Last commit: feat: Add feature
By: Developer Name
Files changed: 5
Actionable next steps:
1. ⚠️ Run tests (2 test files modified)
→ Run: pnpm test
2. ℹ️ Run validation checks
→ Run: aligntrue checkExit codes: 0 (success), 1 (error)
See: Onboarding guide
aligntrue team enable
Upgrade project to team mode with lockfile enabled.
Usage:
aligntrue team enableWhat it does:
- Creates
.aligntrue/config.team.yamlwith team settings - Enables lockfile module automatically
- Moves team-only settings from
config.yamltoconfig.team.yaml - Creates an empty personal
config.yamlfor individual settings (added to.gitignore) - Shows next steps for lockfile generation
Interactive prompts:
- Confirm team mode - Explains lockfile and bundle features
- Idempotent - Safe to run multiple times (can be re-enabled after
team disable)
Configuration files after enable:
| File | Purpose | Git status |
|---|---|---|
config.team.yaml | Team settings (mode, lockfile) | Committed |
config.yaml | Personal settings (overrides) | Gitignored |
.aligntrue/lock.json | Lockfile (generated after sync) | Committed |
Examples:
# Enable team mode
aligntrue team enable
# Then generate lockfile
aligntrue sync # Auto-generates .aligntrue/lock.jsonExit codes:
0- Success (or already in team mode)2- System error (file write failed)
What changes:
Before (solo mode):
# .aligntrue/config.yaml
mode: solo
modules:
lockfile: false
bundle: false
sources:
- type: local
path: rules
exporters:
- cursorAfter (team mode):
# .aligntrue/config.team.yaml (committed)
mode: team
modules:
lockfile: true
sources:
- type: local
path: rules
exporters:
- cursor
# .aligntrue/config.yaml (gitignored, created for personal settings)
# Add your personal settings here
# Examples: personal remotes, local overridesPersonal vs team settings:
- Team settings (in
config.team.yaml):mode,modules.lockfile, sharedsources, sharedexporters - Personal settings (in
config.yaml): Personal remotes, local overrides of shared settings
See also: Team Mode Guide, Sync Behavior
aligntrue team join
Create a personal (gitignored) config in a team repo without changing shared files.
Usage:
aligntrue team joinWhat it does:
- Detects team mode repo (
config.team.yamlpresent). - Creates
.aligntrue/config.yaml(gitignored) if missing. - Copies hints from team config to guide personal settings.
Notes:
- No changes to
config.team.yaml. - Safe to rerun; noop if personal config already exists.
Exit codes: 0 success/noop, 2 system error
aligntrue scopes
List and discover scopes in your workspace.
Usage:
aligntrue scopes [subcommand] [options]Subcommands:
| Subcommand | Description |
|---|---|
| (none) | List configured scopes |
discover | Auto-discover nested .aligntrue/ directories |
Flags:
| Flag | Description | Default |
|---|---|---|
--yes, -y | Skip confirmation prompts (for discover) | false |
What it shows (list mode):
- Scope paths
- Include/exclude patterns
- Configured rulesets
What it does (discover mode):
- Searches for nested
.aligntrue/directories - Shows discovered directories with rule status
- Optionally adds them as scopes to config
Examples:
# List all scopes
aligntrue scopes
# Discover nested scopes
aligntrue scopes discover
# Discover and add without prompts
aligntrue scopes discover --yesOutput:
Configured scopes (2):
1. apps/web
Include: ["**/*.ts", "**/*.tsx"]
Exclude: ["**/*.test.ts"]
Rulesets: ["nextjs-rules"]
2. packages/core
Include: ["**/*.ts"]
Exclude: []
Rulesets: ["core-standards"]Exit codes:
0- Success2- Config not found