← 返回 Skills 市场
pereirajair

Worktree Manager

作者 Jair Pereira · GitHub ↗ · v1.0.3 · MIT-0
linuxdarwin ⚠ suspicious
64
总下载
0
收藏
1
当前安装
4
版本数
在 OpenClaw 中安装
/install worktree-manager
功能描述
Manage Docker-based dev instances and git worktrees. Handles app container lifecycle, database seeding, and proxy route activation. Requires mysql-manager an...
使用说明 (SKILL.md)

Worktree Manager

Manages Docker app instances and git worktrees for local development.

Each instance gets its own docker-compose stack (backend + frontend), isolated git branch, and .env.worktree-\x3Cname> file. MySQL and nginx-proxy are managed separately by their own plugins.

Prerequisites

Start these first (order matters):

  1. proxy-manager start — creates the shared Docker network (nginx-proxy_net)
  2. mysql-manager start — starts the shared MySQL container

Architecture

project/
├── docker-compose.yml        # app stack template (backend + frontend)
├── run.sh                    # this plugin's entry point (copy to project root)
├── .env.base                 # main instance env
├── .env.worktree-\x3Cname>      # per-worktree env (gitignored)
└── .worktrees/
    └── \x3Cname>/               # git worktree (gitignored)
  • main.env.base, project root
  • worktree.env.worktree-\x3Cname>, checked out at .worktrees/\x3Cname>
  • URLs: http://\x3Cname>.frontend.localhost / http://\x3Cname>.backend.localhost

Commands

All commands run from the project root:

./run.sh list                        # show all instances + mysql/proxy status
./run.sh start [main|\x3Cname>]         # seed db, start containers, connect proxy
./run.sh stop  [main|\x3Cname>]         # stop containers (db persists)
./run.sh restart [main|\x3Cname>]       # stop then start
./run.sh logs  [main|\x3Cname>]         # follow container logs
./run.sh create-worktree \x3Cname>      # git worktree + branch + env file
./run.sh remove-worktree \x3Cname>      # stop containers + drop db + remove worktree

How to Execute Tasks

Full environment setup (first time)

proxy-manager/run.sh start        # network + nginx-proxy
mysql-manager/run.sh start        # MySQL
./run.sh start main               # main app instance

Create a new worktree and start it

  1. ./run.sh create-worktree \x3Cname> — creates branch worktree/\x3Cname>, dir .worktrees/\x3Cname>, env file
  2. ./run.sh start \x3Cname> — seeds db from main snapshot, starts containers, activates proxy route
  3. URLs reported at the end

Stop an instance

./run.sh stop \x3Cname>

Remove a worktree (destructive — always confirm first)

Confirm with user: "Remove worktree '\x3Cname>'? Deletes containers, database, git worktree (branch worktree/\x3Cname>), and .env.worktree-\x3Cname>."

./run.sh remove-worktree \x3Cname>

List all instances

./run.sh list

What start Does

  1. Checks MySQL container is running (exits with error if not)
  2. CREATE DATABASE IF NOT EXISTS for the instance
  3. For non-main instances: dumps codai_main → instance db
  4. docker compose up --build -d
  5. docker network connect — proxy to instance network (activates routes)

Rules

  • Always check ./run.sh list before starting — it shows MySQL/proxy status.
  • Always confirm before remove-worktree — it is irreversible.
  • After start, print the frontend and backend URLs.
  • If ./run.sh is not executable: chmod +x run.sh
  • .env.worktree-* files and .worktrees/ dir must be gitignored.

Configuration

Variable Default Purpose
MYSQL_CONTAINER codai_db MySQL container name
MYSQL_ROOT_PASS secret MySQL root password
MYSQL_MAIN_DB codai_main Source DB for snapshots
PROXY_CONTAINER codai_nginx_proxy nginx-proxy container name
PROJECT_PREFIX codai-dev Docker Compose project prefix

Related Plugins

  • proxy-manager — nginx-proxy lifecycle and network management (start first)
  • mysql-manager — MySQL lifecycle and database admin (start second)
安全使用建议
Review this carefully before installing. It appears intended for local development, not data theft, but it has enough authority to build and run containers, alter MySQL databases, create persistent worktrees, and remove local resources. Use it only in a trusted project, set a non-default MySQL root password, inspect the Docker Compose files, run list before changes, and require explicit human approval before any remove-worktree action.
功能分析
Type: OpenClaw Skill Name: worktree-manager Version: 1.0.3 The Worktree Manager skill is a legitimate developer tool for managing Docker-compose environments and Git worktrees. The 'run.sh' script includes robust input validation (validate_name, validate_db_name) to prevent shell and SQL injection, and the 'SKILL.md' instructions correctly guide the agent to confirm destructive actions like worktree removal. No indicators of data exfiltration, unauthorized remote execution, or malicious intent were found.
能力评估
Purpose & Capability
The Docker, git worktree, database seeding, and proxy actions match the stated local-development purpose, but they are high-impact operations on the user's local project environment.
Instruction Scope
The skill documents an irreversible remove-worktree command and says to confirm first, but the script's confirmation helper only prompts when stdin is a TTY and otherwise appears to fall through, which is risky for agent/non-interactive execution.
Install Mechanism
There is no install script, but the supplied metadata is inconsistent across artifacts and the source/homepage are not provided, so users should verify provenance before trusting the included script.
Credentials
Docker, git, MySQL root, and proxy network operations are proportionate to the stated purpose, but they can alter containers, databases, networks, branches, and local files.
Persistence & Privilege
The skill creates persistent worktrees, branches, env files, Docker resources, and databases; this persistence is disclosed and purpose-aligned, but removal is destructive.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install worktree-manager
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /worktree-manager 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.3
No code or functionality changes; updated metadata only. - Internal metadata file (_meta.json) updated. - No user-visible changes.
v1.0.2
- Hardened database operations by validating database and instance names across all commands - Eliminated shell injection risks from SQL dump logic by removing backtick and sh -c usage in dump_main_to (now uses two docker execs) - Added/remove-worktree command name validation and user confirmation for destructive actions - Updated to align password variable with MYSQL_ROOT_PASSWORD and warn if default password is used
v1.0.1
- Updated internal version from 1.0.1 to 1.1.0. - No functional or documentation changes; metadata update only.
v1.0.0
v1.1.0: Focuses Worktree Manager on app instance and worktree handling only. - Split MySQL and proxy container management into separate plugins (`mysql-manager`, `proxy-manager`) - Worktree Manager now manages only Docker app instances and git worktrees - Updated instructions and architecture overview to reflect new plugin dependencies - Requires `mysql-manager` and `proxy-manager` to be running before starting instances - New changelog section highlights these changes
元数据
Slug worktree-manager
版本 1.0.3
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 4
常见问题

Worktree Manager 是什么?

Manage Docker-based dev instances and git worktrees. Handles app container lifecycle, database seeding, and proxy route activation. Requires mysql-manager an... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 64 次。

如何安装 Worktree Manager?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install worktree-manager」即可一键安装,无需额外配置。

Worktree Manager 是免费的吗?

是的,Worktree Manager 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Worktree Manager 支持哪些平台?

Worktree Manager 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(linux, darwin)。

谁开发了 Worktree Manager?

由 Jair Pereira(@pereirajair)开发并维护,当前版本 v1.0.3。

💬 留言讨论