session-log

= aloli-crystal/session-log :toc: left :toc-title: Contents

Session log for Crystal CLIs: re-runs the program under script(1) (or a tee) so that everything shown in the terminal is recorded in a file.

== Install

[source,yaml]

dependencies: session-log: github: aloli-crystal/session-log version: "~> 0.1"

== Quickstart

[source,crystal]

require "session-log"

config = SessionLog::Config.new("monoutil", MonOutil::VERSION, File.join(ENV["HOME"], ".local/state/monoutil/logs")) argv, refuse = SessionLog.strip_flag(ARGV) # --no-log, n'importe où

À l'application de choisir quoi journaliser : jamais l'aide, ni les

commandes qui affichent ou font saisir des secrets.

if !refuse && !config.active? && (cmd = argv.first?) && !{"help", "secret"}.includes?(cmd) exit SessionLog.run(config, argv, config.path(cmd, argv[1]?)) end exit MonOutil.run(argv)

== Status

== Documentation

== ALOLI conventions

This shard follows the https://github.com/aloli-crystal[aloli-crystal/*] ecosystem conventions:

  • VERSION constant read at compile-time from shard.yml — cannot drift.
  • CLI accepts session-log help [<sub>] (UX-standard equivalent of --help + per-subcommand focus).
  • Default branch is production (never main).
  • SemVer 3-digit for original creations, 4-digit for ports of Ruby gems.

To start a new shard with these conventions, see https://github.com/aloli-crystal/shard-template[aloli-crystal/shard-template].

== License

MIT — see LICENSE.

Repository

session-log

Owner
Statistic
  • 0
  • 0
  • 0
  • 1
  • 1
  • 1 day ago
  • October 25, 2026
License

MIT License

Links
Synced at

Sun, 25 Oct 2026 09:01:34 GMT

Languages