Skip to main content

Visual CLI for portable configuration bundles

Project description

Showcase

Peridot

CI

Versión actual: 0.4.4 (ver CHANGELOG.md).

Peridot es un CLI para crear bundles portables de configuración (.peridot) con una UX cuidada.

Además, incluye un servidor MCP (Model Context Protocol) para que una IA pueda usar Peridot mediante tools (sin que el usuario aprenda el CLI): peridot-mcp.

  • Docs MCP: mcp/README_MCP.md

Peridot CLI:

  • pack: empaqueta dotfiles/carpetas de config en un bundle cifrado
  • inspect/manifest: inspecciona qué hay dentro antes de aplicar
  • apply: restaura en otra máquina (con --dry-run y modo transaccional)

Quickstart (3 comandos)

peridot init
peridot pack "Mi bundle" --output mi-bundle.peridot ~/.config
peridot apply mi-bundle.peridot --dry-run

Notas:

  • Recomendación: prueba siempre primero con --dry-run.
  • En automatización (sin TTY), si no pasas nombre, Peridot genera uno por defecto.

Qué es un .peridot

Un .peridot es un ZIP con:

my-setup.peridot
├── manifest.json
└── payloads/
    ├── 0001-....bin
    ├── 0002-....bin
    └── ...
  • manifest.json queda legible para poder revisar el contenido.
  • Cada fichero se comprime (si compensa) y se cifra (AES‑GCM).

Instalación

Recomendado (Windows/macOS/Linux): pipx

pipx instala CLIs Python en un entorno aislado y deja el comando en tu PATH.

  1. Instala Python 3.11+.
  2. Instala pipx:
  • Windows (PowerShell):
python -m pip install --user pipx
python -m pipx ensurepath

Cierra y vuelve a abrir la terminal.

  • macOS (Homebrew):
brew install pipx
pipx ensurepath
  • Linux (según distro):
python3 -m pip install --user pipx
python3 -m pipx ensurepath
  1. Instala Peridot desde PyPI:
pipx install peridot-cli
peridot --version

Nota: en PyPI el paquete se llama peridot-cli ("peridot" ya está ocupado).

macOS: Homebrew (opcional)

Si prefieres brew, una alternativa es instalar pipx con brew y seguir el método anterior.

Desde el repo (modo dev)

./install.sh
# opcional: instala dependencias de desarrollo (pytest, etc.)
PERIDOT_INSTALL_DEV=1 ./install.sh

peridot --version

Uso básico

Generar o comprobar la clave:

peridot keygen

Modo visual:

peridot ui

Benchmark de rendimiento de pack:

peridot bench --files 200 --size-kb 4 --levels 0,1,3 --runs 1
# guardar resultados en JSON
peridot bench --files 200 --size-kb 4 --levels 0,1,3 --runs 3 --out bench.json

Aplicar de forma segura:

peridot apply bundle.peridot --dry-run
peridot apply bundle.peridot

Por defecto, apply usa modo transaccional (rollback best‑effort) y verificación post‑escritura.

Desarrollo

python3 -m venv .venv
. .venv/bin/activate
pip install -e '.[dev]'
pytest -q

Seguridad

  • Cifrado: AES‑GCM por fichero.
  • apply soporta rollback best‑effort y verificación de hash tras escribir.

Licencia

MIT. Ver LICENSE.

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

peridot_cli-0.4.5.tar.gz (63.6 kB view details)

Uploaded Source

Built Distribution

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

peridot_cli-0.4.5-py3-none-any.whl (50.8 kB view details)

Uploaded Python 3

File details

Details for the file peridot_cli-0.4.5.tar.gz.

File metadata

  • Download URL: peridot_cli-0.4.5.tar.gz
  • Upload date:
  • Size: 63.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for peridot_cli-0.4.5.tar.gz
Algorithm Hash digest
SHA256 e01c5feb714ea610950a89eeb8e0d3604442c1f02ca5c2c466f5bf13f8f8ca7d
MD5 87a7f14be41a98e10327fdd7f747e1de
BLAKE2b-256 252b27712f0888140dfa1d138872b73078feb201172aca8a270517c9cf226e1f

See more details on using hashes here.

File details

Details for the file peridot_cli-0.4.5-py3-none-any.whl.

File metadata

  • Download URL: peridot_cli-0.4.5-py3-none-any.whl
  • Upload date:
  • Size: 50.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for peridot_cli-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7a7ac261924747d38ba42e7ef3d8442306ca4e1d7639611aa74cd199b53c8d18
MD5 5249ca438baafc01cb7d3d4e66bd6df0
BLAKE2b-256 72034e9cce97f4a63ce02a4ba3edc914058fbcdc9ab90db098d1eef92a71c9c8

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