a4761df3f6
gates / consistency-and-conventions (push) Successful in 2m3s
Generalizes the Telegram listener with a configurable text-prefix map (telegram_prefixes.env): any non-command message '<word> <text>' runs the mapped command with <text> appended as ONE quoted argument — e.g. opencode=opencode turns 'opencode check cpu' into opencode "check cpu". Routing order per message: text-prefix map → built-in Gemini ai bridge → /command map → Unknown command. A mapped word shadows the Gemini bridge. The prefix verb is reworked: bare = list map + bridge word; 'prefix <word> <cmd...>' = map; 'prefix <word>' = show; 'prefix -r <word>' = remove. The Gemini trigger word itself is now set via 'pos config telegram' (TELEGRAM_AI_PREFIX). Also extracted run_and_reply() to share the /command-map (60s) and prefix (120s) execution semantics; fixed a latent set -e abort on invalid templates in prefix_map_set's check_syntax call. Verified: 27/27 routing-harness assertions, full CLI verb suite, dispatch smoke, pos config telegram render, bash -n, make gen && make check, make lint 0 FAIL / 0 WARN, shellcheck -S style (0 new findings).
Documentation
Everything in this folder is reference material for the Linux_post_install project. The root README is the short intro + quick start; this folder holds the detail.
| Document | What it covers |
|---|---|
| HOWTO.md | Hands-on guides per category (ai, network, docker, media, system, ssh, share, communication, entertainment): flags, recipes, config, troubleshooting |
| SCRIPTS.md | Core installer scripts: install.sh, preinstall.sh, postinstall.sh, lib/common.sh, lib/flags.sh, lib/entertainment-lib.sh, features/autostart.sh, features/usb-automount.sh — purpose, how each works, configuration |
| POS.md | The pos CLI: dispatcher, every pos-* command, Docker Compose / ScaleTail config, legacy wrappers, flag CLIs |
| APPS.md | Optional apps: apps/install.sh picker, installer conventions, full app catalog |
| SYSTEMD.md | Systemd units (autostart.service, usb-automount.service, ssh-agent.service), feature-flag gating, bash completion |
| DEV.md | Developer guide: architecture, conventions, how to add tools/apps/features, commit guidelines |
| AGENT_Context_Project.md | Single-source context doc for AI agents working on the repo |
| algorithm.md | ASCII diagrams: install flow, pos dispatch, compose up, config cascade, logging, vbox lifecycle |
Quick navigation
- Just installed and want to use it? → POS.md
- Adding a package? → SCRIPTS.md → preinstall.sh
- Adding a CLI tool or app? → DEV.md
- First deploy of a self-hosted service? → POS.md → Docker Compose