スキル一覧に戻る
gricha

perry

by gricha

Workspace orchestration for local development environments using docker-in-docker

10🍴 1📅 2026年1月24日
GitHubで見るManusで実行

SKILL.md


name: perry description: Create and manage isolated Docker workspaces on your tailnet with Claude Code and OpenCode pre-installed. Use when working with Perry workspaces, connecting to coding agents, or managing remote development environments.

Perry Usage

Perry runs a local agent that creates isolated Docker workspaces and advertises them on your tailnet. Each workspace has coding agents preinstalled and is reachable via CLI, web UI, or SSH.

Quick start

# Install
curl -fsSL https://raw.githubusercontent.com/gricha/perry/main/install.sh | bash

# Run the agent
perry agent run

# Point your CLI at the agent (one-time)
perry config agent <hostname>

# Create a workspace (optional clone)
perry start my-proj --clone git@github.com:user/repo.git

# Shell into it
perry shell my-proj

Expected behavior:

  • perry agent run starts a local daemon.
  • perry start creates a workspace-my-proj container and registers it on your tailnet.
  • perry shell opens an interactive shell inside the workspace.

OpenCode workflow

# Attach via CLI
opencode attach http://my-proj:4096

Expected behavior:

  • OpenCode is reachable at http://<workspace>:4096 from any device on the tailnet.
  • You can open the same URL in a browser.

Gotchas:

  • If :4096 is unreachable, verify tailnet connectivity and that the workspace is running.

Claude Code workflow

# Run from a workspace shell
perry shell my-proj
claude

Expected behavior:

  • Claude Code runs inside the workspace shell.
  • Remote access to the workspace shell can be done via Perry web UI or a mobile terminal app.

Gotchas:

  • You do not attach to Claude Code over HTTP; use it inside the workspace shell.

SSH access

ssh workspace@my-proj

Expected behavior:

  • The username is workspace and the hostname is the workspace name (e.g., my-proj).
  • The workspace inherits authorized keys from the host.
  • If your key works on the host, it should work on the workspace.

Gotchas:

  • The SSH username is workspace, not part of the hostname. Use ssh workspace@<name>, not ssh workspace-<name>.
  • If SSH fails, ensure your host keys exist and the workspace is on the tailnet.

Common commands

# List workspaces
perry list

# Stop a workspace
perry stop my-proj

# Remove a workspace
perry remove my-proj

Troubleshooting

  • Workspace not reachable: confirm Tailscale is running and the workspace name resolves.
  • Port conflicts: if you changed ports, update your attach URL.
  • Slow start: workspace setup can take time; check the web UI for startup progress.

Naming conventions

  • Containers are workspace-<name>.
  • Internal resources use workspace-internal-<name>.

References

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です