agentsclimarketplace

Strut

Skill gfargo/skills/plugins/devops/skills/strut

Personal skills marketplace — add it once, install any plugin for terminal, devops... and whatever else comes up

Install
npx -y skills add gfargo/skills --skill strut

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Operate and manage Docker Compose stacks on VPS infrastructure with the strut CLI. Use for any strut task — deploying and releasing services, database backup and restore, debugging production issues, detecting config drift, rotating secrets and keys, setting up monitoring, configuring domains and SSL, validating stacks, or auditing and migrating existing servers.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.5 KB, as published. Nobody here has run it

strut — VPS Stack Management

strut is a Bash CLI for managing Docker Compose stacks on VPS infrastructure. Commands follow the shape:

strut <stack> <command> [--env <name>] [options]

--env <name> selects the environment file .<name>.env (e.g. --env prod reads .prod.env). Most commands run against a VPS over SSH; some run locally.

Command Quick Reference

# Deploy & release
strut <stack> release --env prod          # update repo → migrate → deploy → verify (on VPS)
strut <stack> deploy  --env prod          # deploy containers (local, or VPS if VPS_HOST set)
strut <stack> rebuild --env prod          # build images on target + deploy
strut <stack> stop    --env prod          # stop containers
strut <stack> rollback --env prod         # restore previous deploy snapshot

# Inspect
strut <stack> status  --env prod          # container status
strut <stack> health  --env prod --json   # health checks
strut <stack> briefing --env prod         # one-call situation report: posture + prioritized actions
strut <stack> preflight --env prod        # deploy go/no-go verdict (GO/CAUTION/NO-GO) before releasing
strut <stack> logs <service> --follow --env prod
strut <stack> diff    --env prod          # preview pending changes vs VPS
strut fleet status                        # git sync state across all [hosts]

# Data
strut <stack> backup all --env prod       # backup all databases
strut <stack> restore <file> --dry-run    # rehearse a restore (non-destructive)
strut <stack> db:pull --env prod          # pull prod data to local

# Drift & secrets
strut <stack> drift detect --env prod     # config drift vs git
strut <stack> drift images --env prod     # stale container image digests
strut <stack> secrets push --env prod     # sync .env to VPS
strut <stack> keys db:rotate postgres --env prod

# Infrastructure
strut <stack> domain example.com [email protected] --env prod
strut audit <vps-host> [user] [ssh-key]   # discover what's running on a VPS
strut migrate <vps-host>                  # interactive migration wizard

When to Read Each Reference

Load the relevant reference file for detailed, step-by-step procedures:

TaskReference
Deploying, releasing, updating, stopping servicesreferences/deployment.md
Diagnosing production issues, 502s, crashes, disk/DB problemsreferences/debugging.md
Backing up or restoring databases, pulling prod datareferences/backups.md
Detecting or fixing config drift, auto-fix, drift historyreferences/drift.md
Rotating SSH keys, API keys, DB passwords, env secretsreferences/secrets.md
Setting up Prometheus/Grafana/Alertmanager monitoringreferences/monitoring.md
Configuring custom domains and SSL/TLS certificatesreferences/domains-ssl.md
Validating stack structure and config before deployreferences/validation.md
Auditing an existing VPS and migrating to strutreferences/migration.md

Core Principles

  1. Always --dry-run first for destructive commands (deploy, restore, drift fix, stop).
  2. Back up before major changes: strut <stack> backup all --env prod.
  3. Use release for VPS (runs remotely over SSH), not deploy (runs locally).
  4. Make changes in git, not on the VPS — let deployments propagate; drift detection catches manual edits.
  5. Health checks gate success — driven by services.conf; keep it current.
  6. Assess before you act — run briefing to triage a stack in one call, and preflight for a go/no-go before any release. Both are read-only aggregations of the checks above (--json for machine parsing).

Environment Files

Per-environment .env files live at the project root (.prod.env, .staging.env). They contain literal KEY=VALUE pairs — shell expansion ($VAR, $(cmd)) is not evaluated (strut reads them with a safe parser, not source). Files are written mode 0600.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.