tgcli AGENTS.md

Repository-specific instructions for tgcli, a tool that connects to Telegram and can archive messages in a local SQLite database. They describe the project layout, commands, configuration, and coding conventions.

In plain words
What is it for?
Use them when installing dependencies, starting the MCP server, testing the Telegram client, building the project, or deciding where code and runtime data belong.
Why use it?
They give contributors the project rules and commands needed to change and test the code consistently.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/kfastov/tgcli/agents-md
Clone the repo
git clone --depth 1 https://github.com/kfastov/tgcli

Made for: Codex, OpenCode.

Per session 661 This file is loaded in full into every session.
When invoked 661 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00661 $0.00661
Opus 5 $0.00331 $0.00331
Sonnet 5 $0.00132 $0.00132
Haiku 4.5 $0.00066 $0.00066

Measured 2d ago against content hash 6557263b51cd, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

tgcli AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 40 lines

How it starts

The opening of the file, as written. The whole thing — 40 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Repository Guidelines

Project Structure & Module Organization

  • mcp-server.js: MCP HTTP server built with @modelcontextprotocol/sdk, registering the Telegram tools (listChannels, searchChannels, getChannelMessages, scheduleMessageSync, listMessageSyncJobs).
  • telegram-client.js: Domain logic for MTProto login, dialog traversal, and message helpers.
  • client.js: Example CLI harness for manual testing without the MCP layer.
  • message-sync-service.js: Background worker that archives messages into a local SQLite database.
  • Store location: OS app-data dir (tgcli store; override with TGCLI_STORE); keep runtime artifacts out of version control.
  • Documentation lives in README.md and LIBRARY.md; configuration relies on environment variables and the tgcli store.

Build, Test, and Development Commands

  • npm install: Restore dependencies whenever package-lock.json changes.
  • npm start: Boot the MCP server on http://localhost:8080/mcp using Streamable HTTP transport; first run drives the Telegram login flow.
  • node client.js: Run the sample script to exercise the client API and inspect dialog listings.
  • npm run build: Currently a no-op placeholder—extend it only if a transpile/bundle step is introduced.
  • npm test: Placeholder that echoes a notice; replace with real checks once tests exist.

Coding Style & Naming Conventions

  • Use ES modules with semicolons, two-space indentation, and camelCase identifiers.
  • Keep tool names descriptive and aligned with Telegram operations (listChannels, searchChannels, etc.).
  • Emit log lines that explain side effects (login state, MTProto calls, sync progress) and reference chat IDs/titles.
  • Keep message sync queue strictly sequential; jobs transition through pending → in_progress → idle and may move to error if retries are needed.
  • Store secrets in .env; never hard-code API credentials or session paths in commits.

Testing Guidelines

  • Add coverage when extending telegram-client.js or message-sync-service.js by mocking MTProto responses to validate session reuse and message archiving.
  • Name new test files <module>.test.js under tests/ or co-locate in __tests__/; make npm test execute them.
  • Before pushing, run your test suite and a smoke npm start to verify authentication prompts and cache initialization remain intact.

Read the full file on GitHub · 40 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 40 lines · 661 tokens per session scan A 6557263b51cd

Subscribe to this mod's changes

tgcli AGENTS.md is an instructions file published in the GitHub repository kfastov/tgcli (42 stars, last pushed 1mo ago), licensed MIT. It adds 661 tokens to every session, about $0.0033 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.