Skip to content

feat(module): add tig, git-lfs, tree, ncdu, net-tools, sshfs apt modules - #380

Merged
ycpss91255 merged 1 commit into
mainfrom
auto/modules-cli-a1
Jul 11, 2026
Merged

feat(module): add tig, git-lfs, tree, ncdu, net-tools, sshfs apt modules#380
ycpss91255 merged 1 commit into
mainfrom
auto/modules-cli-a1

Conversation

@ycpss91255

Copy link
Copy Markdown
Owner

Summary

Adds six apt-archetype CLI/utility modules for the small-tools modularization
program. Each is an optional apt-archetype module (module_use_apt_archetype)
that satisfies the 10-function module contract (ADR-0002, enforced by the #305
contract-conformance meta-test), carries en + zh-TW i18n descriptions,
SUPPORTED_UBUNTU=("22.04" "24.04" "26.04"), the dual-mode standalone/engine
entry convention, and a REAL doctor() that verifies the tool actually runs.

Modules

Module apt package DEPENDS_ON doctor probe
tig tig ("git") tig --version
git-lfs git-lfs ("git") git lfs version
tree tree () tree --version
ncdu ncdu () ncdu -v
net-tools net-tools () command -v ifconfig
sshfs sshfs () command -v sshfs

git-lfs overrides install() to run the one-time git lfs install (global
smudge/clean filter registration) as the apt post-step; the step is dry-run
safe and skipped when git is not on PATH (warns, never aborts).

Files

  • module/<name>.module.sh x6
  • test/unit/module/<name>_spec.bats x6 (metadata sanity, is_installed
    clean-state, dry-run no-ops, idempotency, sidecar lifecycle per ADR-0001,
    standalone CLI exit-code contract, lifecycle including doctor())
  • doc/module/INDEX.md regenerated (54 modules)
  • doc/changelog/CHANGELOG.md [Unreleased] > Added entry

Test plan

All gates run inside Docker (blocking foreground):

  • just -f justfile.ci lint — ShellCheck / fish / Hadolint OK (285 scripts)
  • just -f justfile.ci test-unit — 0 failures
  • just -f justfile.ci test-integration — 24/24
  • #305 contract-conformance meta-test — 5/5 (discovers all 54 modules)

Generated with Claude Code.

https://claude.ai/code/session_01NX5H2vuMTv4mBmjpPYoS3s

Six 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, and a REAL doctor() that verifies the tool runs:

- tig       — apt tig;       DEPENDS_ON=(git); doctor: tig --version
- git-lfs   — apt git-lfs;    DEPENDS_ON=(git); install() runs the one-time
              `git lfs install` post-step; doctor: git lfs version
- tree      — apt tree;       doctor: tree --version
- ncdu      — apt ncdu;       doctor: ncdu -v
- net-tools — apt net-tools;  doctor: command -v ifconfig
- sshfs     — apt sshfs;      doctor: command -v sshfs

Each ships a full unit spec (metadata, is_installed clean-state, dry-run
no-ops, idempotency, sidecar lifecycle, standalone CLI, lifecycle incl.
doctor). doc/module/INDEX.md regenerated (54 modules); CHANGELOG [Unreleased]
Added entry.

Gates (Docker, blocking foreground): lint OK, test-unit 0 failures,
test-integration 24/24, #305 contract-conformance 5/5.

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

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@ycpss91255
ycpss91255 enabled auto-merge (squash) July 11, 2026 11:28
@ycpss91255
ycpss91255 merged commit e100b3b 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