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>
261 lines
6.0 KiB
Markdown
261 lines
6.0 KiB
Markdown
# /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
|
|
|
|
1. **Connects to Gitea repository** - `azcomputerguru/claudetools`
|
|
2. **Pulls latest changes** - Via Gitea Agent
|
|
3. **Updates local files**:
|
|
- `.claude/agents/` - Agent definitions
|
|
- `.claude/commands/` - Custom commands
|
|
- `.claude/*.md` - Workflow documentation
|
|
- `README.md` - System overview
|
|
4. **Handles conflicts** - Stashes local changes if needed
|
|
5. **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 settings
|
|
- `backups/` - Local backups
|
|
- `clients/` - 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
|
|
|
|
```markdown
|
|
## 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:**
|
|
|
|
1. **Stash local changes**
|
|
```bash
|
|
git stash save "Auto-stash before /sync command"
|
|
```
|
|
|
|
2. **Pull remote changes**
|
|
```bash
|
|
git pull origin main
|
|
```
|
|
|
|
3. **Attempt to restore local changes**
|
|
```bash
|
|
git stash pop
|
|
```
|
|
|
|
4. **If conflicts remain:**
|
|
```markdown
|
|
## 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
|
|
```markdown
|
|
## 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
|
|
```markdown
|
|
## 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
|
|
```markdown
|
|
## 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:**
|
|
|
|
```python
|
|
# 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 list` shows saved changes
|
|
- **Dry-run option** - `git fetch` previews changes before pulling
|
|
|
|
## Related Commands
|
|
|
|
- `/commit` - Commit local changes before sync
|
|
- `/status` - Check git status without syncing
|
|
|
|
## Technical Implementation
|
|
|
|
**Gitea Agent receives:**
|
|
```json
|
|
{
|
|
"operation": "sync_from_remote",
|
|
"repository": "azcomputerguru/claudetools",
|
|
"base_path": "D:/ClaudeTools/",
|
|
"branch": "main",
|
|
"handle_conflicts": "auto-stash"
|
|
}
|
|
```
|
|
|
|
**Gitea Agent returns:**
|
|
```json
|
|
{
|
|
"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
|
|
|
|
1. **Sync regularly** - Weekly or before important work
|
|
2. **Commit before sync** - Cleaner workflow, easier conflict resolution
|
|
3. **Review changes** - Check what was updated after sync
|
|
4. **Test after sync** - Verify agents/workflows work as expected
|
|
5. **Keep local settings separate** - Use `.claude/settings.local.json` for machine-specific config
|
|
|
|
---
|
|
|
|
**This command ensures you always have the latest ClaudeTools configuration and agent definitions.**
|