Skip to content

Conversation

@bborn
Copy link
Owner

@bborn bborn commented Jan 31, 2026

Summary

  • Add task cloud push command to push local database to cloud server
  • Add task cloud pull command to pull cloud database back to local
  • Enable seamless shifting between local and cloud work while maintaining task state

Key Features

  • Database sync: Full SQLite database transfer between local and cloud
  • Backups: Creates timestamped backups before overwriting databases
  • Execution state reset: Clears worktree paths, ports, tmux IDs, Claude session IDs
  • Project path handling: Updates project paths to match target environment
  • Cloud settings preservation: Maintains cloud configuration when pulling
  • Confirmation prompts: Shows task counts and asks for confirmation (use -f to skip)

Usage

# Push local state to cloud (when shifting to remote work)
task cloud push

# Pull cloud state to local (when returning to local work)  
task cloud pull

# Skip confirmation prompts
task cloud push -f
task cloud pull -f

Test plan

  • All existing tests pass
  • New tests added for push and pull commands
  • Tests for copyFile helper function
  • Build succeeds

🤖 Generated with Claude Code

Add two new cloud subcommands for syncing the task database between
local and remote environments:

- `task cloud push` - Push local database to cloud server
- `task cloud pull` - Pull cloud database back to local

Key features:
- Creates backups before overwriting databases
- Resets execution-specific fields (worktree paths, ports, tmux IDs)
- Updates project paths to match the target environment
- Preserves cloud settings when pulling from remote
- Shows task counts and prompts for confirmation (use -f to skip)

This allows users to seamlessly shift between local and cloud work
while maintaining their task state across environments.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@bborn bborn force-pushed the task/778-check-remote-syncing-feature branch from 8a29c82 to 8747404 Compare January 31, 2026 17:59
bborn and others added 3 commits January 31, 2026 12:13
- Remove hardcoded runner user and /home/runner paths
- Dynamically get remote home via $HOME
- Use scp directly to user's ~/.local/share/task/
- Remove taskd service stop/start (not needed for user's db)
- Project paths use $HOME/Projects/{name} convention

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When a cloud server is configured, check task counts on startup.
If local and remote differ, prompt user to push/pull/skip.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use [l] for pull instead of [P] to avoid case confusion
- "l" or "pull" now triggers pull, "p" or "push" triggers push

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@bborn bborn merged commit b4d2273 into main Jan 31, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants