commit 07b1439d07ded9bc1f6a748a17cf62626da263c3 Author: Zhongwei Li Date: Sun Nov 30 08:46:28 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..a168a92 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "hyperfleet-architecture", + "description": "Provides HyperFleet architecture knowledge for answering questions about design patterns, versioning strategies, and core principles", + "version": "0.1.0", + "author": { + "name": "Alex Vulaj", + "email": "avulaj@redhat.com" + }, + "skills": [ + "./skills" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..cdd7492 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# hyperfleet-architecture + +Provides HyperFleet architecture knowledge for answering questions about design patterns, versioning strategies, and core principles diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..c315066 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,45 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:openshift-hyperfleet/hyperfleet-claude-plugins:hyperfleet-architecture", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "e93bb359a31ba32400dfc19b3a7898dcec2d01de", + "treeHash": "24da1deff7e0ed10694fe04dcd835d66dd7b2538ad9c96475f1a14e7034b7e87", + "generatedAt": "2025-11-28T10:27:31.974972Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "hyperfleet-architecture", + "description": "Provides HyperFleet architecture knowledge for answering questions about design patterns, versioning strategies, and core principles", + "version": "0.1.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "7f868e169f344a1c2cc7f5cb89c5d380880ae3b476c419bdf24c9d2d0720f911" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "db2a25d5d3b9a750760991df0d682309efbb87001990cc1a65796cfa470a55eb" + }, + { + "path": "skills/hyperfleet-architecture/SKILL.md", + "sha256": "ae44ddc4cf3c761fd664627fde9a88db44b6035ae017f426cb96f8f4ba130194" + } + ], + "dirSha256": "24da1deff7e0ed10694fe04dcd835d66dd7b2538ad9c96475f1a14e7034b7e87" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file diff --git a/skills/hyperfleet-architecture/SKILL.md b/skills/hyperfleet-architecture/SKILL.md new file mode 100644 index 0000000..748ccc7 --- /dev/null +++ b/skills/hyperfleet-architecture/SKILL.md @@ -0,0 +1,77 @@ +--- +name: HyperFleet Architecture +description: Answers questions about HyperFleet architecture, design patterns, versioning strategies, cluster lifecycle, event-driven architecture, adapter framework, and git workflow by fetching docs from the openshift-hyperfleet/architecture GitHub repository. +--- + +# HyperFleet Architecture Skill + +## When to Use This Skill + +Activate this skill when the user asks questions about: + +- HyperFleet architecture, design patterns, or principles +- Versioning strategies (API, Sentinel, adapters, config) +- Status aggregation and cluster lifecycle +- Event-driven architecture and CloudEvents +- Adapter framework and config-driven deployment +- Git workflow, branching, or release processes +- Design decisions or trade-offs + +## Architecture Documentation Location + +All HyperFleet architecture documentation is located in the **architecture repository** on GitHub at: + +``` +https://github.com/openshift-hyperfleet/architecture +``` + +### Finding Relevant Documentation + +When the user asks about HyperFleet, explore the repository to find relevant markdown files: + +1. Start by browsing the repository structure at `https://github.com/openshift-hyperfleet/architecture/tree/main/hyperfleet/` +2. Look in the appropriate subdirectory based on the question: + - **`architecture/`** - High-level system architecture and design patterns + - **`components/`** - Detailed component design documents + - **`docs/`** - Implementation guides, versioning strategies, operational procedures + - **Other subdirectories** - Explore as needed for additional context +3. Fetch and read the relevant markdown files using raw GitHub URLs: `https://raw.githubusercontent.com/openshift-hyperfleet/architecture/main/hyperfleet/{path-to-file}` +4. Use multiple files if needed to provide comprehensive answers + +## How to Use These Docs + +1. **Read the relevant doc(s)** based on the user's question +2. **Use the actual content** from these files - they are the single source of truth +3. **Reference specific sections** when answering (e.g., "According to `api-versioning.md`, HyperFleet uses URI-based + versioning...") +4. **Stay current** - these docs are actively maintained and represent the latest decisions + +## HyperFleet Core Principles + +When reviewing or answering questions, keep these core architectural principles in mind: + +- **Event-driven architecture** - CloudEvents 1.0, AsyncAPI specs +- **Config-driven deployment** - Adapter framework with Helm charts +- **Cloud-agnostic core** - Provider-specific logic isolated to adapters +- **Semantic versioning** - MAJOR.MINOR.PATCH across all components +- **Forward-only migrations** - Expand-contract pattern for breaking changes + +## Example Questions This Skill Helps With + +- "How does HyperFleet handle API versioning?" +- "What's the adapter config versioning strategy?" +- "How do we version CloudEvents schemas?" +- "What's our Git branching model?" +- "How does the adapter framework work?" +- "What are the cluster lifecycle phases?" +- "How do we handle breaking changes in the API?" + +## Instructions + +When this skill is invoked: + +1. Identify which documentation file(s) are relevant to the user's question +2. Read those file(s) from the architecture repo +3. Provide accurate answers based on the documentation content +4. Reference specific sections or line numbers when helpful +5. If the documentation doesn't cover the topic, say so and offer to help find the answer elsewhere