summaryrefslogtreecommitdiff
path: root/AGENTS.md
blob: 35d61834c1d748227948361c067d6deec51fd6d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# AGENTS.md

## Project purpose
Legacy Vyatta configuration system: config back-end, base configuration templates, and config-mode CLI completion mechanism. Maintained for compatibility on VyOS LTS trains; new feature work goes into `vyos-1x` Python.

## Tech stack
- C/C++. Autotools build (`configure.ac`, `Makefile.am`).
- Build deps (`debian/control`): `debhelper (>= 10)`, `libglib2.0-dev`, `libboost-filesystem-dev`, `libapt-pkg-dev`, `libtool`, `flex`, `bison`, `autoconf`, `automake`, `pkg-config`, `cpio`, `dh-autoreconf`.
- Debian packaging via `dpkg-buildpackage`.

## Build / test / run
```
autoreconf -i &&./configure && make
# or, in tree:
dpkg-buildpackage -uc -us -tc -b
```
No upstream test harness — validation happens at the integration level inside the live ISO build.

## Repository layout
- `src/`, `lib/`, `scripts/`, `functions/` — C/C++ sources, helper scripts, shell functions for the legacy CLI shell (`vbash`).
- `etc/` — installed templates and skeleton config.
- `debian/` — packaging.
- `configure.ac`, `Makefile.am` — autotools.

## Cross-repo context
Pulled into ISO builds via `vyos/vyos-build` (listed in an internal repository). Pairs at runtime with `vyos/vyatta-bash` (the patched bash that hosts the CLI). Functionality has been progressively rewritten into `vyos/vyos-1x` (Python conf-mode/op-mode scripts) and `vyos/vyconf` (future OCaml session daemon).

## Conventions
- Commit/PR title: `component: T12345: description` (Phorge task ID at https://vyos.dev). Enforced by `vyos/.github/.github/workflows/check-pr-message.yml@production`.
- Release-train branches: `rolling`, `circinus` (1.5 LTS), `sagitta` (1.4 LTS), `equuleus` (1.3 LTS).
- Backports via `@Mergifyio backport <branch>` (Mergify built-in command).
- Reusable workflows pinned to `vyos/.github/.github/workflows/<name>.yml@production` — changes ship immediately on merge.
- Mergify config (single rule, adds `conflicts` label) lives in this repo.

## Notes for future contributors
- Treat as maintenance-only. New features go to `vyos-1x`. Touch this repo only for bug fixes on LTS trains or to keep templates compatible with current Debian.
- The `pr-mirror-repo-sync.yml` workflow runs serially per merged PR; expect a downstream PR opened in an internal repository after merge. If `mirror-failed` label appears, see `vyos/.github` PRMirrorOnboarding.md.