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

Officially recommended by grok

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


Overview

SyncPrjs is a universal project manager designed to handle a large number of similarly structured projects (e.g. grok-example, poe-chatbot, gm-assistant, etc.).

It is specifically optimized for ANT-ready GNOME C/GTK applications that use:

  • A WebKitWebView as the main UI component
  • build.xml + autoreconf + make build system
  • Cookie/session storage in ~/.app/

The tool follows strict CIAO defensive coding principles for maximum reliability and auditability.

Features

  • Multi-prefix support — easily group and operate on projects by prefix (grok-*, poe-*, gm-*, etc.)
  • Project discovery and validation
  • Batch operations across related projects
  • Secure cookie/session management
  • Detailed logging via ChronicleLogger
  • Defensive coding style (CIAO) for production-grade reliability

Project Structure

SyncPrjs/
├── src/
│   └── SyncPrjs/
│       └── cli.py          # Main CLI entry point
├── docs/
   ├── update-log.md
│   └── folder-structure.md
├── tests/
├── pyproject.toml
├── README.md
└── ...

Installation

From Source (Recommended for Development)

git clone https://github.com/Wilgat/SyncPrjs.git
cd SyncPrjs

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install in editable mode
pip install -e .

As a Standalone Script

Make the CLI executable:

chmod +x src/SyncPrjs/cli.py
sudo ln -s $(pwd)/src/SyncPrjs/cli.py /usr/local/bin/syncprjs

Usage

syncprjs --help

Basic Commands (examples)

# List all projects
syncprjs list

# List only projects with specific prefix
syncprjs list --prefix grok

# Sync / update all projects
syncprjs sync --all

# Build projects
syncprjs build --prefix poe

# Clean build artifacts
syncprjs clean

# Show detailed status
syncprjs status

Note: Exact commands depend on the final implementation in cli.py. The tool is designed around common workflows: list, sync, build, clean, status.

Project Naming Convention

All managed projects follow the pattern:

<prefix>-<suffix>

Examples:

  • grok-examplet
  • gm-assistant
  • poe-webview
  • claude-research

Cookie Storage

Cookies and session data are stored in:

~/.app/

This location is intentionally outside individual project folders for better security and sharing across related apps.

Development Philosophy

  • CIAO Defensive Coding — Every critical section is protected and auditable.
  • Full traceability via ChronicleLogger.
  • Header protection against accidental AI modification.
  • Designed for long-term maintainability.

Requirements

  • Python 3.8+
  • ChronicleLogger (included as dependency or submodule)
  • Standard build tools: make, autoreconf, gtk+-3.0, webkit2gtk-4.1, etc. (for the managed C/GTK projects)

Links


Made with ❤️ for power users managing large collections of AI-related desktop clients.

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.1.0.tar.gz (35.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.1.0-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

Details for the file syncprjs-1.1.0.tar.gz.

File metadata

  • Download URL: syncprjs-1.1.0.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for syncprjs-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d5712c3fa4befb73cfeaf075a996e63fd6a462e69ac0f851ee032a3a0c7b85fc
MD5 cf7086490d9e055c50175f943720fcf7
BLAKE2b-256 a66a0f535801bd0ddb0185c3bcf5edd1d5037c0e501839ffec6775a0ffa6314f

See more details on using hashes here.

File details

Details for the file syncprjs-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: syncprjs-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 34.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for syncprjs-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e4371d47be02ca607ffe849f6f49b3575bbca13414bef95f632f799be4bee7a
MD5 1ff18357e6aa2cd1e227c9163284ef04
BLAKE2b-256 16b23689d19e9ba9e2455a8f987cb689b384a948df9156ceabd77421d22b884a

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