本文档介绍如何本地开发和调试 CCLight Status Indicator Plugin。
# 安装依赖
uv sync
# 运行 cclight
uv run cclight daemon status# 安装依赖
pip install -e .
# 运行 cclight
cclight daemon status在 Claude Code 中运行:
/plugin marketplace add ./这将把当前目录作为 marketplace 添加到 Claude Code。
/plugin install cclight@cclight-marketplace/plugin list应该能看到 cclight 已启用。
修改代码后,重新加载插件:
/reload-plugins/plugin details cclight@cclight-marketplace这会显示插件的所有组件(skills、agents、hooks 等)。
/plugin validate ./检查 plugin.json、marketplace.json 和组件配置是否符合规范。
启动 Claude Code 时使用 --debug 参数查看详细的插件加载信息:
claude --debug这会显示:
- 正在加载哪些插件
- 插件清单中的任何错误
- Skill、agent 和 hook 注册
- MCP server 初始化
确保项目结构符合规范:
cclight/
├── .claude-plugin/
│ ├── plugin.json # 插件清单
│ └── marketplace.json # Marketplace 配置
├── hooks/ # Hook 配置
│ └── hooks.json
├── src/
│ ├── cclight/ # Python 包
│ │ ├── __init__.py
│ │ ├── cli.py
│ │ ├── config.py
│ │ ├── daemon.py
│ │ ├── client.py
│ │ └── serial_device.py
│ └── esp32-program/ # ESP32 固件
│ └── main.py
├── pyproject.toml # 包配置
├── DEVELOP.md # 本文档
└── README.md
修改 hooks 后,可以触发相应事件来测试:
# 例如:PostToolUse hook 在任何工具调用后触发
# 只要在 Claude Code 中执行任何操作即可触发版本号在两个地方定义:
pyproject.toml中的version字段src/cclight/__init__.py中的__version__
发布时保持两者一致。
症状:运行 /plugin list 看不到插件
解决方案:
- 检查
plugin.json语法是否正确 - 运行
/plugin validate ./查看具体错误 - 使用
claude --debug查看详细日志
症状:修改代码后没有变化
解决方案:
- 运行
/reload-plugins重新加载 - 如果还不行,尝试卸载后重新安装:
/plugin uninstall cclight@cclight-marketplace /plugin install cclight@cclight-marketplace
症状:配置的 hook 没有执行
解决方案:
- 检查
hooks/hooks.json语法 - 确认事件名称大小写正确(如
PostToolUse不是postToolUse) - 确认
cclight命令已安装且在 PATH 中
/plugin validate ./uv builduv publishgit add .
git commit -m "Release v1.0.0"
git pushgit tag v1.0.0
git push --tags