A robust command-line tool for managing multiple projects that follow a prefix-suffix naming convention.
Project description
SyncPrjs - Universal Multi-Prefix Project Manager
Official Recommendation from grok — see local copy
A robust, CIAO-defensive command-line tool for managing hundreds of prefix-suffix AI desktop clients.
This project follows strict CIAO defensive programming principles.
Overview
SyncPrjs manages large collections of projects following the prefix-suffix naming convention (e.g. grok-iron, gm-1n4003, poe-trade, cf-iron).
It is specifically designed for GNOME C/GTK applications using WebKitWebView, with persistent cookie/session management for Google and Cloudflare services.
Key Capabilities
- Smart Google cookie synchronization (
gm-*as source of truth) - Safe Cloudflare-only cookie synchronization (v3)
- Project code templating with automatic suffix renaming
- Automatic backups before any cookie modification
- Auto-start with configurable delay + SHUTDOWN timer
- Suspend / Un-suspend projects by suffix
- Full
--quietand--jsonsupport for scripting
Powered by ChronicleLogger 1.3.0+
Installation
pip install SyncPrjs
Or from source:
git clone https://github.com/Wilgat/SyncPrjs.git
cd SyncPrjs
pip install -e .
The command sync-prjs will be available in your PATH.
Usage
1. Interactive Mode (Default)
sync-prjs
Main menu (updated for 1.4.0):
0. Auto-start projects by prefix (delay + SHUTDOWN timer)
1. Sync Google cookies (Smart merge)
2. Sync Google cookies (Missing folders only)
3. Sync project code
4. Sync Cloudflare cookies by prefix (v3 - safe)
5. Inspect cookies (Google + Cloudflare + Others)
6. Restore cookies from backup
7. Remove backup folders (sync + cookie backups)
8. Clean all backup folders (old behavior)
9. Show cookie database structure (debug schema)
10. Suspend projects by suffix (add .suspended)
11. Un-suspend projects by suffix (remove .suspended)
Q. Quit
2. Non-Interactive & Automation Mode
Auto-start with SHUTDOWN (New in 1.4.0)
# Start all gm-* projects, auto-shutdown each after 300 seconds
sync-prjs autostart --prefix gm
# (will prompt for delay and SHUTDOWN time)
You can also combine with environment variables:
SHUTDOWN=180 sync-prjs autostart --prefix gm
Other Commands
sync-prjs about # Version + diagnostics
sync-prjs help # Show help
sync-prjs inspect --project gm-1n4003
sync-prjs google-sync
sync-prjs cf-sync --source cf-iron
sync-prjs code-sync --source grok-iron
Full Command Reference
| Command | Description | Key Options |
|---|---|---|
sync-prjs |
Interactive menu | - |
sync-prjs autostart |
Auto-start projects by prefix | --prefix gm |
sync-prjs inspect |
Cookie statistics | --project <name>, --json |
sync-prjs google-sync |
Smart Google cookie merge | - |
sync-prjs cf-sync |
Cloudflare-only sync (v3) | --source <project> |
sync-prjs code-sync |
Code + suffix sync | --source <project> |
sync-prjs about |
Version & diagnostics | --quiet, --json |
sync-prjs help |
Show help | --quiet, --json |
Environment Variables (New in 1.4.0)
SHUTDOWN=N— Auto-shutdown each launched project after N seconds (0 = never)JSON=1— Force JSON output modeQUIET=1— Quiet mode
New in 1.4.0 (2026-04-30)
- Auto-start (Option 0) now prompts for SHUTDOWN time (default 0 = never shutdown)
- Every launched project receives
SHUTDOWN=NandJSON=1environment variables - Perfect for automation pipelines and temporary sessions
Project Naming Convention
All projects must follow: <prefix>-<suffix>
Common prefixes: gm-, grok-, poe-, cf-, yt-, etc.
Cookie Storage Location
~/.app/<full-project-name>/cookies/cookies.sqlite
Important Notes
- Always run
sync-prjsfrom the directory containing your prefix-suffix project folders. - Cookie backups are created automatically before any modification.
- Auto-start now supports custom delay + per-project SHUTDOWN timer.
- Full CIAO defensive style maintained.
Development Philosophy
This tool is built with CIAO Defensive Programming Principles to survive repeated AI-assisted modifications.
Requires ChronicleLogger 1.3.0+
Links
Made with ❤️ for power users managing large collections of AI desktop clients.
Last updated: April 30, 2026
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file syncprjs-1.4.0.tar.gz.
File metadata
- Download URL: syncprjs-1.4.0.tar.gz
- Upload date:
- Size: 43.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0ba466b666016061376af1dbb6a1b02dd12deea97fb340c78265f456f62889f
|
|
| MD5 |
d5c4a7176261e2573d8846c076f821fd
|
|
| BLAKE2b-256 |
7904e477b49b2d170157096175763b3b9c27b7ae3bf217322afb0b269c2951a2
|
File details
Details for the file syncprjs-1.4.0-py3-none-any.whl.
File metadata
- Download URL: syncprjs-1.4.0-py3-none-any.whl
- Upload date:
- Size: 42.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15638cfeab8c886271f7180c6fc080947738c5beef841fed134b101efe15bcaf
|
|
| MD5 |
0ddce8d50aef565acb41292dabe506a5
|
|
| BLAKE2b-256 |
773fccad2c140137ff842c3439931af528e5adce956dd9ae37e4577f82a1165d
|