Complete architecture for multi-mode Claude operation: - MSP Mode (client work tracking) - Development Mode (project management) - Normal Mode (general research) Agents created: - Coding Agent (perfectionist programmer) - Code Review Agent (quality gatekeeper) - Database Agent (data custodian) - Gitea Agent (version control) - Backup Agent (data protection) Workflows documented: - CODE_WORKFLOW.md (mandatory review process) - TASK_MANAGEMENT.md (checklist system) - FILE_ORGANIZATION.md (hybrid storage) - MSP-MODE-SPEC.md (complete architecture, 36 tables) Commands: - /sync (pull latest from Gitea) Database schema: 36 tables for comprehensive context storage File organization: clients/, projects/, normal/, backups/ Backup strategy: Daily/weekly/monthly with retention Status: Architecture complete, ready for implementation Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
6.0 KiB
6.0 KiB
/sync Command
Synchronize ClaudeTools configuration from Gitea repository.
Purpose
Pull the latest system configuration, agent definitions, and workflows from the Gitea repository to ensure you're working with the most up-to-date ClaudeTools system.
What It Does
- Connects to Gitea repository -
azcomputerguru/claudetools - Pulls latest changes - Via Gitea Agent
- Updates local files:
.claude/agents/- Agent definitions.claude/commands/- Custom commands.claude/*.md- Workflow documentationREADME.md- System overview
- Handles conflicts - Stashes local changes if needed
- Reports changes - Shows what was updated
Usage
/sync
Or:
Claude, sync the settings
Claude, pull latest from Gitea
Claude, update claudetools config
When to Use
- After repository updates - When changes pushed to Gitea
- On new machine - After cloning repository
- Periodic checks - Weekly sync to stay current
- Team updates - When other team members update agents/workflows
- Before important work - Ensure latest configurations
What Gets Updated
✅ System Configuration:
.claude/agents/*.md- Agent definitions.claude/commands/*.md- Custom commands.claude/*.md- Workflow documentation
✅ Documentation:
README.md- System overview.gitignore- Git ignore rules
❌ NOT Updated (Local Only):
.claude/settings.local.json- Machine-specific settingsbackups/- Local backupsclients/- Client work (separate repos)projects/- Projects (separate repos)
Execution Flow
User: "/sync"
↓
Main Claude: Invokes Gitea Agent
↓
Gitea Agent:
1. cd D:\ClaudeTools
2. git fetch origin main
3. Check for local changes
4. If clean: git pull origin main
5. If dirty: git stash && git pull && git stash pop
6. Report results
↓
Main Claude: Shows summary to user
Example Output
## Sync Complete ✅
**Repository:** azcomputerguru/claudetools
**Branch:** main
**Changes:** 3 files updated
### Files Updated:
- `.claude/agents/coding.md` - Updated coding standards
- `.claude/CODE_WORKFLOW.md` - Added exception handling notes
- `README.md` - Updated backup strategy documentation
### Status:
- No conflicts
- Local changes preserved (if any)
- Ready to continue work
**Last sync:** 2026-01-15 15:30:00
Conflict Handling
If local changes conflict with remote:
-
Stash local changes
git stash save "Auto-stash before /sync command" -
Pull remote changes
git pull origin main -
Attempt to restore local changes
git stash pop -
If conflicts remain:
## Sync - Manual Intervention Required ⚠️ **Conflict detected in:** - `.claude/agents/coding.md` **Action required:** 1. Open conflicted file 2. Resolve conflict markers (<<<<<<, ======, >>>>>>) 3. Run: git add .claude/agents/coding.md 4. Run: git stash drop 5. Or ask Claude to help resolve conflict **Local changes stashed** - Run `git stash list` to see
Error Handling
Network Error
## Sync Failed - Network Issue ❌
Could not connect to git.azcomputerguru.com
**Possible causes:**
- VPN not connected
- Network connectivity issue
- Gitea server down
**Solution:**
- Check VPN connection
- Retry: /sync
Authentication Error
## Sync Failed - Authentication ❌
SSH key authentication failed
**Possible causes:**
- SSH key not loaded
- Incorrect permissions on key file
**Solution:**
- Verify SSH key: C:\Users\MikeSwanson\.ssh\id_ed25519
- Test connection: ssh git@git.azcomputerguru.com
Uncommitted Changes Warning
## Sync Warning - Uncommitted Changes ⚠️
You have uncommitted local changes:
- `.claude/agents/custom-agent.md` (new file)
- `.claude/CUSTOM_NOTES.md` (modified)
**Options:**
1. Commit changes first: `/commit` or ask Claude to commit
2. Stash and sync: /sync will auto-stash
3. Discard changes: git reset --hard (WARNING: loses changes)
**Recommended:** Commit your changes first, then sync.
Integration with Gitea Agent
Sync operation delegated to Gitea Agent:
# Main Claude (Orchestrator) calls:
Gitea_Agent.sync_from_remote(
repository="azcomputerguru/claudetools",
base_path="D:/ClaudeTools/",
branch="main",
handle_conflicts="auto-stash"
)
# Gitea Agent performs:
# 1. git fetch
# 2. Check status
# 3. Stash if needed
# 4. Pull
# 5. Pop stash if stashed
# 6. Report results
Safety Features
- No data loss - Local changes stashed, not discarded
- Conflict detection - User notified if manual resolution needed
- Rollback possible -
git stash listshows saved changes - Dry-run option -
git fetchpreviews changes before pulling
Related Commands
/commit- Commit local changes before sync/status- Check git status without syncing
Technical Implementation
Gitea Agent receives:
{
"operation": "sync_from_remote",
"repository": "azcomputerguru/claudetools",
"base_path": "D:/ClaudeTools/",
"branch": "main",
"handle_conflicts": "auto-stash"
}
Gitea Agent returns:
{
"success": true,
"operation": "sync_from_remote",
"files_updated": [
".claude/agents/coding.md",
".claude/CODE_WORKFLOW.md",
"README.md"
],
"files_count": 3,
"conflicts": false,
"local_changes_stashed": false,
"commit_before": "a3f5b92c...",
"commit_after": "e7d9c1a4...",
"sync_timestamp": "2026-01-15T15:30:00Z"
}
Best Practices
- Sync regularly - Weekly or before important work
- Commit before sync - Cleaner workflow, easier conflict resolution
- Review changes - Check what was updated after sync
- Test after sync - Verify agents/workflows work as expected
- Keep local settings separate - Use
.claude/settings.local.jsonfor machine-specific config
This command ensures you always have the latest ClaudeTools configuration and agent definitions.