@pharaoh-so/mcp 0.2.12 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -26,7 +26,7 @@ This displays a device code and a URL. Open the URL on **any device** (phone, la
26
26
  ### Step 2 — Add to Claude Code
27
27
 
28
28
  ```bash
29
- claude mcp add pharaoh -- npx @pharaoh-so/mcp
29
+ npx @pharaoh-so/mcp --setup
30
30
  ```
31
31
 
32
32
  Verify the connection:
@@ -43,19 +43,9 @@ If you previously added Pharaoh as an SSE server, remove it first:
43
43
 
44
44
  ```bash
45
45
  claude mcp remove pharaoh
46
- claude mcp add pharaoh -- npx @pharaoh-so/mcp
46
+ npx @pharaoh-so/mcp --setup
47
47
  ```
48
48
 
49
- ### Desktop with Browser (Alternative)
50
-
51
- If you have a browser available (desktop, laptop), you can connect directly via SSE instead:
52
-
53
- ```bash
54
- claude mcp add --transport sse --scope user pharaoh https://mcp.pharaoh.so/sse
55
- ```
56
-
57
- This uses OAuth in the browser and doesn't require this package.
58
-
59
49
  ## How It Works
60
50
 
61
51
  ```
@@ -156,10 +146,10 @@ npx @pharaoh-so/mcp --logout
156
146
 
157
147
  ### Custom Server
158
148
 
159
- For self-hosted Pharaoh instances or development:
149
+ For self-hosted Pharaoh instances or development, register manually:
160
150
 
161
151
  ```bash
162
- claude mcp add pharaoh -- npx @pharaoh-so/mcp --server https://your-pharaoh-instance.com
152
+ claude mcp add --scope user pharaoh -- npx @pharaoh-so/mcp --server https://your-pharaoh-instance.com
163
153
  ```
164
154
 
165
155
  ### Environment Variables
@@ -213,7 +203,7 @@ npx @pharaoh-so/mcp
213
203
  Make sure you added it with the correct command:
214
204
 
215
205
  ```bash
216
- claude mcp add pharaoh -- npx @pharaoh-so/mcp
206
+ npx @pharaoh-so/mcp --setup
217
207
  ```
218
208
 
219
209
  Note the `--` separator between `pharaoh` and `npx`.
@@ -230,7 +220,7 @@ The first run after installation may take a moment as npm downloads the package.
230
220
 
231
221
  ```bash
232
222
  npm install -g @pharaoh-so/mcp
233
- claude mcp add pharaoh -- pharaoh-mcp
223
+ claude mcp add --scope user pharaoh -- pharaoh-mcp
234
224
  ```
235
225
 
236
226
  ## How Pharaoh Works
package/dist/helpers.d.ts CHANGED
@@ -10,6 +10,7 @@ export declare function printLines(...lines: string[]): void;
10
10
  export declare function parseArgs(argv?: string[]): {
11
11
  server: string;
12
12
  logout: boolean;
13
+ setup: boolean;
13
14
  };
14
15
  export declare function printUsage(): void;
15
16
  /**
package/dist/helpers.js CHANGED
@@ -8,6 +8,7 @@ export function printLines(...lines) {
8
8
  export function parseArgs(argv = process.argv.slice(2)) {
9
9
  let server = DEFAULT_SERVER;
10
10
  let logout = false;
11
+ let setup = false;
11
12
  for (let i = 0; i < argv.length; i++) {
12
13
  if (argv[i] === "--server" && argv[i + 1]) {
13
14
  server = argv[i + 1];
@@ -16,6 +17,9 @@ export function parseArgs(argv = process.argv.slice(2)) {
16
17
  else if (argv[i] === "--logout") {
17
18
  logout = true;
18
19
  }
20
+ else if (argv[i] === "--setup") {
21
+ setup = true;
22
+ }
19
23
  }
20
24
  // Strip trailing slash
21
25
  server = server.replace(/\/+$/, "");
@@ -37,10 +41,10 @@ export function parseArgs(argv = process.argv.slice(2)) {
37
41
  printLines(`Pharaoh: --server is not a valid URL: ${server}`);
38
42
  process.exit(1);
39
43
  }
40
- return { server, logout };
44
+ return { server, logout, setup };
41
45
  }
42
46
  export function printUsage() {
43
- printLines("Usage: pharaoh-mcp [options]", "", "Options:", " --server <url> Pharaoh server URL (default: https://mcp.pharaoh.so)", " --logout Clear stored credentials and exit", " --install-skills Force reinstall Pharaoh skills (Claude Code + OpenClaw)", " --help, -h Show this help", "", "Add to Claude Code:", " claude mcp add pharaoh -- npx @pharaoh-so/mcp", "");
47
+ printLines("Usage: pharaoh-mcp [options]", "", "Options:", " --setup Full install: auth, register MCP, install skills (start here)", " --server <url> Pharaoh server URL (default: https://mcp.pharaoh.so)", " --logout Clear stored credentials and exit", " --install-skills Force reinstall Pharaoh skills (Claude Code + OpenClaw)", " --help, -h Show this help", "", "Get started:", " npx @pharaoh-so/mcp --setup", "");
44
48
  }
45
49
  /**
46
50
  * Validate that a server-supplied SSE URL shares the same origin as the configured server.
@@ -96,7 +100,7 @@ export function formatTtl(expiresAt) {
96
100
  * after auth completes (or when credentials already exist).
97
101
  */
98
102
  export function printSetupInstructions() {
99
- printLines("", "┌───────────────────────────────────────────────────────┐", "│ Next step: add Pharaoh to Claude Code │", "│ │", "│ If pharaoh is already registered (e.g. as SSE): │", "│ claude mcp remove pharaoh │", "│ │", "│ Then add as stdio proxy: │", "│ claude mcp add pharaoh -- npx @pharaoh-so/mcp │", "│ │", "│ Verify with: │", "│ claude mcp list │", "└───────────────────────────────────────────────────────┘", "");
103
+ printLines("", "┌───────────────────────────────────────────────────────┐", "│ To register Pharaoh in Claude Code, run: │", "│ npx @pharaoh-so/mcp --setup │", "│ │", "│ This removes stale entries, registers the MCP │", "│ server globally, and installs all skills. │", "└───────────────────────────────────────────────────────┘", "");
100
104
  }
101
105
  /** Format a credential identity string (e.g. "alice (my-org)"). */
102
106
  export function formatIdentity(creds) {
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@ async function main() {
33
33
  runInstallSkills();
34
34
  return;
35
35
  }
36
- const { server, logout } = parseArgs(args);
36
+ const { server, logout, setup } = parseArgs(args);
37
37
  if (logout) {
38
38
  deleteCredentials();
39
39
  printLines("Pharaoh: credentials cleared");
@@ -41,6 +41,36 @@ async function main() {
41
41
  }
42
42
  const creds = readCredentials();
43
43
  const isInteractive = Boolean(process.stdin.isTTY);
44
+ // ── Setup mode (--setup): full automated install ──
45
+ // Auth → remove stale → register MCP → install skills → done.
46
+ if (setup) {
47
+ // Authenticate if needed
48
+ let activeCreds = creds && !isExpired(creds) ? creds : null;
49
+ if (activeCreds) {
50
+ printLines(`Pharaoh: authenticated as ${formatIdentity(activeCreds)} — token valid for ${formatTtl(activeCreds.expires_at)}`);
51
+ }
52
+ else {
53
+ printLines("Pharaoh: starting device authorization...");
54
+ const deviceCode = await requestDeviceCode(server);
55
+ printActivationPrompt(deviceCode.user_code, deviceCode.verification_uri);
56
+ const token = await pollForToken(server, deviceCode.device_code, deviceCode.interval);
57
+ if (token.provisional) {
58
+ printLines(`Pharaoh: provisional access — install the GitHub App to map your repos: ${token.install_url ?? ""}`);
59
+ }
60
+ const sseUrl = resolveSseUrl(token.sse_url, server);
61
+ const newCreds = tokenToCredentials(token, sseUrl);
62
+ writeCredentials(newCreds);
63
+ activeCreds = newCreds;
64
+ printAuthSuccess(token.github_login ?? null, token.tenant_name ?? null, token.repos?.length ?? 0);
65
+ }
66
+ // Register MCP server in Claude Code
67
+ const { runSetup } = await import("./setup.js");
68
+ runSetup();
69
+ // Install skills
70
+ runInstallSkills();
71
+ printLines("", "Pharaoh is ready. Start a new Claude Code conversation and ask:", ' "What modules does this codebase have?"', "");
72
+ process.exit(0);
73
+ }
44
74
  // ── Interactive mode (user running in a terminal) ──
45
75
  // Authenticate if needed, print setup instructions, and exit.
46
76
  // The proxy is useless without Claude Code on the other end of stdin.
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Full automated setup: remove stale entries, register MCP server globally,
3
+ * install skills. Requires valid credentials (caller handles auth first).
4
+ *
5
+ * @returns true if setup succeeded, false if Claude CLI not found.
6
+ */
7
+ export declare function runSetup(): boolean;
package/dist/setup.js ADDED
@@ -0,0 +1,76 @@
1
+ /**
2
+ * --setup implementation for the Pharaoh MCP proxy CLI.
3
+ *
4
+ * Full automated install: authenticates via device flow, removes stale MCP
5
+ * entries, registers Pharaoh as a global stdio MCP server, and installs skills.
6
+ * One command does everything: `npx @pharaoh-so/mcp --setup`
7
+ */
8
+ import { execFileSync } from "node:child_process";
9
+ import { printLines } from "./helpers.js";
10
+ /** Check if `claude` CLI is available in PATH. */
11
+ function hasClaude() {
12
+ try {
13
+ const which = process.platform === "win32" ? "where" : "which";
14
+ execFileSync(which, ["claude"], {
15
+ encoding: "utf-8",
16
+ stdio: ["pipe", "pipe", "pipe"],
17
+ });
18
+ return true;
19
+ }
20
+ catch {
21
+ return false;
22
+ }
23
+ }
24
+ /** Run a claude CLI command, returning true on success. Surfaces stderr on failure. */
25
+ function runClaude(args) {
26
+ try {
27
+ execFileSync("claude", args, {
28
+ encoding: "utf-8",
29
+ stdio: ["pipe", "pipe", "pipe"],
30
+ timeout: 30_000,
31
+ });
32
+ return true;
33
+ }
34
+ catch (err) {
35
+ if (err && typeof err === "object" && "stderr" in err) {
36
+ const stderr = err.stderr?.toString().trim();
37
+ if (stderr)
38
+ printLines(` claude ${args.slice(0, 3).join(" ")}: ${stderr}`);
39
+ }
40
+ return false;
41
+ }
42
+ }
43
+ /**
44
+ * Full automated setup: remove stale entries, register MCP server globally,
45
+ * install skills. Requires valid credentials (caller handles auth first).
46
+ *
47
+ * @returns true if setup succeeded, false if Claude CLI not found.
48
+ */
49
+ export function runSetup() {
50
+ if (!hasClaude()) {
51
+ printLines("Pharaoh: Claude Code CLI not found.", "", "Install Claude Code first: https://claude.ai/download", "Then re-run: npx @pharaoh-so/mcp --setup", "");
52
+ return false;
53
+ }
54
+ printLines("Pharaoh: setting up...");
55
+ // Step 1: Remove any stale entry (ignore failures — may not exist)
56
+ runClaude(["mcp", "remove", "pharaoh"]);
57
+ // Step 2: Register as global stdio MCP server
58
+ const added = runClaude([
59
+ "mcp",
60
+ "add",
61
+ "--scope",
62
+ "user",
63
+ "pharaoh",
64
+ "--",
65
+ "npx",
66
+ "@pharaoh-so/mcp",
67
+ ]);
68
+ if (!added) {
69
+ printLines("Pharaoh: failed to register MCP server.", "Try manually: npx @pharaoh-so/mcp --setup", "");
70
+ return false;
71
+ }
72
+ printLines("Pharaoh: registered as global MCP server (scope: user)");
73
+ // Step 3: Install skills (handled by caller via runInstallSkills)
74
+ // We just report the MCP registration success here.
75
+ return true;
76
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pharaoh-so/mcp",
3
3
  "mcpName": "so.pharaoh/pharaoh",
4
- "version": "0.2.12",
4
+ "version": "0.3.1",
5
5
  "description": "MCP proxy for Pharaoh — maps codebases into queryable knowledge graphs for AI agents. Enables Claude Code in headless environments (VPS, SSH, CI) via device flow auth.",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: audit-tests
3
+ prompt-name: audit-tests
3
4
  description: "Classify tests by real value: ceremony versus protection. Mutation score over line coverage — tests that can't detect mutations are theater. Identify tests that prove nothing, tests that duplicate coverage, and gaps where real protection is missing. Produce an actionable audit with keep, rewrite, and delete verdicts."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: brainstorm
3
+ prompt-name: brainstorm
3
4
  description: "Explore intent, requirements, and design before implementation. Collaborative dialogue to turn ideas into specs. Ask clarifying questions one at a time, propose 2-3 approaches with trade-offs, get approval before writing any code. Prevents wasted work from unexamined assumptions."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: debt
3
+ prompt-name: find-tech-debt
3
4
  description: "Categorized technical debt report using Pharaoh knowledge graph. Four-step pro-tier workflow: dead code detection, duplicate logic discovery, undocumented complex functions via spec gaps, and volatile high-complexity module identification. Categorizes findings as DELETE, CONSOLIDATE, DOCUMENT, STABILIZE, or TEST — each with the specific function or file, effort estimate, and risk of ignoring."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: debug
3
+ prompt-name: systematic-debugging
3
4
  description: "Systematic 4-phase debugging methodology. Root cause investigation before any fixes. Read errors carefully, reproduce consistently, trace data flow, form hypotheses, test minimally. If 3+ fixes fail, question the architecture. No guessing, no quick patches, no symptom fixes."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: execute
3
+ prompt-name: execute-plan
3
4
  description: "Execute a written implementation plan with review checkpoints. Load plan, review critically, execute tasks sequentially with verification at each step. Stop and ask when blocked — never guess through ambiguity. Finish with branch completion workflow."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: explore
3
+ prompt-name: explore-module
3
4
  description: "Deep-dive into a single codebase module using Pharaoh knowledge graph. Four-step free-tier workflow: full structure with functions, exports, and complexity scores; blast radius of what depends on it; upstream and downstream dependency mapping; and related function discovery. Produces a module briefing with purpose, key functions, dependencies, risk areas, and external API surface."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: finish
3
+ prompt-name: finish-branch
3
4
  description: "Complete a development branch after implementation. Verify all tests pass, present structured options (merge locally, create PR, keep branch, or discard), execute the chosen workflow, and clean up worktrees. Never merge broken code or delete work without confirmation."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: health
3
+ prompt-name: health-check
3
4
  description: "Full codebase health sweep using Pharaoh knowledge graph. Six-step pro-tier workflow: module map with metrics, dead code detection, test coverage gaps, duplicate logic, regression risk scoring, and spec drift analysis. Produces an A-F grade, top 5 risks, tech debt hotspots (high-complexity + low-coverage + high-volatility intersections), spec drift summary, and prioritized actions with effort estimates."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: investigate
3
+ prompt-name: investigate-change
3
4
  description: "Full architectural context gathering before modifying a function, file, or module using Pharaoh knowledge graph. Four-step free-tier workflow: module structure, blast radius of downstream callers, related function discovery, and dependency mapping. Blocks code suggestions until all context is gathered. Produces an investigation report with structure, blast radius, related functions, dependency context, and risk assessment."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: onboard
3
+ prompt-name: onboard-to-codebase
3
4
  description: "Quick codebase orientation using Pharaoh knowledge graph. Five-step workflow using only free-tier tools: full module map, deep-dive into the three largest modules, entry point discovery, critical path blast radius, and core data flow mapping. Produces an onboarding summary with module descriptions, entry points, data flow, and key functions to read first."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: orchestrate
3
+ prompt-name: orchestrate-plan
3
4
  description: "Execute implementation plans by dispatching one subagent per task with two-stage review (spec compliance then code quality). Sequential task execution with quality gates. Controller stays in session, constructs focused context for each agent, never shares session history. Handles DONE/DONE_WITH_CONCERNS/NEEDS_CONTEXT/BLOCKED status protocol."
4
5
  version: 0.2.5
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: parallel
3
+ prompt-name: parallel-agents
3
4
  description: "Dispatch 2+ independent subagent tasks that run concurrently. Each agent gets focused scope, clear goal, constraints, and expected output. No shared state between agents. Review and integrate results after all complete."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: pharaoh
3
+ prompt-name: pharaoh-core
3
4
  description: "Codebase knowledge graph — gives AI agents full architectural awareness. Query architecture, dependencies, blast radius, module context, and function search instead of reading files one at a time. Code intelligence via MCP: understand any codebase in seconds."
4
5
  version: 0.3.0
5
6
  homepage: https://pharaoh.so
@@ -70,12 +71,12 @@ Full docs at [pharaoh.so/docs](https://pharaoh.so/docs).
70
71
 
71
72
  ## Connection options
72
73
 
73
- **Direct SSE** (desktop with browser, uses OAuth):
74
+ **CLI** (Claude Code, OpenClaw — works everywhere):
74
75
  ```
75
- claude mcp add --transport sse --scope user pharaoh https://mcp.pharaoh.so/sse
76
+ npx @pharaoh-so/mcp --setup
76
77
  ```
77
78
 
78
- **Headless** (VPS/SSH/containers, uses device flow authorize on any device):
79
+ **URL** (Claude.ai, Cursor, ChatGPTpaste in settings):
79
80
  ```
80
- claude mcp add pharaoh -- npx @pharaoh-so/mcp
81
+ https://mcp.pharaoh.so/sse
81
82
  ```
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: plan
3
+ prompt-name: plan-with-pharaoh
3
4
  description: "Full-cycle architecture-aware planning: Pharaoh reconnaissance, structured plan writing with bite-sized TDD steps and zero placeholders, then deep adversarial review with wiring verification and interactive issue resolution. Replaces both writing-plans and plan-review."
4
5
  version: 0.3.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: pr
3
+ prompt-name: pre-pr-review
3
4
  description: "Pre-pull-request architectural review checklist using Pharaoh codebase knowledge graph. Covers module context, blast radius per touched module, hidden coupling between modules, duplicate logic detection, regression risk scoring, and vision spec alignment. Produces a structured review summary before opening a PR."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: refactor
3
+ prompt-name: safe-refactor
3
4
  description: "Safe refactoring workflow using Pharaoh codebase knowledge graph. Six-step process: module context, blast radius of downstream callers, reachability verification, dependency mapping, naming conflict detection, and test coverage assessment. Produces a refactoring plan with every caller listed, test files identified, unreachable code flagged, and high-risk paths warned."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: review
3
+ prompt-name: review-with-pharaoh
3
4
  description: "Architecture-aware pre-PR code review using Pharaoh codebase knowledge graph. Four-phase workflow: context gathering with module structure and blast radius, risk assessment with regression scoring and wiring checks, spec alignment against vision docs, and a final verdict of SHIP / SHIP WITH CHANGES / BLOCK. Auto-block rules for unreachable exports, circular dependencies, high regression risk, and spec violations."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: review-codex
3
+ prompt-name: cross-model-review
3
4
  description: "Cross-model security review. Dispatch code to a different AI model or subagent for independent second-opinion review. Evaluator applies AGREE, DISAGREE, or CONTEXT verdicts to each finding. Catches blind spots from single-model reasoning. Use for security-sensitive code, auth flows, data access, and architectural decisions."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: review-receive
3
+ prompt-name: receive-code-review
3
4
  description: "Receive code review feedback with technical rigor. No performative agreement — verify suggestions against codebase reality before implementing. Push back with evidence when feedback is wrong. Clarify all unclear items before implementing any. External feedback is suggestions to evaluate, not orders to follow."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: sessions
3
+ prompt-name: session-decomposition
3
4
  description: "Decompose work into parallel, isolated sessions using git worktrees. Each session gets fresh context, a narrow scope, and produces atomic commits. Prevents context window pollution from large tasks. Coordinate across sessions without shared state."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: tdd
3
+ prompt-name: test-driven-development
3
4
  description: "Test-driven development discipline. Write the failing test first, watch it fail, write minimal code to pass, refactor. No production code without a failing test. No exceptions without explicit permission. Covers red-green-refactor cycle, common rationalizations, and when to start over."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: verify
3
+ prompt-name: verification
3
4
  description: "Evidence before assertions. Run verification commands and confirm output before claiming work is complete, fixed, or passing. No 'should work now' — run the command, read the output, then claim the result. Covers tests, builds, linting, agent delegation, and requirement checklists."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: wiring
3
+ prompt-name: validate-wiring
3
4
  description: "Wiring validation for a codebase module using Pharaoh knowledge graph. Four-step pro-tier workflow: entry point reachability, caller verification via blast radius, test coverage per function, and dead code detection. Categorizes functions as CONNECTED, UNREACHABLE, DEAD, or UNTESTED. Produces a PASS or FAIL verdict with specific issues listed. Iron law: zero callers on a non-entry-point export means the code is not wired."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: worktree
3
+ prompt-name: git-worktree
3
4
  description: "Set up isolated git worktrees for feature work. Smart directory selection with safety verification — checks for existing worktree directories, verifies gitignore, auto-detects project setup, and confirms clean test baseline before starting. Prevents accidentally committing worktree contents."
4
5
  version: 0.2.0
5
6
  homepage: https://pharaoh.so