A registry with a stray space or newline passed validation and was
concatenated verbatim into the archive URL, so curl saw the malformed
address instead of the user seeing the required-registry error. Trim the
value before matching and reject any whitespace left inside it; apply the
same to a spec's explicit url.
The shipped default named one private, internet-unreachable host, so an
unconfigured install failed against a server it could never reach rather
than saying what to set.
- drop the registry default and make the option required
- reject a non-string, empty, or non-http(s) registry with the option name
and how to set it
- ask for a registry only when a run has to resolve one, so clean, list,
and specs with an explicit url keep working without it
The docs described one specific deployment by hostname, reading as though
arti-pack only works there. It works against any HTTP artifact repository that
serves a tag archive at a stable URL.
- describe the registry as any HTTP artifact repository, with Artifactory as
the worked example
- use a placeholder host in every configuration and URL example
- state that registry must be set, since the shipped default is site-specific
- add lua modules for spec parsing, lock state, fs helpers and the installer
- add ArtiPackSync/ArtiPackClean/ArtiPackList commands and help doc
- add headless nvim test harness and specs
- add make test/lint/fmt/pre-commit and patch/minor/major bump targets
- add woodpecker test, lint and pre-commit pipelines