diff options
| author | Daniil Baturin <daniil@vyos.io> | 2026-05-08 14:35:22 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-08 14:35:22 +0100 |
| commit | 1d81e20d7250a723390fed76708d851deead3378 (patch) | |
| tree | 3921a9442af7e92a63864c3034b4d1d1ffd07326 | |
| parent | 1a254cb07b208b7b8db5f785642b356c07245b37 (diff) | |
| parent | e13d1c2735c41b4e9f39ee2c5869562bbf345698 (diff) | |
| download | vyatta-bash-1d81e20d7250a723390fed76708d851deead3378.tar.gz vyatta-bash-1d81e20d7250a723390fed76708d851deead3378.zip | |
Merge pull request #26 from vyos/T8595-add-agents-md
general: T8595: add AGENTS.md
| l--------- | .github/copilot-instructions.md | 1 | ||||
| -rw-r--r-- | AGENTS.md | 45 |
2 files changed, 46 insertions, 0 deletions
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..492b1fc --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,45 @@ +# AGENTS.md + +## Project purpose + +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. + +## Tech stack + +- C (GNU Bash 4.1 baseline). +- GNU autotools (`Makefile.in`, `aclocal.m4`, `configure`). +- Debian packaging in `debian/`. +- License: GPL-3.0 (per `COPYING`/`LICENSE`). + +## Build / test / run + +```sh +./configure +make +dpkg-buildpackage -us -uc +``` + +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. + +## Repository layout + +- C source files at root (`alias.c`, `array.c`, `arrayfunc.c`,...) — the upstream Bash 4.1 source tree. +- `debian/` — VyOS-specific Debian packaging (`vyatta-bash` source + binary package name). +- `CODEOWNERS`, `README` (upstream Bash README), `MANIFEST`, etc. + +## Cross-repo context + +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. + +## Conventions + +- Default branch `current`. LTS branches when needed. +- Commit / PR title format: `component: T12345: description` (Phorge task ID at https://vyos.dev). +- 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. +- Treat as upstream-vendored Bash; minimise diffs against the GNU Bash 4.1 baseline. + +## Notes for future contributors + +- Filename `chceck-pr-message.yml` is a known typo; left in place to avoid breaking the workflow ref. Leave as-is unless coordinated. +- 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. +- This is GPL-3.0 (Bash); the surrounding VyOS code mostly is GPL-2.0 — ABI/binary linkage is fine, source mixing is not. |
