# Keld [![Go module documentation](https://secluded.site/assets/badges/go-module.svg)](https://pkg.go.dev/secluded.site/keld) [![MutuaL-1.2 license](https://secluded.site/assets/badges/license-mutual-1.2.svg)](https://codeberg.org/Mutualism/Mutualist-License) [![REUSE status](https://api.reuse.software/badge/tangled.org/secluded.site/keld)](https://api.reuse.software/info/tangled.org/secluded.site/keld) [![Liberapay donation status](https://img.shields.io/liberapay/receives/Amolith.svg?logo=liberapay)](https://liberapay.com/Amolith/) [![This project scratched an itch](https://secluded.site/assets/badges/scratch-an-itch.svg)](https://scratchanitch.dev) [![Open an issue on Tangled](https://secluded.site/assets/badges/tangled-issue.svg)](https://tangled.org/secluded.site/keld/issues/new) [![Open a pull request on Tangled](https://secluded.site/assets/badges/tangled-pr.svg)](https://tangled.org/secluded.site/keld/pulls/new) Keld is a friendly, TOML-configured wrapper around [restic]. It supports layered configuration, composable presets, command-specific overrides, backup hooks, arbitrary restic flags, and an interactive terminal interface. ## Install Install Keld with Go: ```sh go install secluded.site/keld@latest ``` Restic must also be installed and available in `PATH`. ## Configure Copy and adapt the example at [`examples/keld/config.toml`]. Keld loads system and user configuration, then applies preset and command-specific sections in order. Run `keld --help` for commands and options. ## Contributing You can open [an issue](https://tangled.org/secluded.site/keld/issues/new) or [pull request](https://tangled.org/secluded.site/keld/pulls/new) on Tangled. Development tasks use [`mise`]; run `mise run check` before submitting a change. [restic]: https://restic.net/ [`mise`]: https://mise.jdx.dev/