Skip to main content

Visual CLI for portable configuration bundles

Project description

Showcase

Peridot

CI

Versión actual: ver CHANGELOG.md (o pip show peridot-cli).

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: peridot_cli-0.4.7.tar.gz
  • Upload date:
  • Size: 65.8 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.7.tar.gz
Algorithm Hash digest
SHA256 eddc54359f34b8f3607535f3a03de7ef822d9199e9d1af0f9dca1eedf2935c99
MD5 21939dea5369643e2732069bbdfc253e
BLAKE2b-256 da9e36e72d0faadbe7977dcecbd31fdcc114149106eb30884d41c95627175496

See more details on using hashes here.

File details

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

File metadata

  • Download URL: peridot_cli-0.4.7-py3-none-any.whl
  • Upload date:
  • Size: 52.5 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 25ce9826ffb1942cd883b815ad26013c317007398af652b75f5006e145889d4b
MD5 8a513cda2a5a907bf64e8a298ab682b8
BLAKE2b-256 a6b2382273e62823ad69a01650d460943264b165dc3900d95e17ed9bbc36b243

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