Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:45:58 +08:00
commit bc03d05922
4 changed files with 134 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
{
"name": "hello-world",
"description": "A hello world plugin",
"version": "1.0.0",
"author": {
"name": "Developer"
},
"commands": [
"./commands"
]
}

3
README.md Normal file
View File

@@ -0,0 +1,3 @@
# hello-world
A hello world plugin

75
commands/echo.md Normal file
View File

@@ -0,0 +1,75 @@
---
description: Hello world plugin implementation
argument-hint: [name]
---
## Name
hello-world:echo
## Synopsis
```
/hello-world:echo [name]
```
## Description
The `hello-world:echo` command prints a greeting message to the console. By default, it prints "Hello world", but when provided with a name argument `hello-world:echo $1`, it prints "Hello ${1}". This command serves as a basic example of a Claude Code plugin implementation, demonstrating the minimal structure required for a functional plugin command.
It provides a reference implementation for plugin developers. It demonstrates:
- Basic command structure
- Shell command execution within a plugin
- Handling arguments
- Minimal configuration requirements
The spec sections is inspired by https://man7.org/linux/man-pages/man7/man-pages.7.html#top_of_page
## Implementation
- The command executes a simple bash `echo` statement
- Accepts an optional name argument (`$1`)
- If `$1` is provided, outputs "Hello $1"
- If no argument is provided, outputs "Hello world"
- Output is sent directly to standard output
- The command is stateless and has no side effects
Implementation logic:
```bash
if [ -n "$1" ]; then
echo "Hello $1"
else
echo "Hello world"
fi
```
## Return Value
- **Claude agent text**: "Hello world" (default) or "Hello $1" (when name is provided)
## Examples
1. **Basic usage (no arguments)**:
```
/hello-world:echo
```
Output:
```
Hello world
```
2. **With a name argument**:
```
/hello-world:echo Alice
```
Output:
```
Hello Alice
```
3. **With multiple words as name**:
```
/hello-world:echo "John Doe"
```
Output:
```
Hello John Doe
```
## Arguments:
- $1: The name to be printed "Hello ${1}"

45
plugin.lock.json Normal file
View File

@@ -0,0 +1,45 @@
{
"$schema": "internal://schemas/plugin.lock.v1.json",
"pluginId": "gh:openshift-eng/ai-helpers:plugins/hello-world",
"normalized": {
"repo": null,
"ref": "refs/tags/v20251128.0",
"commit": "f15328bcc343593011bf59baa61cec14c83a6734",
"treeHash": "42b9db6657df30e5f61472126c4e8f5fe4e844c9d3bbb314d83fb84ae9b31fb4",
"generatedAt": "2025-11-28T10:27:27.726635Z",
"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": "hello-world",
"description": "A hello world plugin",
"version": "1.0.0"
},
"content": {
"files": [
{
"path": "README.md",
"sha256": "ffd2961880d675e88971d4c2a1d03dc06f76654023da3ffe74bf5d06b242fe8b"
},
{
"path": ".claude-plugin/plugin.json",
"sha256": "762804ac41f603eaa26be4e38cf88c0d38892ed21ae2b425195523760ba90a74"
},
{
"path": "commands/echo.md",
"sha256": "a86fc1328b2f49dacdaf14bcf5e01d75b7b2e8aac30061945ffb4797e421a6ef"
}
],
"dirSha256": "42b9db6657df30e5f61472126c4e8f5fe4e844c9d3bbb314d83fb84ae9b31fb4"
},
"security": {
"scannedAt": null,
"scannerVersion": null,
"flags": []
}
}