From 6db63b8d398b00316e4dc5ac8c281795ffd42712 Mon Sep 17 00:00:00 2001 From: Yuriy Andamasov Date: Thu, 7 May 2026 14:32:41 +0300 Subject: general: T8595: add AGENTS.md --- .github/copilot-instructions.md | 1 + AGENTS.md | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 120000 .github/copilot-instructions.md create mode 100644 AGENTS.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 120000 index 0000000..be77ac8 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1 @@ +../AGENTS.md \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..64f7f03 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,41 @@ +# AGENTS.md + +## Project purpose +Software appliance configuration framework. Future config-session daemon for VyOS — owns the verify/generate/apply state machine, atomic commits, rollback, and protobuf IPC. Per the in-repo README: "VyConf is an early stage of development. It's incomplete and cannot be used yet." Production VyOS still uses the `vyos-1x` Python config layer that wraps `vyos1x-config` via `libvyosconfig`. + +## Tech stack +- OCaml. `dune` build system, `opam` package manager (`vyconf.opam`, `dune-project`). +- License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception. +- Build deps (`vyconf.opam`): `menhir`, `dune (>=1.4.0)`, `ocaml-protoc`, `ounit2`, `lwt (>=4.1.0)`, `lwt_ppx`, `lwt_log`, `fileutils`, `ppx_deriving`, `ppx_deriving_yojson`, `ocplib-endian`, `xml-light`, `toml`, `sha`, `pcre2`. + +## Build / test / run +``` +opam install . --deps-only +dune build -p vyconf +dune runtest # ounit2 test suite under test/ +``` + +## Repository layout +- `src/` — daemon source (lwt-based async I/O, protobuf IPC). +- `data/` — schema/config samples. +- `scripts/` — helper scripts. +- `test/` — `ounit2` unit tests. +- `architecture.md`, `README.md` — design docs. +- `dune-project`, `vyconf.opam` — build manifest. + +## Cross-repo context +Sibling to `vyos/vyos1x-config` (the OCaml library that owns the actual config-tree data layer). `vyconf` is the daemon that will eventually own runtime config sessions on top of `vyos1x-config`. Currently the production runtime instead uses Python (`vyos-1x/python/vyos/configtree.py`) calling into `libvyosconfig0` (built from `vyos-1x/libvyosconfig/`, which wraps `vyos1x-config`). When `vyconf` lands, conf-mode/op-mode scripts in `vyos-1x` will talk to it via protobuf IPC. + +## Conventions +- Commit/PR title: `component: T12345: description` (Phorge task ID at https://vyos.dev). Enforced by `vyos/.github` reusable. +- Default branch: `current`. Release-train branches: `current`, `circinus`, `sagitta`, `equuleus`. +- Mergify backports via `@Mergifyio backport `. +- OCaml core repos (this, `vyos1x-config`, `vyos-utils`) follow MIT/LGPL upstream norms. + +## Mirror relationship +Mirror twin: `VyOS-Networks/vyconf` (mirror status not confirmed live in the gen-1 pipeline; treat `vyos/*` as canonical). + +## Notes for future contributors +- This is pre-1.0 — APIs and IPC shapes are unstable. Coordinate any cross-repo changes with the `vyos-1x` and `vyos1x-config` maintainers. +- `dune subst` step (`["dune" "subst"] {pinned}`) only runs from a pinned/published opam install; vendored builds skip it. +- Architecture doc at `architecture.md` explains the verify/generate/apply phasing — read it before adding new commit semantics. -- cgit v1.2.3 From c7604f8ce705398f6fc77667b80a38f93968c91a Mon Sep 17 00:00:00 2001 From: Yuriy Andamasov Date: Thu, 7 May 2026 19:04:51 +0300 Subject: general: T8595: clean leaked internal references --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 64f7f03..25c1275 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,7 +10,7 @@ Software appliance configuration framework. Future config-session daemon for VyO ## Build / test / run ``` -opam install . --deps-only +opam install. --deps-only dune build -p vyconf dune runtest # ounit2 test suite under test/ ``` -- cgit v1.2.3 From 0e4d03de45c70fe05bc0080045df7f1b5b700917 Mon Sep 17 00:00:00 2001 From: Yuriy Andamasov Date: Thu, 7 May 2026 19:28:35 +0300 Subject: general: T8595: scrub private-org references from public AGENTS.md --- AGENTS.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 25c1275..f5a207e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -32,9 +32,6 @@ Sibling to `vyos/vyos1x-config` (the OCaml library that owns the actual config-t - Mergify backports via `@Mergifyio backport `. - OCaml core repos (this, `vyos1x-config`, `vyos-utils`) follow MIT/LGPL upstream norms. -## Mirror relationship -Mirror twin: `VyOS-Networks/vyconf` (mirror status not confirmed live in the gen-1 pipeline; treat `vyos/*` as canonical). - ## Notes for future contributors - This is pre-1.0 — APIs and IPC shapes are unstable. Coordinate any cross-repo changes with the `vyos-1x` and `vyos1x-config` maintainers. - `dune subst` step (`["dune" "subst"] {pinned}`) only runs from a pinned/published opam install; vendored builds skip it. -- cgit v1.2.3 From 62a1e6a5c9bc2bab70e385f793831de68ce29bb9 Mon Sep 17 00:00:00 2001 From: Yuriy Andamasov Date: Thu, 7 May 2026 21:35:50 +0300 Subject: general: T8595: restore eaten spaces in shell command examples --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index f5a207e..3747914 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,7 +10,7 @@ Software appliance configuration framework. Future config-session daemon for VyO ## Build / test / run ``` -opam install. --deps-only +opam install . --deps-only dune build -p vyconf dune runtest # ounit2 test suite under test/ ``` -- cgit v1.2.3