# Mattermost Sync This directory contains the workspace-local Mattermost extractor used by OpenCode to refresh communication context. ## Files - `mattermost_context.py` Extracts recent Mattermost messages as JSONL. - `sync.sh` Stable wrapper intended to be called by OpenCode. - `.env.example` Example configuration without secrets. - `requirements.txt` Reserved for future optional dependencies. ## Recommended Setup 1. Copy `.env.example` to `.env`. 2. Fill in your Mattermost values. 3. Create a local virtual environment if you want an isolated runtime. Preferred channel config: - `CHANNELS=fidelity-preguntas` Channel names are preferred for AI context because the exported records will use the readable channel name instead of the raw channel ID. The script can resolve channel names without a team if the authenticated user can access the channel and the name is unique across the user's teams. Supported env options: - `CHANNELS` Mixed list of channel names or channel IDs. - `CHANNEL_NAMES` Channel names only. - `CHANNEL_IDS` Legacy channel IDs only. Optional only for disambiguation: - `MATTERMOST_TEAM_NAME` - `MATTERMOST_TEAM_ID` Use one of those only if the same channel name exists in multiple teams or if you want to force team-specific resolution. Example: ```bash cd scripts/mattermost bash bootstrap.sh ``` ## Usage Manual run: ```bash bash scripts/mattermost/sync.sh ``` OpenCode can use this script directly. If `FIDELITY_MATTERMOST_SYNC_CMD` is not set, the workspace plugins will fall back to this wrapper automatically. ## Bootstrap You can initialize the local runtime with: ```bash bash scripts/mattermost/bootstrap.sh ``` This will: - create `.venv/` if missing - create `.env` from `.env.example` if needed The current extractor uses only the Python standard library, so no third-party install is required.