@clipboard-health/groundcrew 1.2.0 → 1.3.0

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
@@ -78,7 +78,31 @@ This installs the `crew` binary. `@clipboard-health/clearance` is pulled in tran
78
78
 
79
79
  Watch `${XDG_CACHE_HOME:-$HOME/.cache}/clearance/clearance.log` for `DENY` lines and add only the domains your agents actually need.
80
80
 
81
- 7. **Run.** Doctor first, then a dry run, then the real thing:
81
+ 7. **Optional: prepare a remote Sprite runner.** A Sprite is a remote Linux runner, so setup is intentionally explicit: choose which agent CLIs and MCP servers to authenticate. `--mcp` only adds the servers you name; it does not attempt to authenticate every MCP server visible in your Claude account.
82
+
83
+ ```bash
84
+ crew sprite setup crew-claude-1 \
85
+ --claude \
86
+ --github \
87
+ --git-name "Rocky Warren" \
88
+ --git-email "1085683+therockstorm@users.noreply.github.com" \
89
+ --mcp linear \
90
+ --mcp slack \
91
+ --checkpoint
92
+ ```
93
+
94
+ Known MCP aliases are `linear`, `slack`, and `notion`. For another HTTP MCP server, pass `--mcp name=https://example.com/mcp`. The command creates the Sprite if needed, prepares `~/dev`, configures Git, runs selected auth flows, adds selected MCP servers to Claude Code, and then opens Claude so you can run `/mcp` and authenticate only those selected servers. Use `--skip-mcp-auth` when you only want to add MCP definitions, and run the `/mcp` step later.
95
+
96
+ Repo setup is separate from runner setup and should run after the ticket branch exists, immediately before launching an agent. It clones/fetches the repo in the Sprite, checks out the requested branch (creating it from the base branch when it does not exist on origin), forwards only build-time secrets for the dependency install, removes the temporary secret file, clears those env vars, and then exits. It reuses the same Node/npm bootstrap command as groundcrew's Docker Sandboxes path.
97
+
98
+ ```bash
99
+ op run --env-file "${XDG_CONFIG_HOME:-$HOME/.config}/groundcrew/op.env" -- \
100
+ crew sprite bootstrap crew-claude-1 core-utils --branch rocky-team-123
101
+ ```
102
+
103
+ By default bootstrap forwards any locally set `NPM_TOKEN` and `BUF_TOKEN`. Use repeated `--secret <ENV_NAME>` to require a specific set, or `--no-secrets` for public installs. Do not checkpoint after repo bootstrap; dependency state is branch-specific and should be refreshed per ticket.
104
+
105
+ 8. **Run.** Doctor first, then a dry run, then the real thing:
82
106
 
83
107
  ```bash
84
108
  crew doctor
@@ -123,6 +147,8 @@ The branch prefix (`<prefix>-<TICKET>`) is derived from your OS username (`os.us
123
147
  ```bash
124
148
  crew sandbox auth <repo> --model claude
125
149
  crew sandbox auth <repo> --model codex
150
+ crew sprite setup crew-claude-1 --claude --github --mcp linear --checkpoint
151
+ crew sprite bootstrap crew-claude-1 core-utils --branch rocky-team-123
126
152
  crew run --ticket <TICKET>
127
153
  crew cleanup <TICKET>
128
154
  ```
@@ -11,7 +11,6 @@
11
11
  ab.chatgpt.com
12
12
  api.anthropic.com
13
13
  api.openai.com
14
- auth.openai.com
15
14
  chatgpt.com
16
15
  platform.claude.com
17
16
 
@@ -19,20 +18,19 @@ platform.claude.com
19
18
  api.linear.app
20
19
  api.notion.com
21
20
  api.slack.com
21
+ developers.notion.com
22
22
  linear.app
23
23
  mcp.linear.app
24
24
  mcp.notion.com
25
25
  mcp.slack.com
26
26
  slack.com
27
27
 
28
- # Datadog (logs/metrics queries)
29
- *.datadoghq.com
28
+ # Datadog (logs/metrics queries). No wildcard — blocks http-intake.logs.*.
30
29
  api.datadoghq.com
31
30
  app.datadoghq.com
32
31
  datadoghq.com
33
32
 
34
33
  # GitHub + GHA artifact storage (Azure blobs)
35
- *.githubusercontent.com
36
34
  api.github.com
37
35
  cafe.github.com
38
36
  github.com
@@ -56,6 +54,8 @@ productionresultssa16.blob.core.windows.net
56
54
  productionresultssa17.blob.core.windows.net
57
55
  productionresultssa18.blob.core.windows.net
58
56
  productionresultssa19.blob.core.windows.net
57
+ raw.githubusercontent.com
58
+ results-receiver.actions.githubusercontent.com
59
59
 
60
60
  # npm registry
61
61
  api.npmjs.org
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipboard-health/groundcrew",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Linear-driven orchestrator that launches AI coding agents in isolated git worktrees, with workspace lifecycle, sandbox auth, and usage tracking.",
5
5
  "keywords": [
6
6
  "agent",
package/src/cli.js CHANGED
@@ -3,6 +3,7 @@ import { doctor } from "./commands/doctor.js";
3
3
  import { orchestrate } from "./commands/orchestrator.js";
4
4
  import { sandboxAuthCli } from "./commands/sandboxAuth.js";
5
5
  import { setupWorkspaceCli } from "./commands/setupWorkspace.js";
6
+ import { spriteCli } from "./commands/spriteSetup.js";
6
7
  import { errorMessage, writeError, writeOutput } from "./lib/util.js";
7
8
  async function runCli(argv) {
8
9
  let watch = false;
@@ -63,6 +64,12 @@ const SUBCOMMANDS = {
63
64
  usage: "auth <repo> [--model <name>]",
64
65
  invoke: sandboxAuthCli,
65
66
  },
67
+ sprite: {
68
+ summary: "Create, authenticate, and bootstrap a remote Sprite runner",
69
+ usage: "setup <sprite-name> [--claude] [--github] [--mcp <alias|name=url>] [--checkpoint]\n" +
70
+ " → crew sprite bootstrap <sprite-name> <repo> [--branch <branch>]",
71
+ invoke: spriteCli,
72
+ },
66
73
  };
67
74
  function printHelp() {
68
75
  const width = Math.max(...Object.keys(SUBCOMMANDS).map((key) => key.length));
package/src/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../packages/groundcrew/src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQtE,KAAK,UAAU,MAAM,CAAC,IAAc;IAClC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,MAA0B,CAAC;IAE/B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,MAAM,GAAG,IAAI,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,GAAG,KAAK,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IACD,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,WAAW,GAA+B;IAC9C,GAAG,EAAE;QACH,OAAO,EAAE,mFAAmF;QAC5F,KAAK,EAAE,2CAA2C;QAClD,MAAM,EAAE,MAAM;KACf;IACD,MAAM,EAAE;QACN,OAAO,EAAE,4CAA4C;QACrD,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,sBAAsB;QAC/B,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,mBAAmB;KAC5B;IACD,OAAO,EAAE;QACP,OAAO,EAAE,0CAA0C;QACnD,KAAK,EAAE,8BAA8B;QACrC,MAAM,EAAE,cAAc;KACvB;CACF,CAAC;AAEF,SAAS,SAAS;IAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,WAAW,CAAC,mCAAmC,CAAC,CAAC;IACjD,WAAW,CAAC,WAAW,CAAC,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1D,WAAW,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,WAAW,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,WAAW,CAAC,sDAAsD,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAEnC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC/E,SAAS,EAAE,CAAC;QACZ,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,UAAU,CAAC,oBAAoB,UAAU,IAAI,CAAC,CAAC;QAC/C,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../packages/groundcrew/src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export interface McpServer {
2
+ name: string;
3
+ url: string;
4
+ }
5
+ export interface SpriteSetupOptions {
6
+ spriteName: string;
7
+ shouldCreate: boolean;
8
+ shouldAuthenticateClaude: boolean;
9
+ shouldAuthenticateCodex: boolean;
10
+ shouldAuthenticateGithub: boolean;
11
+ shouldAuthenticateMcp: boolean;
12
+ shouldCheckpoint: boolean;
13
+ checkpointComment: string;
14
+ gitName?: string;
15
+ gitEmail?: string;
16
+ mcpServers: McpServer[];
17
+ }
18
+ export interface SpriteBootstrapOptions {
19
+ spriteName: string;
20
+ repository: string;
21
+ owner: string;
22
+ baseBranch: string;
23
+ secretNames: string[];
24
+ shouldRequireSelectedSecrets: boolean;
25
+ shouldUseSecrets: boolean;
26
+ branchName?: string;
27
+ }
28
+ export declare function bootstrapSpriteRepository(options: SpriteBootstrapOptions): Promise<void>;
29
+ export declare function setupSprite(options: SpriteSetupOptions): Promise<void>;
30
+ export declare function spriteCli(argv: string[]): Promise<void>;
@@ -0,0 +1,518 @@
1
+ import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
2
+ import { tmpdir } from "node:os";
3
+ import { join } from "node:path";
4
+ import { runCommandAsync } from "../lib/commandRunner.js";
5
+ import { DEFAULT_SANDBOX_SETUP_COMMAND } from "../lib/config.js";
6
+ import { BUILD_SECRET_NAMES, shellSingleQuote } from "../lib/launchCommand.js";
7
+ import { log, readEnvironmentVariable, writeOutput } from "../lib/util.js";
8
+ const KNOWN_MCP_SERVER_URLS = {
9
+ linear: "https://mcp.linear.app/mcp",
10
+ slack: "https://mcp.slack.com/mcp",
11
+ notion: "https://mcp.notion.com/mcp",
12
+ };
13
+ const DEFAULT_CHECKPOINT_COMMENT = "groundcrew sprite baseline: selected agent auth, git identity, and MCP config";
14
+ const CLAUDE_SUBSCRIPTION_LOGIN_FLAG = ["--claude", "ai"].join("");
15
+ const DEFAULT_REPOSITORY_OWNER = "ClipboardHealth";
16
+ const DEFAULT_BASE_BRANCH = "main";
17
+ const REMOTE_SECRETS_FILE = "/tmp/groundcrew-build-secrets.env";
18
+ function usage() {
19
+ return [
20
+ "Usage:",
21
+ " crew sprite setup <sprite-name> [options]",
22
+ " crew sprite bootstrap <sprite-name> <repository> [options]",
23
+ "",
24
+ "Setup options:",
25
+ " --claude Authenticate Claude Code with a Claude subscription",
26
+ " --codex Authenticate Codex CLI",
27
+ " --github Authenticate gh for GitHub PRs",
28
+ " --mcp <alias|name=url> Add/authenticate one MCP server; repeat for multiple",
29
+ " Known aliases: linear, slack, notion",
30
+ " --skip-mcp-auth Add selected MCP servers but do not launch Claude /mcp",
31
+ " --git-name <name> Set git user.name inside the sprite",
32
+ " --git-email <email> Set git user.email inside the sprite",
33
+ " --checkpoint Create a checkpoint after setup",
34
+ " --checkpoint-comment <text> Override the checkpoint comment",
35
+ " --no-create Require the sprite to already exist",
36
+ "",
37
+ "Example:",
38
+ " crew sprite setup crew-claude-1 --claude --github --mcp linear --mcp slack --checkpoint",
39
+ "",
40
+ "Bootstrap options:",
41
+ " --branch <branch> Checkout/create a ticket branch before installing deps",
42
+ " --base <branch> Base branch used when creating a missing branch (default: main)",
43
+ " --owner <owner> GitHub owner for bare repo names (default: ClipboardHealth)",
44
+ " --secret <env-name> Forward one required build secret; repeat for multiple",
45
+ " --no-secrets Do not forward NPM_TOKEN/BUF_TOKEN even if present",
46
+ "",
47
+ "Bootstrap example:",
48
+ " crew sprite bootstrap crew-claude-1 core-utils --branch rocky-team-123",
49
+ ].join("\n");
50
+ }
51
+ function requireValue(arguments_, index, flag) {
52
+ const value = arguments_[index + 1];
53
+ if (value === undefined || value.length === 0 || value.startsWith("--")) {
54
+ throw new Error(`${flag} requires a value.\n${usage()}`);
55
+ }
56
+ return value;
57
+ }
58
+ function validateMcpName(name) {
59
+ if (!/^[a-z][a-z0-9_-]*$/i.test(name)) {
60
+ throw new Error(`Invalid MCP server name "${name}". Use letters, numbers, "_" or "-".`);
61
+ }
62
+ }
63
+ function validateMcpUrl(url) {
64
+ try {
65
+ const parsedUrl = new URL(url);
66
+ if (parsedUrl.protocol === "https:") {
67
+ return;
68
+ }
69
+ }
70
+ catch {
71
+ // Fall through to the user-facing validation error below.
72
+ }
73
+ throw new Error(`Invalid MCP server URL "${url}". Remote MCP URLs must start with https://.`);
74
+ }
75
+ function validateRepository(value) {
76
+ const parts = value.split("/");
77
+ if (parts.length > 2 || parts.some((part) => part.length === 0)) {
78
+ throw new Error(`Invalid repository "${value}". Use repo or owner/repo.`);
79
+ }
80
+ for (const part of parts) {
81
+ validateRepositoryOwner(part);
82
+ }
83
+ }
84
+ function validateRepositoryOwner(value) {
85
+ if (!/^[\w.-]+$/.test(value)) {
86
+ throw new Error(`Invalid repository owner "${value}".`);
87
+ }
88
+ }
89
+ function validateGitRef(value, label) {
90
+ if (!/^[\w./-]+$/.test(value) || value.includes("..") || value.startsWith("-")) {
91
+ throw new Error(`Invalid ${label} "${value}".`);
92
+ }
93
+ }
94
+ function validateSecretName(value) {
95
+ if (!/^[A-Z_][A-Z0-9_]*$/.test(value)) {
96
+ throw new Error(`Invalid secret name "${value}". Use an environment variable name.`);
97
+ }
98
+ }
99
+ function escapeRegExp(value) {
100
+ return value.replaceAll(/[.*+?^${}()|[\]\\]/g, String.raw `\$&`);
101
+ }
102
+ function parseMcpServer(value) {
103
+ const separatorIndex = value.indexOf("=");
104
+ if (separatorIndex !== -1) {
105
+ const name = value.slice(0, separatorIndex).trim();
106
+ const url = value.slice(separatorIndex + 1).trim();
107
+ validateMcpName(name);
108
+ validateMcpUrl(url);
109
+ return { name, url };
110
+ }
111
+ const alias = value.toLowerCase();
112
+ const url = KNOWN_MCP_SERVER_URLS[alias];
113
+ if (url === undefined) {
114
+ throw new Error(`Unknown MCP alias "${value}". Known aliases: ${Object.keys(KNOWN_MCP_SERVER_URLS).join(", ")}. Use name=https://example.com/mcp for custom servers.`);
115
+ }
116
+ return { name: alias, url };
117
+ }
118
+ function parseArguments(argv) {
119
+ const [spriteName] = argv;
120
+ if (spriteName === undefined || spriteName.startsWith("--")) {
121
+ throw new Error(usage());
122
+ }
123
+ let shouldCreate = true;
124
+ let shouldAuthenticateClaude = false;
125
+ let shouldAuthenticateCodex = false;
126
+ let shouldAuthenticateGithub = false;
127
+ let shouldAuthenticateMcp = true;
128
+ let shouldCheckpoint = false;
129
+ let checkpointComment = DEFAULT_CHECKPOINT_COMMENT;
130
+ let gitName;
131
+ let gitEmail;
132
+ const mcpServers = [];
133
+ for (let index = 1; index < argv.length; index += 1) {
134
+ const argument = argv[index];
135
+ if (argument === "--claude") {
136
+ shouldAuthenticateClaude = true;
137
+ continue;
138
+ }
139
+ if (argument === "--codex") {
140
+ shouldAuthenticateCodex = true;
141
+ continue;
142
+ }
143
+ if (argument === "--github") {
144
+ shouldAuthenticateGithub = true;
145
+ continue;
146
+ }
147
+ if (argument === "--mcp") {
148
+ const value = requireValue(argv, index, "--mcp");
149
+ mcpServers.push(parseMcpServer(value));
150
+ index += 1;
151
+ continue;
152
+ }
153
+ if (argument === "--skip-mcp-auth") {
154
+ shouldAuthenticateMcp = false;
155
+ continue;
156
+ }
157
+ if (argument === "--git-name") {
158
+ gitName = requireValue(argv, index, "--git-name");
159
+ index += 1;
160
+ continue;
161
+ }
162
+ if (argument === "--git-email") {
163
+ gitEmail = requireValue(argv, index, "--git-email");
164
+ index += 1;
165
+ continue;
166
+ }
167
+ if (argument === "--checkpoint") {
168
+ shouldCheckpoint = true;
169
+ continue;
170
+ }
171
+ if (argument === "--checkpoint-comment") {
172
+ checkpointComment = requireValue(argv, index, "--checkpoint-comment");
173
+ shouldCheckpoint = true;
174
+ index += 1;
175
+ continue;
176
+ }
177
+ if (argument === "--no-create") {
178
+ shouldCreate = false;
179
+ continue;
180
+ }
181
+ throw new Error(`Unknown sprite setup argument: ${argument}\n${usage()}`);
182
+ }
183
+ return {
184
+ spriteName,
185
+ shouldCreate,
186
+ shouldAuthenticateClaude,
187
+ shouldAuthenticateCodex,
188
+ shouldAuthenticateGithub,
189
+ shouldAuthenticateMcp,
190
+ shouldCheckpoint,
191
+ checkpointComment,
192
+ mcpServers,
193
+ ...(gitName === undefined ? {} : { gitName }),
194
+ ...(gitEmail === undefined ? {} : { gitEmail }),
195
+ };
196
+ }
197
+ function parseBootstrapArguments(argv) {
198
+ const [spriteName, repository] = argv;
199
+ if (spriteName === undefined ||
200
+ spriteName.startsWith("--") ||
201
+ repository === undefined ||
202
+ repository.startsWith("--")) {
203
+ throw new Error(usage());
204
+ }
205
+ validateRepository(repository);
206
+ let owner = DEFAULT_REPOSITORY_OWNER;
207
+ let baseBranch = DEFAULT_BASE_BRANCH;
208
+ let branchName;
209
+ let shouldUseSecrets = true;
210
+ let shouldRequireSelectedSecrets = false;
211
+ const selectedSecretNames = [];
212
+ for (let index = 2; index < argv.length; index += 1) {
213
+ const argument = argv[index];
214
+ if (argument === "--branch") {
215
+ branchName = requireValue(argv, index, "--branch");
216
+ validateGitRef(branchName, "branch");
217
+ index += 1;
218
+ continue;
219
+ }
220
+ if (argument === "--base") {
221
+ baseBranch = requireValue(argv, index, "--base");
222
+ validateGitRef(baseBranch, "base branch");
223
+ index += 1;
224
+ continue;
225
+ }
226
+ if (argument === "--owner") {
227
+ owner = requireValue(argv, index, "--owner");
228
+ validateRepositoryOwner(owner);
229
+ index += 1;
230
+ continue;
231
+ }
232
+ if (argument === "--secret") {
233
+ const secretName = requireValue(argv, index, "--secret");
234
+ validateSecretName(secretName);
235
+ selectedSecretNames.push(secretName);
236
+ shouldRequireSelectedSecrets = true;
237
+ index += 1;
238
+ continue;
239
+ }
240
+ if (argument === "--no-secrets") {
241
+ shouldUseSecrets = false;
242
+ continue;
243
+ }
244
+ throw new Error(`Unknown sprite bootstrap argument: ${argument}\n${usage()}`);
245
+ }
246
+ return {
247
+ spriteName,
248
+ repository,
249
+ owner,
250
+ baseBranch,
251
+ secretNames: selectedSecretNames.length > 0 ? selectedSecretNames : [...BUILD_SECRET_NAMES],
252
+ shouldRequireSelectedSecrets,
253
+ shouldUseSecrets,
254
+ ...(branchName === undefined ? {} : { branchName }),
255
+ };
256
+ }
257
+ function spriteExecArguments(spriteName, remoteArguments) {
258
+ return ["exec", "-s", spriteName, "--", ...remoteArguments];
259
+ }
260
+ function spriteTtyExecArguments(spriteName, remoteArguments) {
261
+ return ["exec", "--tty", "-s", spriteName, "--", ...remoteArguments];
262
+ }
263
+ async function commandSucceeds(command, arguments_) {
264
+ try {
265
+ await runCommandAsync(command, arguments_);
266
+ return true;
267
+ }
268
+ catch {
269
+ return false;
270
+ }
271
+ }
272
+ async function spriteExists(spriteName) {
273
+ const output = await runCommandAsync("sprite", ["list", "--sprite", spriteName]);
274
+ return new RegExp(`(^|\\s)${escapeRegExp(spriteName)}(\\s|$)`, "m").test(output);
275
+ }
276
+ async function ensureSprite(options) {
277
+ if (await spriteExists(options.spriteName)) {
278
+ log(`Reusing existing sprite ${options.spriteName}`);
279
+ return;
280
+ }
281
+ if (!options.shouldCreate) {
282
+ throw new Error(`Sprite ${options.spriteName} does not exist and --no-create was set.`);
283
+ }
284
+ log(`Creating sprite ${options.spriteName}`);
285
+ await runCommandAsync("sprite", ["create", "--skip-console", options.spriteName], {
286
+ stdio: "inherit",
287
+ timeoutMs: 0,
288
+ });
289
+ }
290
+ async function prepareHome(spriteName) {
291
+ await runCommandAsync("sprite", spriteExecArguments(spriteName, [
292
+ "bash",
293
+ "-lc",
294
+ "mkdir -p ~/dev ~/.config/groundcrew ~/.local/state/groundcrew",
295
+ ]));
296
+ }
297
+ async function configureGit(options) {
298
+ if (options.gitName !== undefined) {
299
+ await runCommandAsync("sprite", spriteExecArguments(options.spriteName, [
300
+ "git",
301
+ "config",
302
+ "--global",
303
+ "user.name",
304
+ options.gitName,
305
+ ]));
306
+ }
307
+ if (options.gitEmail !== undefined) {
308
+ await runCommandAsync("sprite", spriteExecArguments(options.spriteName, [
309
+ "git",
310
+ "config",
311
+ "--global",
312
+ "user.email",
313
+ options.gitEmail,
314
+ ]));
315
+ }
316
+ }
317
+ async function authenticateGithub(spriteName) {
318
+ const isAuthenticated = await commandSucceeds("sprite", spriteExecArguments(spriteName, ["gh", "auth", "status"]));
319
+ if (!isAuthenticated) {
320
+ log("Starting GitHub device auth inside the sprite");
321
+ await runCommandAsync("sprite", spriteExecArguments(spriteName, [
322
+ "gh",
323
+ "auth",
324
+ "login",
325
+ "-h",
326
+ "github.com",
327
+ "-p",
328
+ "https",
329
+ "-w",
330
+ ]), { stdio: "inherit", timeoutMs: 0 });
331
+ }
332
+ await runCommandAsync("sprite", spriteExecArguments(spriteName, ["gh", "auth", "setup-git"]));
333
+ }
334
+ async function authenticateClaude(spriteName) {
335
+ const isAuthenticated = await commandSucceeds("sprite", spriteExecArguments(spriteName, ["claude", "auth", "status"]));
336
+ if (isAuthenticated) {
337
+ return;
338
+ }
339
+ log("Starting Claude subscription auth inside the sprite");
340
+ await runCommandAsync("sprite", spriteTtyExecArguments(spriteName, ["claude", "auth", "login", CLAUDE_SUBSCRIPTION_LOGIN_FLAG]), { stdio: "inherit", timeoutMs: 0 });
341
+ }
342
+ async function authenticateCodex(spriteName) {
343
+ log("Starting Codex auth inside the sprite");
344
+ await runCommandAsync("sprite", spriteTtyExecArguments(spriteName, ["codex", "login"]), {
345
+ stdio: "inherit",
346
+ timeoutMs: 0,
347
+ });
348
+ }
349
+ async function addMcpServer(spriteName, server) {
350
+ const exists = await commandSucceeds("sprite", spriteExecArguments(spriteName, ["claude", "mcp", "get", server.name]));
351
+ if (exists) {
352
+ log(`MCP server ${server.name} already exists`);
353
+ return;
354
+ }
355
+ log(`Adding MCP server ${server.name} (${server.url})`);
356
+ await runCommandAsync("sprite", spriteExecArguments(spriteName, [
357
+ "claude",
358
+ "mcp",
359
+ "add",
360
+ "--transport",
361
+ "http",
362
+ "--scope",
363
+ "user",
364
+ server.name,
365
+ server.url,
366
+ ]));
367
+ }
368
+ async function authenticateMcpServers(options) {
369
+ if (options.mcpServers.length === 0 || !options.shouldAuthenticateMcp) {
370
+ return;
371
+ }
372
+ writeOutput();
373
+ writeOutput("Claude will open inside the sprite so you can authenticate only these MCP servers:");
374
+ for (const server of options.mcpServers) {
375
+ writeOutput(` - ${server.name}`);
376
+ }
377
+ writeOutput("Inside Claude, run /mcp, select each listed server, choose Authenticate, then /exit.");
378
+ writeOutput("If the browser redirects to localhost and cannot connect, paste that callback URL into Claude when prompted.");
379
+ writeOutput();
380
+ await runCommandAsync("sprite", spriteTtyExecArguments(options.spriteName, ["claude", "--permission-mode", "auto"]), { stdio: "inherit", timeoutMs: 0 });
381
+ }
382
+ async function checkpoint(options) {
383
+ if (!options.shouldCheckpoint) {
384
+ return;
385
+ }
386
+ await runCommandAsync("sprite", ["checkpoint", "create", "-s", options.spriteName, "--comment", options.checkpointComment], { stdio: "inherit", timeoutMs: 0 });
387
+ }
388
+ function repositorySlug(options) {
389
+ return options.repository.includes("/")
390
+ ? options.repository
391
+ : `${options.owner}/${options.repository}`;
392
+ }
393
+ function repositoryDirectoryName(repository) {
394
+ const name = repository.includes("/")
395
+ ? repository.slice(repository.lastIndexOf("/") + 1)
396
+ : repository;
397
+ return name.endsWith(".git") ? name.slice(0, -4) : name;
398
+ }
399
+ function remoteBootstrapCommand(options) {
400
+ const slug = repositorySlug(options);
401
+ const directoryName = repositoryDirectoryName(options.repository);
402
+ const unsetSecretsLine = options.secretNames.length === 0 ? ":" : `unset ${options.secretNames.join(" ")}`;
403
+ const checkoutLines = options.branchName === undefined
404
+ ? [
405
+ `git checkout -B ${shellSingleQuote(options.baseBranch)} ${shellSingleQuote(`origin/${options.baseBranch}`)}`,
406
+ ]
407
+ : [
408
+ `if git show-ref --verify --quiet ${shellSingleQuote(`refs/remotes/origin/${options.branchName}`)}; then`,
409
+ ` git checkout -B ${shellSingleQuote(options.branchName)} ${shellSingleQuote(`origin/${options.branchName}`)}`,
410
+ "else",
411
+ ` git checkout -B ${shellSingleQuote(options.branchName)} ${shellSingleQuote(`origin/${options.baseBranch}`)}`,
412
+ "fi",
413
+ ];
414
+ return [
415
+ "set -euo pipefail",
416
+ `cleanup() { rm -f ${shellSingleQuote(REMOTE_SECRETS_FILE)}; ${unsetSecretsLine}; }`,
417
+ "trap cleanup EXIT",
418
+ 'mkdir -p "$HOME/dev"',
419
+ `repo_dir="$HOME/dev/${directoryName}"`,
420
+ 'if [ ! -d "$repo_dir/.git" ]; then',
421
+ ` gh repo clone ${shellSingleQuote(slug)} "$repo_dir"`,
422
+ "fi",
423
+ 'cd "$repo_dir"',
424
+ "git fetch origin --prune",
425
+ ...checkoutLines,
426
+ `if [ -f ${shellSingleQuote(REMOTE_SECRETS_FILE)} ]; then set -a && . ${shellSingleQuote(REMOTE_SECRETS_FILE)} && set +a; fi`,
427
+ DEFAULT_SANDBOX_SETUP_COMMAND,
428
+ ].join("\n");
429
+ }
430
+ function noSecretCleanup() {
431
+ // No staged secrets file was created.
432
+ }
433
+ function stageBuildSecrets(options) {
434
+ if (!options.shouldUseSecrets || options.secretNames.length === 0) {
435
+ return { filePath: undefined, names: [], cleanup: noSecretCleanup };
436
+ }
437
+ const lines = [];
438
+ const names = [];
439
+ for (const name of options.secretNames) {
440
+ const value = readEnvironmentVariable(name);
441
+ if (value === undefined || value.length === 0) {
442
+ if (options.shouldRequireSelectedSecrets) {
443
+ throw new Error(`${name} is not set in the local environment.`);
444
+ }
445
+ continue;
446
+ }
447
+ lines.push(`${name}=${shellSingleQuote(value)}`);
448
+ names.push(name);
449
+ }
450
+ if (lines.length === 0) {
451
+ return { filePath: undefined, names, cleanup: noSecretCleanup };
452
+ }
453
+ const directory = mkdtempSync(join(tmpdir(), "groundcrew-sprite-secrets-"));
454
+ const filePath = join(directory, "secrets.env");
455
+ writeFileSync(filePath, `${lines.join("\n")}\n`, { mode: 0o600 });
456
+ return {
457
+ filePath,
458
+ names,
459
+ cleanup() {
460
+ rmSync(directory, { recursive: true, force: true });
461
+ },
462
+ };
463
+ }
464
+ export async function bootstrapSpriteRepository(options) {
465
+ if (!(await spriteExists(options.spriteName))) {
466
+ throw new Error(`Sprite ${options.spriteName} does not exist. Run crew sprite setup first.`);
467
+ }
468
+ const stagedSecrets = stageBuildSecrets(options);
469
+ try {
470
+ if (stagedSecrets.names.length > 0) {
471
+ log(`Forwarding build secret names for setup only: ${stagedSecrets.names.join(", ")}`);
472
+ }
473
+ const spriteArguments = ["exec", "-s", options.spriteName];
474
+ if (stagedSecrets.filePath !== undefined) {
475
+ spriteArguments.push("--file", `${stagedSecrets.filePath}:${REMOTE_SECRETS_FILE}`);
476
+ }
477
+ spriteArguments.push("--", "bash", "-lc", remoteBootstrapCommand(options));
478
+ log(`Bootstrapping ${repositorySlug(options)} in ${options.spriteName}`);
479
+ await runCommandAsync("sprite", spriteArguments, { stdio: "inherit", timeoutMs: 0 });
480
+ }
481
+ finally {
482
+ stagedSecrets.cleanup();
483
+ }
484
+ }
485
+ export async function setupSprite(options) {
486
+ await ensureSprite(options);
487
+ await prepareHome(options.spriteName);
488
+ await configureGit(options);
489
+ if (options.shouldAuthenticateGithub) {
490
+ await authenticateGithub(options.spriteName);
491
+ }
492
+ if (options.shouldAuthenticateClaude) {
493
+ await authenticateClaude(options.spriteName);
494
+ }
495
+ if (options.shouldAuthenticateCodex) {
496
+ await authenticateCodex(options.spriteName);
497
+ }
498
+ for (const server of options.mcpServers) {
499
+ // oxlint-disable-next-line no-await-in-loop -- MCP additions are sequential so auth instructions stay ordered.
500
+ await addMcpServer(options.spriteName, server);
501
+ }
502
+ await authenticateMcpServers(options);
503
+ await checkpoint(options);
504
+ log(`Sprite ${options.spriteName} setup complete`);
505
+ }
506
+ export async function spriteCli(argv) {
507
+ const [action, ...rest] = argv;
508
+ if (action === "setup") {
509
+ await setupSprite(parseArguments(rest));
510
+ return;
511
+ }
512
+ if (action === "bootstrap") {
513
+ await bootstrapSpriteRepository(parseBootstrapArguments(rest));
514
+ return;
515
+ }
516
+ throw new Error("Usage: crew sprite <setup|bootstrap> ...");
517
+ }
518
+ //# sourceMappingURL=spriteSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spriteSetup.js","sourceRoot":"","sources":["../../../../../packages/groundcrew/src/commands/spriteSetup.ts"],"names":[],"mappings":"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"}
package/src/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { cleanupWorkspace, type CleanupWorkspaceOptions } from "./commands/clean
3
3
  export { doctor } from "./commands/doctor.ts";
4
4
  export { orchestrate, type OrchestratorOptions } from "./commands/orchestrator.ts";
5
5
  export { setupWorkspace, type SetupWorkspaceOptions } from "./commands/setupWorkspace.ts";
6
+ export { bootstrapSpriteRepository, setupSprite, type SpriteBootstrapOptions, type SpriteSetupOptions, } from "./commands/spriteSetup.ts";
6
7
  export type { Config, ModelDefinition, ResolvedConfig } from "./lib/config.ts";
7
8
  export { loadConfig } from "./lib/config.ts";
8
9
  export { getUsageByModel, type UsageByModel } from "./lib/usage.ts";
package/src/index.js CHANGED
@@ -3,6 +3,7 @@ export { cleanupWorkspace } from "./commands/cleanupWorkspace.js";
3
3
  export { doctor } from "./commands/doctor.js";
4
4
  export { orchestrate } from "./commands/orchestrator.js";
5
5
  export { setupWorkspace } from "./commands/setupWorkspace.js";
6
+ export { bootstrapSpriteRepository, setupSprite, } from "./commands/spriteSetup.js";
6
7
  export { loadConfig } from "./lib/config.js";
7
8
  export { getUsageByModel } from "./lib/usage.js";
8
9
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/groundcrew/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAgC,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAA4B,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,cAAc,EAA8B,MAAM,8BAA8B,CAAC;AAE1F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAqB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/groundcrew/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAgC,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAA4B,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,cAAc,EAA8B,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EACL,yBAAyB,EACzB,WAAW,GAGZ,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAqB,MAAM,gBAAgB,CAAC"}
package/src/lib/config.js CHANGED
@@ -28,13 +28,27 @@ export const DEFAULT_SANDBOX_SETUP_COMMAND = [
28
28
  "required_node=$(tr -d '[:space:]' < .nvmrc | sed 's/^v//')",
29
29
  'current_node=$(node --version 2>/dev/null | sed "s/^v//")',
30
30
  'if [ -n "$required_node" ] && [ "$current_node" != "$required_node" ]; then',
31
+ `if [ -n "\${NVM_DIR:-}" ] && [ -s "$NVM_DIR/nvm.sh" ]; then`,
32
+ '. "$NVM_DIR/nvm.sh"',
33
+ 'nvm install "$required_node"',
34
+ 'nvm alias default "$required_node"',
35
+ 'nvm use "$required_node"',
36
+ 'elif [ -s "/.sprite/languages/node/nvm/nvm.sh" ]; then',
37
+ 'export NVM_DIR="/.sprite/languages/node/nvm"',
38
+ '. "$NVM_DIR/nvm.sh"',
39
+ 'nvm install "$required_node"',
40
+ 'nvm alias default "$required_node"',
41
+ 'nvm use "$required_node"',
42
+ "else",
31
43
  "npm install --global n --no-audit --no-fund",
32
- "n_path=$(command -v n)",
44
+ 'n_path="$(command -v n || true)"',
45
+ 'if [ -z "$n_path" ]; then n_path="$(npm prefix -g)/bin/n"; fi',
33
46
  'sudo "$n_path" "$required_node"',
47
+ "fi",
34
48
  "hash -r",
35
49
  "fi",
36
50
  "fi",
37
- ].join("; "),
51
+ ].join("\n"),
38
52
  "required_npm=$(node -e \"try { console.log(require('./package.json').engines?.npm ?? '') } catch { console.log('') }\")",
39
53
  'if [ -n "$required_npm" ]; then npm install --global "npm@$required_npm" --no-audit --no-fund && hash -r; fi',
40
54
  "if [ -x .claude/setup.sh ]; then ./.claude/setup.sh --deps-only; elif [ -f .claude/setup.sh ] && command -v bash >/dev/null 2>&1; then bash .claude/setup.sh --deps-only; else npm clean-install; fi",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../packages/groundcrew/src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../packages/groundcrew/src/lib/config.ts"],"names":[],"mappings":"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"}