Files
claudetools/.claude/commands/sync.md
Mike Swanson fffb71ff08 Initial commit: ClaudeTools system foundation
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>
2026-01-15 18:55:45 -07:00

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.**