From 68894a0eb74c13cf87daebb41616d2254b373319 Mon Sep 17 00:00:00 2001 From: Pavel Buchnev Date: Wed, 28 Aug 2024 10:01:43 +0400 Subject: [PATCH] Adds README --- README.md | 102 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 90 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 3ecf136..c7d6bb0 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,98 @@ -# Site Status Checker Agent +# Site Status Checker Agent 🕵️‍♂️ -## Overview +[![PHP](https://img.shields.io/packagist/php-v/llm-agents-php/agent-site-status-checker.svg?style=flat-square)](https://packagist.org/packages/llm-agents-php/agent-site-status-checker) +[![Latest Version on Packagist](https://img.shields.io/packagist/v/llm-agents-php/agent-site-status-checker.svg?style=flat-square)](https://packagist.org/packages/llm-agents-php/agent-site-status-checker) +[![Total Downloads](https://img.shields.io/packagist/dt/llm-agents-php/agent-site-status-checker.svg?style=flat-square)](https://packagist.org/packages/llm-agents-php/agent-site-status-checker) -The Site Status Checker Agent is a powerful and flexible tool designed to monitor and report on the status of websites. +Hey there! 👋 This package gives you a cool Site Status Checker Agent for your LLM Agents project. -## Features +![site-status-checker](https://github.com/user-attachments/assets/e363dd44-7dff-413e-a5cd-c2eebcf62b7e) -- **Website Availability Check**: Quickly determine if a given URL is accessible. -- **DNS Information Retrieval**: Fetch and analyze DNS records for specified domains. -- **Ping Tests**: Perform network ping tests to assess connectivity and response times. -- **Troubleshooting Assistance**: Offer potential reasons and troubleshooting steps for offline websites. +## What's this all about? 🤔 -## License +- Check if a site is up and running 🏃‍♂️ +- Dig up DNS info 🔍 +- Run ping tests 🏓 +- Give you the lowdown on why a site might be offline 😴 -The Site Status Checker Agent is open-source software licensed under the MIT license. +## Class Diagram 📊 -## Support +Here's a quick look at how everything fits together: -If you encounter any issues or have questions, please file an issue on the GitHub repository issue tracker. \ No newline at end of file +```mermaid +classDiagram + class SiteStatusCheckerAgent { + +create() : self + } + class AgentAggregate { + <> + } + class CheckSiteAvailabilityTool { + +execute(object) : string + } + class GetDNSInfoTool { + +execute(object) : string + } + class PerformPingTestTool { + +execute(object) : string + } + class Tool { + <> + } + SiteStatusCheckerAgent --|> AgentAggregate + CheckSiteAvailabilityTool --|> Tool + GetDNSInfoTool --|> Tool + PerformPingTestTool --|> Tool + SiteStatusCheckerAgent ..> CheckSiteAvailabilityTool + SiteStatusCheckerAgent ..> GetDNSInfoTool + SiteStatusCheckerAgent ..> PerformPingTestTool +``` + +## Let's get started! 🚀 + +### Installation + +First things first, let's get this package installed: + +```bash +composer require llm-agents/agent-site-status-checker +``` + +### Setup in Spiral Framework + +To get the Site Status Checker Agent up and running in your Spiral Framework project, you need to register its +bootloader. + +**Here's how:** + +1. Open up your `app/src/Application/Kernel.php` file. +2. In the `defineBootloaders()` method, add the bootloader like this: + ```php + public function defineBootloaders(): array + { + return [ + // ... other bootloaders ... + \LLM\Agents\Agent\SiteStatusChecker\Bootloader\SiteStatusCheckerBootloader::class, + ]; + } + ``` + +And that's it! Your Spiral app is now ready to use the Site Status Checker Agent. + +## Want to help out? 🤝 + +We love contributions! If you've got ideas to make this agent even cooler, here's how you can chip in: + +1. Fork the repo +2. Make your changes +3. Create a new Pull Request + +Just make sure your code is clean, well-commented, and follows PSR-12 coding standards. + +## License 📄 + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. + +--- + +That's all, folks! If you've got any questions or run into any trouble, don't hesitate to open an issue. \ No newline at end of file