Capsus v1.0.0: released and archived
Capsus v1.0.0 is out, and it is also the last release. Capsus is my toolbox that puts Munus, Cryptare and Salus into a single capsus command. Right after the release I archived the repository, the same as the three tools it bundles (more on those here).
The repository stays public and the release stays downloadable, so Capsus can still be used, and anyone is free to fork it and take it over.
What’s in v1.0.0
Capsus v1.0.0 bundles the final release of each tool:
| Tool | Version | What it does | TUI |
|---|---|---|---|
| Munus | v1.0.1 | Terminal task manager: tasks with deadlines, statuses and tags in a local SQLite database | Yes |
| Cryptare | v1.4.1 | Encrypt, decrypt, compress and extract files and folders, and manage password-protected keys | Yes |
| Salus | v1.2.1 | Environment health checks for disk, memory, CPU, Docker, Kubernetes, services and certificates, with PASS/WARN/FAIL results | No (CLI only) |
- One menu for everything
- Running
capsusopens a menu that lists each tool with a short description - Enter launches the tool’s own terminal UI and returns to the menu when it exits; Salus has no TUI, and the menu says so
capsus --vimopens the menu and passes--vimto Munus and Cryptare for Vim-style keys
- Running
- Every tool’s CLI, unchanged
capsus munus|cryptare|salus [args...]runs that tool’s CLI with the arguments as given and exits with the tool’s exit codecapsus listprints the tool list as plain text for scriptscapsus --versionprints the Capsus version and the version of each bundled tool
- Shared data
- Each tool keeps its own configuration, so Capsus and the standalone binaries use the same databases
MUNUS_DB_PATH,CRYPTARE_DB_PATHandSALUS_DB_PATHstill choose where each tool keeps its data
capsus # open the menu
capsus list # list the bundled tools
capsus munus list # run Munus's CLI
capsus salus check run # run Salus's health checks
capsus --version # Capsus and bundled tool versions
Downloads
- Six archives: Linux, macOS and Windows, each on x86-64 and ARM64, on the release page
- Licenses included: each archive holds the binary, named for its platform (for example
capsus_linux_amd64, orcapsus_windows_amd64.exeon Windows), withLICENSE,NOTICE.txtandTHIRD_PARTY_LICENSES. Rename it tocapsusto run the examples above as written - Static on Linux: the Linux binaries are fully static (musl), so they do not depend on the system’s C library
- Built and tested natively: every binary is built on its own platform and smoke-tested before it is packaged
- Verifiable: the release has a
checksums.txtof SHA-256 sums, and every archive carries a signed build provenance attestation
To verify a download before you run it:
gh attestation verify capsus_linux_amd64.tar.gz --repo jabbott-iii/Capsus
Capsus has no container image, and go install is not supported because the root module points at the bundled tools’ folders with replace directives. To build from source you need Go 1.26, a C compiler (SQLite needs CGO), GNU Make, bash and git, then run make build.
Testing
- CI runs
go vet, golangci-lint and the tests for Capsus and each bundled tool on Linux, macOS and Windows, with the race detector on Linux and macOS. It passed on the release commit. - Up to the release, CodeQL and gosec scanned every module on every change and weekly. They passed on the release commit, and with the repository archived they no longer run.
Archived
As with Munus, Cryptare and Salus, archiving means:
- Read-only: GitHub does not accept new commits, issues or pull requests on the repository
- No more updates: no new features, bug fixes or security patches from me; like all Apache-2.0 software, Capsus is provided as-is, without warranty
- Still available: the source code and the release downloads stay public
The README in the repository was written before the release and still says there is no release yet. The release page is the current one.
Taking it over
Anyone is free to fork Capsus and take it over. The Apache License 2.0 lets you use, change and redistribute it, commercially or not. When you redistribute it, include the LICENSE, keep the NOTICE.txt file and the copyright notices in the source files, and mark the files you change. Ship THIRD_PARTY_LICENSES with any binaries, as the release does, since they contain third-party code under its own licenses.
A fork needs nothing from the archived tool repositories. Munus, Cryptare and Salus live in the Munus/, Cryptare/ and Salus/ folders as git subtrees, and the root go.mod replaces each tool’s module with its folder, so changes to a tool can go straight into its folder. Change the module path in the root go.mod (module github.com/jabbott-iii/Capsus) to your fork’s path, and update the github.com/jabbott-iii/Capsus/internal/launcher imports in main.go and main_test.go to match. The CI, security, Docker and release workflows in .github/workflows/ come with the fork. GitHub leaves Issues off in a new fork and does not run the inherited workflows until you enable them, so turn Issues on in the fork’s settings and enable the workflows from its Actions tab when you want them.
Thank you for following along!