From 76935668c9b7f6675e35b98fb25c7dfe56ac6812 Mon Sep 17 00:00:00 2001 From: Sean O'Connor Date: Thu, 13 Feb 2025 16:15:20 -0500 Subject: [PATCH] Refactor README with comprehensive repository structure and web interface details --- README.md | 107 +++++++++++++++++++----------- index.html | 191 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 258 insertions(+), 40 deletions(-) create mode 100644 index.html diff --git a/README.md b/README.md index 0c88330..308e49b 100644 --- a/README.md +++ b/README.md @@ -1,63 +1,90 @@ -# HRIStudio Robot Plugins +# HRIStudio Robot Plugins Repository -This repository contains robot plugins for use with HRIStudio, a platform for designing and executing human-robot interaction experiments. +This repository contains robot plugins for use with HRIStudio. Each plugin provides a standardized interface for controlling and interacting with different types of robots. ## Repository Structure ``` -robot-plugins/ -├── plugins/ # Robot plugin definitions (JSON) -├── assets/ # Robot images and 3D models -│ ├── repository-icon.png # Repository icon (256x256px) -│ ├── repository-logo.png # Repository logo (512x512px) -│ ├── repository-banner.png # Repository banner (optional) -│ └── {robotId}/ # Assets for each robot -└── docs/ # Plugin documentation +repository.json # Repository metadata and configuration +index.html # Web interface for viewing repository information +plugins/ # Directory containing all plugin files + index.json # List of available plugins + plugin1.json # Individual plugin definition + plugin2.json # Individual plugin definition + ... +assets/ # Optional directory for repository assets + icon.png # Repository icon + banner.jpg # Repository banner + logo.svg # Repository logo ``` -## Adding a New Robot Plugin +## Web Interface -1. Create a new JSON file in the `plugins` directory with your robot's plugin definition -2. Add required assets to the `assets/{robotId}` directory -3. Update documentation if needed -4. Submit a pull request +The repository includes a built-in web interface (`index.html`) that provides a user-friendly way to view repository information. When hosting your repository on GitHub Pages or any web server, this interface will automatically: -## Required Files +- Display repository name, description, and metadata +- Show repository statistics (plugin count, downloads, stars) +- List author information and compatibility details +- Display repository tags and categories +- Show repository assets (icon, banner, logo) -For each robot plugin, you need: +The web interface is automatically available when you host your repository, making it easy for users to browse repository information before adding it to HRIStudio. -### Plugin Definition -- `plugins/{robotId}.json` - Plugin configuration file +## Repository Configuration -### Assets -- `assets/{robotId}/thumb.png` - Thumbnail image (160x160px) -- `assets/{robotId}/logo.png` - Robot logo (512x512px, transparent background) -- `assets/{robotId}/main.png` - Main image (16:9 aspect ratio) -- Additional views (optional): - - `assets/{robotId}/front.png` - - `assets/{robotId}/side.png` - - `assets/{robotId}/top.png` +The `repository.json` file contains the repository's metadata and configuration: -### Repository Assets -- `assets/repository-icon.png` - Repository icon (256x256px, square) -- `assets/repository-logo.png` - Repository logo (512x512px, transparent background) -- `assets/repository-banner.png` - Repository banner (optional, 1280x640px) +```json +{ + "id": "unique-repository-id", + "name": "Repository Name", + "description": "Repository description", + "url": "https://example.com/repository", + "author": { + "name": "Author Name", + "organization": "Organization Name", + "url": "https://example.com" + }, + "compatibility": { + "hristudio": { + "min": "1.0.0", + "recommended": "1.1.0" + }, + "ros2": { + "distributions": ["humble", "iron"], + "recommended": "humble" + } + }, + "assets": { + "icon": "assets/icon.png", + "banner": "assets/banner.jpg", + "logo": "assets/logo.svg" + }, + "stats": { + "plugins": 0, + "downloads": 0, + "stars": 0 + }, + "tags": ["robots", "simulation", "education"] +} +``` -## Plugin Schema +## Plugin Structure -See [docs/schema.md](docs/schema.md) for the complete plugin schema documentation. +Each plugin is defined in a JSON file within the `plugins` directory. The `plugins/index.json` file contains a list of all available plugin files. -## Example Plugin - -See the TurtleBot3 Burger plugin (`plugins/turtlebot3-burger.json`) for a complete example. +For detailed information about plugin structure and requirements, see the [Plugin Documentation](docs/plugins.md). ## Contributing 1. Fork this repository -2. Create your plugin following the structure above -3. Test your plugin with HRIStudio -4. Submit a pull request +2. Create your plugin branch (`git checkout -b my-new-plugin`) +3. Add your plugin JSON file to the `plugins` directory +4. Update `plugins/index.json` to include your plugin +5. Commit your changes (`git commit -am 'Add new plugin'`) +6. Push to the branch (`git push origin my-new-plugin`) +7. Create a new Pull Request ## License -MIT License - See LICENSE file for details \ No newline at end of file +This repository is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..3ae66aa --- /dev/null +++ b/index.html @@ -0,0 +1,191 @@ + + + + + + HRIStudio Robot Plugins + + + + + +
+
Loading repository data...
+ +
+ + + + \ No newline at end of file