Skip to main content

Visual CLI for portable configuration bundles

Project description

Showcase

Peridot

CI

Versión actual: 0.4.3 (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.3.tar.gz (51.9 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.3-py3-none-any.whl (44.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: peridot_cli-0.4.3.tar.gz
  • Upload date:
  • Size: 51.9 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.3.tar.gz
Algorithm Hash digest
SHA256 8a409993bc331324fbaea682de406c48ba55dcdc5e954234f628526a76afbc1a
MD5 15e3ba10f729bd46d2fb076a71bdcd46
BLAKE2b-256 6ee148a6fd5a75f1fac7138ea277d3eceb6a67177d94b7fa1040825b0e0e9c8c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: peridot_cli-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 44.4 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 21b4badef5f0004f53a02543de0bf588321c774b4a4af304232e183bda7c2194
MD5 7b4db7949bb713dfc9baaedd13759d26
BLAKE2b-256 2fba2cbca295fb96c8282b4fbf061f90b88e8893d89fe8123607363e36a478c8

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