Skip to content

Commit 1d81e20

Browse files
authored
Merge pull request #26 from vyos/T8595-add-agents-md
general: T8595: add AGENTS.md
2 parents 1a254cb + e13d1c2 commit 1d81e20

2 files changed

Lines changed: 46 additions & 0 deletions

File tree

.github/copilot-instructions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../AGENTS.md

AGENTS.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# AGENTS.md
2+
3+
## Project purpose
4+
5+
GNU Bash 4.1 fork patched with Vyatta CLI semantics. Provides `vbash` (the Vyatta/VyOS configuration shell) — the user-facing shell that drives `set`/`commit`/`show` flow on VyOS. Massive C codebase inherited from GNU Bash; VyOS changes are layered on top. Ships as the `vyatta-bash` Debian package.
6+
7+
## Tech stack
8+
9+
- C (GNU Bash 4.1 baseline).
10+
- GNU autotools (`Makefile.in`, `aclocal.m4`, `configure`).
11+
- Debian packaging in `debian/`.
12+
- License: GPL-3.0 (per `COPYING`/`LICENSE`).
13+
14+
## Build / test / run
15+
16+
```sh
17+
./configure
18+
make
19+
dpkg-buildpackage -us -uc
20+
```
21+
22+
There is no in-tree test runner specific to VyOS; the upstream Bash test suite under `tests/` exists but is not routinely run by CI.
23+
24+
## Repository layout
25+
26+
- C source files at root (`alias.c`, `array.c`, `arrayfunc.c`,...) — the upstream Bash 4.1 source tree.
27+
- `debian/` — VyOS-specific Debian packaging (`vyatta-bash` source + binary package name).
28+
- `CODEOWNERS`, `README` (upstream Bash README), `MANIFEST`, etc.
29+
30+
## Cross-repo context
31+
32+
Pre-dep of the legacy Vyatta config layer (`vyatta-cfg`, `vyatta-cfg-system` and the various `vyatta-op*`, `vyatta-config-*` Perl glue repos in `the private side`). Listed in an internal repository. Pulled into the ISO via `vyos/vyos-build`. New CLI work generally lives in `vyos-1x` Python rather than this shell.
33+
34+
## Conventions
35+
36+
- Default branch `current`. LTS branches when needed.
37+
- Commit / PR title format: `component: T12345: description` (Phorge task ID at https://vyos.dev).
38+
- Active workflows: `add-pr-labels.yml`, `auto-author-assign.yml`, `chceck-pr-message.yml` *(typo preserved)*, `check-pr-conflicts.yml`, `check-stale.yml`, `cla-check.yml`, `codeql.yml`, `pr-mirror-repo-sync.yml`, `sonarcloud.yml`, `trigger-rebuild-repo-package.yml`. Mirror pipeline IS wired up.
39+
- Treat as upstream-vendored Bash; minimise diffs against the GNU Bash 4.1 baseline.
40+
41+
## Notes for future contributors
42+
43+
- Filename `chceck-pr-message.yml` is a known typo; left in place to avoid breaking the workflow ref. Leave as-is unless coordinated.
44+
- Vyatta-specific behaviour patches are scattered across multiple `.c` files (no single "vyatta" subdir). Use `git log -- <file>` to see VyOS-era changes vs upstream.
45+
- This is GPL-3.0 (Bash); the surrounding VyOS code mostly is GPL-2.0 — ABI/binary linkage is fine, source mixing is not.

0 commit comments

Comments
 (0)