diff options
| author | Daniil Baturin <daniil@vyos.io> | 2026-05-07 11:20:00 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-07 11:20:00 +0100 |
| commit | dd0b518ddde0f216a083730f9bd0d047037b31e8 (patch) | |
| tree | 49b1d04141225b9b19a1dcd3e519c5b2bb749321 | |
| parent | ca40f84a385656878f22912b8d680bc0a4314a3d (diff) | |
| parent | 35cca769f6a9a43c2f9a968141c8dcb490db3823 (diff) | |
| download | ipaddrcheck-dd0b518ddde0f216a083730f9bd0d047037b31e8.tar.gz ipaddrcheck-dd0b518ddde0f216a083730f9bd0d047037b31e8.zip | |
Merge pull request #24 from vyos/T8595-add-claude-md
general: T8595: add CLAUDE.md
| l--------- | .github/copilot-instructions.md | 1 | ||||
| l--------- | AGENTS.md | 1 | ||||
| -rw-r--r-- | CLAUDE.md | 51 |
3 files changed, 53 insertions, 0 deletions
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 120000 index 0000000..949a29f --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1 @@ +../CLAUDE.md
\ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md new file mode 120000 index 0000000..681311e --- /dev/null +++ b/AGENTS.md @@ -0,0 +1 @@ +CLAUDE.md
\ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..867ff78 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,51 @@ +# CLAUDE.md + +## Project purpose + +C utility for IPv4/IPv6 address and prefix validation in shell scripts. Used by VyOS as the canonical "is this string a valid IP / network / host / CIDR?" checker invoked from XML validators and conf-mode scripts. Fast and exit-status-driven (intended for `if ipaddrcheck --is-ipv4 ...; then ...`). + +## Tech stack + +- C, autotools (`configure.ac`, `Makefile.am`, autoconf 2.x). +- Dependencies: `libcidr` (parsing), `libpcre2-8` (regex), `check >= 0.9.4` (test framework). +- Debian packaging under `debian/`. Upstream autotools version `1.1` (`configure.ac`); current Debian package version `1.4` (`debian/changelog`). + +## Build / test / run + +``` +autoreconf -fi # generate configure +./configure +make +make check # uses libcheck unit tests under tests/ +make install # installs into AC_PREFIX_DEFAULT (/usr) +# Debian package +dpkg-buildpackage -uc -us -tc -b +``` + +## Repository layout + +- `src/` — C sources (`ipaddrcheck.c`, headers, autotools `Makefile.am`). +- `tests/` — libcheck C unit tests (`check_ipaddrcheck.c`) and shell integration tests (`assert.sh`, `integration_tests.sh`). +- `man/` — manpages. +- `debian/` — Debian packaging. +- `configure.ac`, `Makefile.am`, `INSTALL`, `NEWS`, `ChangeLog`, `AUTHORS`, `COPYING` (GPL-2), `COPYING-LGPL` (LGPL-2.1). + +## Cross-repo context + +One of the canonical 14 VyOS-image build packages, listed in `VyOS-Networks/vyos-build-packages/repos.toml`. Built into VyOS images by `vyos-build` and invoked at runtime by `vyos-1x` validators and conf-mode scripts. Sits in the §3.5 native-libraries category alongside `hvinfo`, `udp-broadcast-relay`, etc. + +## Conventions + +- Commit / PR title format: `component: T12345: description` (Phorge task ID at https://vyos.dev mandatory). Enforced by `vyos/.github` reusable workflows where consumed. +- Branch model: `current` (rolling), `circinus` (1.5 LTS), `sagitta` (1.4 LTS), `equuleus` (1.3 LTS). +- Maintained by the VyOS team (`maintainers@vyos.net`); license is GPL-2 + LGPL-2.1 dual. + +## Mirror relationship + +Mirror twin: `VyOS-Networks/ipaddrcheck`. Canonical side is **here** (`vyos/ipaddrcheck`). + +## Notes for future contributors + +- Used as a CLI-level validator — exit status 0/1 is the contract. Don't break stdout/stderr conventions or add chatty output. +- `libcidr` is by Matthew Fuller (http://www.over-yonder.net/~fullermd/projects/libcidr) — Debian-packaged. +- Adding a new flag: extend `src/ipaddrcheck.c`'s argument table and add a libcheck test under `tests/`. |
