commit 22f0b630e6c9a606464a3114830370ba03bbb386 Author: Zhongwei Li Date: Sat Nov 29 18:00:29 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..66dfe0f --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,17 @@ +{ + "name": "claude-dev-sandbox", + "description": "Development sandbox for testing and prototyping Claude Code components (hooks, skills, commands, agents) before promoting to production plugins", + "version": "0.1.0", + "author": { + "name": "basher83" + }, + "agents": [ + "./agents" + ], + "commands": [ + "./commands" + ], + "hooks": [ + "./hooks" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..9f80e89 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# claude-dev-sandbox + +Development sandbox for testing and prototyping Claude Code components (hooks, skills, commands, agents) before promoting to production plugins diff --git a/agents/.gitkeep b/agents/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/example-agent.md b/agents/example-agent.md new file mode 100644 index 0000000..fdcd4a4 --- /dev/null +++ b/agents/example-agent.md @@ -0,0 +1,37 @@ +--- +description: Example agent demonstrating proper structure +capabilities: ["task-type-1", "task-type-2", "task-type-3"] +--- + +# Example Agent + +This agent demonstrates the proper structure for Claude Code agents. Replace this content with your agent's actual +purpose and capabilities. + +## Capabilities + +- **Task Type 1**: Describe what this agent does for this task type +- **Task Type 2**: Another capability this agent provides +- **Task Type 3**: A third specialized capability + +## When to Use This Agent + +Claude should invoke this agent when: + +- User requests task type 1 +- Project needs task type 2 functionality +- Specific problem matches task type 3 patterns + +## Context and Examples + +Provide concrete examples of when this agent should be used: + +### Example 1: Scenario Name + +User asks: "Help me with X" + +This agent provides: Specific assistance with X using its capabilities + +### Example 2: Another Scenario + +When project has Y characteristic, this agent can help by doing Z. diff --git a/commands/.gitkeep b/commands/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/hooks/.gitkeep b/hooks/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/hooks/hooks.json.example b/hooks/hooks.json.example new file mode 100644 index 0000000..3450ea0 --- /dev/null +++ b/hooks/hooks.json.example @@ -0,0 +1,25 @@ +{ + "hooks": { + "SessionStart": [ + { + "hooks": [ + { + "type": "command", + "command": "echo 'Plugin PLUGIN_NAME loaded'" + } + ] + } + ], + "PostToolUse": [ + { + "matcher": "Write|Edit", + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/example-hook.sh" + } + ] + } + ] + } +} diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..92266b7 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,61 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:basher83/lunar-claude:plugins/meta/claude-dev-sandbox", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "aeb9358340c32fbfb3d564d7f14472feca5944eb", + "treeHash": "b63aba27e99cf7fcc4a3b06a07d234211cc1fe8c03727353fccfd90275984f02", + "generatedAt": "2025-11-28T10:14:11.428800Z", + "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": "claude-dev-sandbox", + "description": "Development sandbox for testing and prototyping Claude Code components (hooks, skills, commands, agents) before promoting to production plugins", + "version": "0.1.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "f12c1b37f89edec32b21ae790e7faeeb65a840012dd4da7966528eebbf67127a" + }, + { + "path": "agents/example-agent.md", + "sha256": "8e73cd9e882310af6354b1bbd43453c82a2071450ca52d0fc25b2892f4f91bf4" + }, + { + "path": "agents/.gitkeep", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "hooks/hooks.json.example", + "sha256": "52a10a535503117cc4626e95a9a85ac30e49a3eb2bcd8236afd658836b89f36a" + }, + { + "path": "hooks/.gitkeep", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "d871381db2cd3cedfde1970413584c12ab78c263cb629b7d66b958c01c12de9a" + }, + { + "path": "commands/.gitkeep", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + ], + "dirSha256": "b63aba27e99cf7fcc4a3b06a07d234211cc1fe8c03727353fccfd90275984f02" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file