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

Uploaded Python 3

File details

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

File metadata

  • Download URL: peridot_cli-0.4.6.tar.gz
  • Upload date:
  • Size: 65.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.6.tar.gz
Algorithm Hash digest
SHA256 ded8d6f2595e0219b62753b5b1029287f9df66310ba7c94147e8baebefc93832
MD5 fa71fc0f766a974197c6baf229c17a06
BLAKE2b-256 f443ac04925a82e7285d4f20b463ef7116102d116bca9d5c0d9a69a501e0b49d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: peridot_cli-0.4.6-py3-none-any.whl
  • Upload date:
  • Size: 52.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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8129230b775b43252c3e3930304f6e86ffe38b7d22c5a5cbec1d3a6eaf901a84
MD5 014639e99cacb35ab493fa3c959cefa2
BLAKE2b-256 a0af2e05d5c3cf1049c0fd600417bc10b0d0547726b0602410f848de3638a3fb

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