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

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.0.0.tar.gz (30.8 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.0.0-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for syncprjs-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c9785af3acfd8644b255f07155cea260685b42867a392df920cb8e1bf02d904c
MD5 e46154fe596caf86f57232edd23d5b28
BLAKE2b-256 f314dd4471bd9f82edd90868a25aa178a1a840351ca099cc0b502b55497fdc42

See more details on using hashes here.

File details

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

File metadata

  • Download URL: syncprjs-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 29.9 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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7654db9a450e822e232aa6ddfb5a0297ee73b3109c6ef0af689d22640b4c7bba
MD5 8469e4136f76087c7268ebb2ecc3624f
BLAKE2b-256 714ee757758f8202b84d83587d790b335f1537e276f62c38999e2a018ea7d0f4

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