Skip to main content

A robust command-line tool for managing multiple projects that follow a prefix-suffix naming convention.

Project description

SyncPrjs - Universal Multi-Prefix Project Manager

Version License CIAO Python

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 --quiet and --json support 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 mode
  • QUIET=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=N and JSON=1 environment 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-prjs from 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

syncprjs-1.4.0.tar.gz (43.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

syncprjs-1.4.0-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

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

Hashes for syncprjs-1.4.0.tar.gz
Algorithm Hash digest
SHA256 d0ba466b666016061376af1dbb6a1b02dd12deea97fb340c78265f456f62889f
MD5 d5c4a7176261e2573d8846c076f821fd
BLAKE2b-256 7904e477b49b2d170157096175763b3b9c27b7ae3bf217322afb0b269c2951a2

See more details on using hashes here.

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

Hashes for syncprjs-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 15638cfeab8c886271f7180c6fc080947738c5beef841fed134b101efe15bcaf
MD5 0ddce8d50aef565acb41292dabe506a5
BLAKE2b-256 773fccad2c140137ff842c3439931af528e5adce956dd9ae37e4577f82a1165d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page