# AGENTS.md ## Overview This document describes the autonomous agents, subagents, and their roles within the scientific-surfing project. --- ## Agent List ### 1. SubscriptionManager Agent - **Purpose:** Handles all subscription-related operations, including adding, refreshing, deleting, renaming, and activating subscriptions. - **Key Methods:** - `add_subscription` - `refresh_subscription` - `delete_subscription` - `rename_subscription` - `set_subscription_url` - `activate_subscription` - `list_subscriptions` - **Notes:** Supports backup option on refresh. ### 2. StorageManager Agent - **Purpose:** Manages persistent storage for configuration and subscription data. - **Key Methods:** - `load_subscriptions` - `save_subscriptions` - `load_config` - `get_storage_info` ### 3. CoreConfigManager Agent - **Purpose:** Handles core configuration management, including import/export, editing, resetting, and applying configuration. - **Key Methods:** - `import_config` - `export_config` - `edit_config` - `reset_config` - `show_config` - `apply` ### 4. CoreManager Agent - **Purpose:** Manages core components and system service operations (install, uninstall, start, stop, restart, reload, status, update). - **Key Methods:** - `install_service` - `uninstall_service` - `start_service` - `stop_service` - `restart_service` - `reload_service` - `get_service_status` - `update` ### 5. HookManager Agent - **Purpose:** Manages hook scripts for automation and customization. - **Key Methods:** - `init` - `list_hooks` - `edit` - `rm` --- ## Agent Interactions - The CLI acts as the orchestrator, parsing user commands and delegating tasks to the appropriate agent. - Agents interact via method calls and shared data models. --- ## Extending Agents - To add a new agent, implement a new manager class and update the CLI to route commands. - Document new agents and their responsibilities in this file. --- ## Last updated May 26, 2026