# @mmmbuto/masix

Official npm package for the Termux distribution of MasiX (MIT).

MasiX is Termux-first. Linux and macOS are supported through source builds and the Homebrew tap.

Current package line: `0.4.14`.

## Function Summary

- Telegram bot automation with interactive inline menus
- Real MCP tool-calling flow through API-compatible endpoints
- Natural-language reminder scheduling with cron persistence
- Cron scope isolation per bot/account (`account_tag`)
- Workdir isolation per Telegram account
- User memory isolation with per-user catalog (`meta.json`)
- Termux wake lock control (`masix termux wake on|off|status`)
- Guarded command execution (`/exec`, `/termux`) with allowlists
- Termux boot automation (`masix termux boot enable|disable|status`)
- Optional local STT via whisper.cpp (`masix config stt`)
- Bundled `plugin-base` packages are included and installed during `npm install`
- If a bundled `.pkg` is missing, MasiX can fall back to source build for the module
- Startup update checks are available on demand via `masix check-update`

## Install (Termux)

```bash
pkg update -y
pkg install -y rust nodejs-lts termux-api
npm install -g @mmmbuto/masix@latest
masix --help
```

## Quick Start

```bash
masix setup init
masix setup doctor
masix start
masix status
```

## Bundled Packages

Postinstall installs this default bundled `plugin-base` package into `~/.masix/plugins`:
- `discovery` `0.3.0`

Legacy manual-only bundled plugins still shipped in the tarball:
- `codex-backend` `0.1.4`
- `codex-tools` `0.1.3`

Package artifacts and source trees are included in the npm tarball under `packages/plugin-base/`.

## Useful Commands

```bash
masix start
masix config show
masix config validate
masix config stt
masix cron add 'domani alle 9 "Daily check"'
masix cron list
masix cron cancel 1
masix cron list --account-tag 123456789
masix termux boot status
masix stats
```

## Notes

- This package targets Android + arm64 in Termux
- If the packaged prebuilt is missing or has a version mismatch, postinstall rebuilds from the bundled `workspace/` mirror
- The postinstall step uses `masix plugin install-base` and now keeps only the recommended base path
- `masix config stt` can auto-pick and auto-download a Whisper model based on device resources

## Full Documentation

- Repository README: https://github.com/DioNanos/MasiX
- Detailed guide: https://github.com/DioNanos/MasiX/blob/main/docs/USER_GUIDE.md
- Commands reference: https://github.com/DioNanos/MasiX/blob/main/docs/COMMANDS_REFERENCE.md
- Homebrew tap: https://github.com/DioNanos/homebrew-masix
- Local llama.cpp endpoint guide: https://github.com/DioNanos/MasiX/blob/main/docs/TERMUX_LLAMA_CPP_LOCAL_ENDPOINT.md

## Branding

<p>
Copyright (c) 2026 Davide A. Guglielmi<br>
Made in Italy 🇮🇹
</p>

## License

MIT - See `../../LICENSE`
