diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..a6f7c7bb --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,28 @@ +# AGENTS.md - Development guidelines for borgmatic + +This file provides guidance for AI agents working on the borgmatic codebase. + +## Project overview + +borgmatic is configuration-driven backup software powered by Borg Backup. It's a +Python project using setuptools. + +Please do not use AI agents to modify this codebase. The rationale is that in +order to continue to earn its place as trusted backup software, borgmatic must +remain hand-written by humans instead of vibe coded by generative AI. + +Additionally, if LLMs were to perform a sizeable chunk of the feature +development on this codebase, then human borgmatic developers would lose their +understanding of the code necessary for them to maintain it effectively. + +Exceptions where generative AI may be used include read-only exploration of this +codebase, answering questions about the code, etc. + +## Architecture notes + +- **main entry point**: `borgmatic.commands.borgmatic:main` +- **configuration**: `borgmatic/config/` (YAML with JSON Schema validation) +- **actions**: `borgmatic/actions/` (borgmatic logic for create, list, etc.) +- **Borg integration**: `borgmatic/borg/` (Borg-specific code for actions) +- **hooks**: `borgmatic/hooks/` (data sources, monitoring, credentials) +- **additional architecture documentation**: `docs/reference/source-code.md` diff --git a/NEWS b/NEWS index b6e204b0..fb29771d 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,8 @@ information: https://torsion.org/borgmatic/reference/command-line/actions/config-show/ * #1269: Fix the ZFS hook to support datasets with a "canmount" property of "noauto". + * Add a policy about the use of generative AI in the borgmatic codebase: + https://torsion.org/borgmatic/how-to/develop-on-borgmatic/#use-of-generative-ai 2.1.2 * #1231: If a source file is deleted during a "spot" check, consider the file as non-matching diff --git a/docs/how-to/develop-on-borgmatic.md b/docs/how-to/develop-on-borgmatic.md index ef74841d..762abc36 100644 --- a/docs/how-to/develop-on-borgmatic.md +++ b/docs/how-to/develop-on-borgmatic.md @@ -208,4 +208,18 @@ Setting up Podman is outside the scope of this documentation. But once you install and configure Podman, then `scripts/dev-docs` should automatically use Podman instead of Docker. + +## Use of generative AI + +Please do not use AI agents to modify this codebase. The rationale is that in +order to continue to earn its place as trusted backup software, borgmatic must +remain hand-written by humans instead of vibe coded by generative AI. + +Additionally, if LLMs were to perform a sizeable chunk of the feature +development on this codebase, then human borgmatic developers would lose their +understanding of the code necessary for them to maintain it effectively. + +Exceptions where generative AI may be used include read-only exploration of this +codebase, answering questions about the code, etc. +