telegram-download-chat: Cursor rule for Windsurf

.windsurfrules

windsurfrules is a cursor rule for Windsurf from popstas/telegram-download-chat. It costs 515 tokens per session, scanned A, original, MIT.

A set of project rules for keeping README.md updated after feature changes and documenting how to build and run a Telegram chat-download application.

In plain words
What is it for?
It is for maintaining the project guide, using the command-line downloader, launching the Windows build, and understanding the GUI source layout.
Why use it?
It records project-specific steps and structure so an agent follows the same workflow instead of guessing. The available details are limited.

Cursor rule for Windsurf

Written for Windsurf: a Windsurf rule.

This is popstas/telegram-download-chat's own configuration. It tells Windsurf how to work on telegram-download-chat itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything telegram-download-chat configures →

Reuse

Borrowing it

Nothing to install: this file belongs to popstas/telegram-download-chat. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/popstas/telegram-download-chat/master/.windsurfrules
Clone the repo
git clone --depth 1 https://github.com/popstas/telegram-download-chat

Made for: Windsurf.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for windsurfrules

README.md
[![agentmods](https://agentmods.dev/badge/rules/popstas/telegram-download-chat/windsurfrules/github.svg)](https://agentmods.dev/rules/popstas/telegram-download-chat/windsurfrules)
Your own site
<a href="https://agentmods.dev/rules/popstas/telegram-download-chat/windsurfrules"><img src="https://agentmods.dev/badge/rules/popstas/telegram-download-chat/windsurfrules/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for windsurfrules

Your own site · 80×15
<a href="https://agentmods.dev/rules/popstas/telegram-download-chat/windsurfrules"><img src="https://agentmods.dev/badge/rules/popstas/telegram-download-chat/windsurfrules.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 515 This file is loaded in full into every session.
When invoked 515 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00515 $0.00515
Opus 5.5 $0.00206 $0.00206
Sonnet 5.5 $0.00103 $0.00103
Haiku 4.5 $0.00052 $0.00052

Measured 1mo ago against content hash 5e558434897b, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

windsurfrules 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 1mo 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.

.windsurfrules · 63 lines

What it actually says

Update README.md after features changes.

Use telegram-download-chat for run cli.

После build_windows.ps1 запускай приложение.

Telegram Download Chat GUI Structure

Project Structure

src/telegram_download_chat/ ├── gui/ # Main GUI package │ ├── init.py # Package initialization │ ├── main.py # Main application entry point │ ├── worker.py # Background worker thread │ ├── windows/ # Window classes │ │ └── main_window.py # Main application window │ │ │ ├── widgets/ # Custom widgets │ │ ├── file_list.py # File list with preview │ │ └── log_viewer.py # Log viewing widget │ │ │ ├── tabs/ # Application tabs │ │ ├── download_tab.py # Download tab │ │ ├── convert_tab.py # Convert tab │ │ └── settings_tab.py # Settings tab │ │ │ └── utils/ # Utility modules │ ├── config.py # Configuration management │ ├── file_utils.py # File operations │ └── telegram_auth.py # Telegram authentication │ └── gui_app_.py # Old GUI implementation (renamed)

Key Components

  1. Main Window

    • Central widget with tabbed interface
    • Menu bar with File, Edit, View, Help
    • Status bar with progress indicators
  2. Tabs

    • Download Tab: For downloading chat history
    • Convert Tab: For converting between formats (future)
    • Settings Tab: Application configuration
  3. Widgets

    • FileList: Displays downloaded files with preview
    • LogViewer: Shows log output with copy/expand features
  4. Worker Thread

    • Handles long-running operations
    • Emits progress and completion signals

Development Notes

  • Uses PySide6 for the GUI
  • Follows MVC pattern where possible
  • Uses signals/slots for inter-component communication
  • Config stored in YAML format
  • Session management for Telegram authentication

Running the Application

  • Use python -m telegram_download_chat.gui.main to start the GUI
  • Or use the launcher: python launcher.py
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. 1mo ago First seen · 63 lines · 515 tokens per session scan A 5e558434897b

Subscribe to this mod's changes

windsurfrules is a cursor rule published in the GitHub repository popstas/telegram-download-chat (226 stars, last pushed 11d ago), licensed MIT. It adds 515 tokens to every session, about $0.0021 per session on Opus 5.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-09-17.

Related

windsurfrules compared with cursor rules from other repositories

windsurfrules next to 6 cursor rules from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
windsurfrulespopstas/telegram-download-chatCursor rule22611d agoMITA515Windsurf
ponytailDietrichGebert/ponytailCursor rule185k8d agoMITA604Cursor
angular-20angular/angularCursor rule101kyesterdayMITA0Cursor
dev-standardapache/supersetCursor rule75ktodayApache-2.0A1,147Cursor
prefer-direct-imports-over-module-mocksprisma/ormCursor rule48kyesterdayApache-2.0A0Cursor
config-validation-and-normalizationprisma/ormCursor rule48kyesterdayApache-2.0A0Cursor
control-plane-descriptorsprisma/ormCursor rule48kyesterdayApache-2.0A0Cursor