Skip to content

feat(module): add ag, asciidoctor, xclip, xsel, ansifilter, tealdeer apt modules - #383

Merged
ycpss91255 merged 2 commits into
mainfrom
auto/modules-cli-a2
Jul 11, 2026
Merged

feat(module): add ag, asciidoctor, xclip, xsel, ansifilter, tealdeer apt modules#383
ycpss91255 merged 2 commits into
mainfrom
auto/modules-cli-a2

Conversation

@ycpss91255

Copy link
Copy Markdown
Owner

Summary

Adds six more apt-archetype CLI/utility modules for the small-tools
modularization program, each with a matching unit spec:

Module apt package binary doctor notes
ag silversearcher-ag ag ag --version the_silver_searcher fast code search
asciidoctor asciidoctor asciidoctor asciidoctor --version AsciiDoc processor
xclip xclip xclip command -v xclip X11 clipboard; SUPPORTED_PLATFORMS=(desktop)
xsel xsel xsel command -v xsel X11 selection; SUPPORTED_PLATFORMS=(desktop)
ansifilter ansifilter ansifilter ansifilter --version strip/convert ANSI escape codes
tealdeer tealdeer tldr tldr --version fast Rust tldr client

All six are optional apt-archetype modules (module_use_apt_archetype) that
satisfy the 10-function module contract (ADR-0002, enforced by the #305
contract-conformance meta-test), with en + zh-TW DESCRIPTION,
SUPPORTED_UBUNTU=("22.04" "24.04" "26.04"), dual-mode standalone/engine
entry, a TEST_VERIFY_CMD matching the module's real doctor() probe, and a
real doctor() that verifies the tool actually runs (not just
is_installed).

xclip/xsel are desktop-only because they need a live X display.

tealdeer overrides install() to seed the tldr page cache with
tldr --update as a best-effort post-step: a failed cache refresh only warns
and never aborts the install (mirrors the small-tools tealdeer fix, issue
#263). A POST_INSTALL_MESSAGE tells the user to re-run tldr --update if
there was no network at install time.

doc/module/INDEX.md regenerated (60 modules); CHANGELOG [Unreleased]
Added entry.

Test plan

  • just -f justfile.ci lint — ShellCheck / fish / hadolint OK
  • just -f justfile.ci test-unit — 0 failures (each new spec 51-54 tests)
  • #305 contract-conformance meta-test — 5/5
  • just -f justfile.ci test-integration — 24/24
  • just -f justfile.ci coverage — OK

🤖 Generated with Claude Code

https://claude.ai/code/session_01NX5H2vuMTv4mBmjpPYoS3s

ycpss91255 and others added 2 commits July 11, 2026 21:28
…apt modules

Six more apt-archetype CLI/utility modules for the small-tools modularization
program. Each is an `optional` apt-archetype module (module_use_apt_archetype)
satisfying the 10-function contract (ADR-0002, #305 conformance) with en +
zh-TW i18n, SUPPORTED_UBUNTU 22.04/24.04/26.04, dual-mode standalone/engine
entry, a matching TEST_VERIFY_CMD, and a REAL doctor() that verifies the tool
runs:

- ag          — apt silversearcher-ag (binary ag); doctor: ag --version
- asciidoctor — apt asciidoctor;      doctor: asciidoctor --version
- xclip       — apt xclip; SUPPORTED_PLATFORMS=(desktop); doctor: command -v xclip
- xsel        — apt xsel;  SUPPORTED_PLATFORMS=(desktop); doctor: command -v xsel
- ansifilter  — apt ansifilter;       doctor: ansifilter --version
- tealdeer    — apt tealdeer (binary tldr); doctor: tldr --version. install()
                overrides to seed the page cache with `tldr --update` as a
                best-effort post-step that only warns (never aborts) on no
                network (mirrors the small-tools fix, issue #263), plus a
                POST_INSTALL_MESSAGE telling the user to re-run tldr --update.

xclip/xsel are desktop-only (need an X display). Each ships a full unit spec
(metadata, is_installed clean-state, dry-run no-ops, idempotency, sidecar
lifecycle, standalone CLI, lifecycle incl. doctor); tealdeer additionally
covers the best-effort cache seed + POST_INSTALL_MESSAGE. doc/module/INDEX.md
regenerated (60 modules); CHANGELOG [Unreleased] Added entry.

Gates (Docker, blocking foreground): lint OK, test-unit 0 failures (6 new
specs 51-54 tests each), test-integration 24/24, #305 contract-conformance
5/5, coverage recipe OK.

Claude-Session: https://claude.ai/code/session_01NX5H2vuMTv4mBmjpPYoS3s

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
# Conflicts:
#	doc/module/INDEX.md
@ycpss91255
ycpss91255 enabled auto-merge (squash) July 11, 2026 13:31
@ycpss91255
ycpss91255 merged commit 6717623 into main Jul 11, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant