Trame - SliTaz unified system administration backend
=====================================================

Trame is the administrative backbone of SliTaz. A single CLI with
sub-commands that centralizes system configuration: hostname, services,
wifi, network, users, mount points, time, firewall, etc.

It serves three consumers from one source of truth:

  1. Wove        - the natural-language sysadmin assistant calls Trame
                   sub-commands instead of raw Unix utilities.
  2. TazPanel V2 - the next-gen admin GUI builds on Trame instead of
                   reimplementing logic in CGI/shell.
  3. Humans      - usable directly in a terminal, scriptable, stable.

This release ships Trame 0.1: the backbone (common API, dispatcher,
JSON output, dry-run/explain/schema, TSV logging) validated on three
representative sub-commands.

  trame system    - read-only system information
  trame hostname  - get / set the system hostname
  trame service   - manage BusyBox SysV init services

See doc/CONVENTIONS.md for the output, exit code, and flag conventions
shared by every sub-command. See doc/ROADMAP.md for what 0.2 - 0.5
will add.


Quick start
-----------

  trame system info
  trame service list
  trame service status httpd
  trame hostname set myhost --dry-run
  trame hostname set myhost --json

Universal options work everywhere:

  --json          emit JSON on stdout
  --json-pretty   indented JSON (debug)
  --dry-run       simulate, do not mutate
  --explain       print the commands Trame would run, as JSON
  --schema        print the sub-command JSON schema
  --quiet         no stdout on success, exit code only
  --yes           skip confirmations


Build and install
-----------------

  make test       run the test suite (shell, busybox-safe)
  make install    install into $DESTDIR$PREFIX (default /usr)


Files
-----

  /usr/bin/trame                       dispatcher
  /usr/lib/slitaz/trame/common.sh      stable API
  /usr/lib/slitaz/trame/trame-*.sh     sub-commands
  /usr/share/trame/schemas/*.json      JSON schemas
  /etc/slitaz/trame.conf               configuration
  /var/log/trame.log                   TSV mutation log


Copyright (C) SliTaz GNU/Linux - BSD License - see COPYING.
