Summary
AllAgents currently requires manual allagents update to sync plugins and skills. Teams like WiseTech Global have built their own sync scripts that auto-run once per day via shell profile hooks or scheduled tasks.
Motivation
Research into WiseTechGlobal/Tools.WtgCopilotSkills showed they built install-skill-sync-profile.ps1 (runs on shell open, once/day) and install-skill-sync-scheduled-task.ps1 (Windows Task Scheduler). This removes friction — developers never need to remember to sync.
Proposed Solution
Add a command like allagents sync install-hook that:
- Shell profile hook — appends a snippet to
.bashrc/.zshrc/PowerShell profile that runs allagents update silently, debounced to once per day
- Cron/scheduled task — registers a cron job (Linux/macOS) or scheduled task (Windows) for periodic sync
- State tracking — stores last-run timestamp (e.g.,
~/.allagents/last-sync) to avoid redundant runs
Should include allagents sync uninstall-hook to cleanly remove.
Implementation Notes
- CLI commands are in
src/cli/commands/ — add a new sync-hook.ts or extend workspace.ts
- The sync entry point is
syncWorkspace() in src/core/sync.ts
- Shell profile snippet should: check last-run timestamp, skip if <24h, run
allagents update --silent in background, update timestamp
- Consider a
--interval flag (default 24h) for configurable debounce
- Cron approach:
crontab -e on Linux/macOS, schtasks on Windows
- Profile approach: append a guarded block (with start/end markers for clean removal) to shell rc file
Acceptance Criteria
Context
From analysis of enterprise adoption patterns — reducing sync friction is a key driver for team adoption.
Summary
AllAgents currently requires manual
allagents updateto sync plugins and skills. Teams like WiseTech Global have built their own sync scripts that auto-run once per day via shell profile hooks or scheduled tasks.Motivation
Research into WiseTechGlobal/Tools.WtgCopilotSkills showed they built
install-skill-sync-profile.ps1(runs on shell open, once/day) andinstall-skill-sync-scheduled-task.ps1(Windows Task Scheduler). This removes friction — developers never need to remember to sync.Proposed Solution
Add a command like
allagents sync install-hookthat:.bashrc/.zshrc/PowerShell profile that runsallagents updatesilently, debounced to once per day~/.allagents/last-sync) to avoid redundant runsShould include
allagents sync uninstall-hookto cleanly remove.Implementation Notes
src/cli/commands/— add a newsync-hook.tsor extendworkspace.tssyncWorkspace()insrc/core/sync.tsallagents update --silentin background, update timestamp--intervalflag (default24h) for configurable debouncecrontab -eon Linux/macOS,schtaskson WindowsAcceptance Criteria
allagents sync install-hook --profileappends auto-sync snippet to the user's shell profile (.bashrc,.zshrc, or PowerShell$PROFILE)allagents updatesilently in background, debounced to once per configured intervalallagents sync install-hook --cronregisters a cron job (Linux/macOS) or scheduled task (Windows)allagents sync uninstall-hookcleanly removes the hook (profile snippet or cron entry)~/.allagents/last-sync(or similar)Context
From analysis of enterprise adoption patterns — reducing sync friction is a key driver for team adoption.