optional prompt for new
This commit is contained in:
parent
9f250188ca
commit
f7517fbd1b
|
|
@ -18,8 +18,9 @@ program.name("sandlot").description("Branch-based development with git worktrees
|
|||
program
|
||||
.command("new")
|
||||
.argument("<branch>", "branch name")
|
||||
.argument("[prompt]", "initial prompt for Claude")
|
||||
.description("Create a new session and launch Claude")
|
||||
.action(async (branch: string) => {
|
||||
.action(async (branch: string, prompt?: string) => {
|
||||
const root = await git.repoRoot()
|
||||
const worktreeRel = `.sandlot/${branch}`
|
||||
const worktreeAbs = join(root, worktreeRel)
|
||||
|
|
@ -43,7 +44,7 @@ program
|
|||
created_at: new Date().toISOString(),
|
||||
})
|
||||
|
||||
await vm.claude(worktreeAbs)
|
||||
await vm.claude(worktreeAbs, prompt)
|
||||
})
|
||||
|
||||
// ── sandlot list ──────────────────────────────────────────────────────
|
||||
|
|
|
|||
|
|
@ -65,13 +65,12 @@ async function loadEnv(): Promise<Record<string, string>> {
|
|||
}
|
||||
|
||||
/** Launch claude in the VM at the given workdir. */
|
||||
export async function claude(workdir: string): Promise<void> {
|
||||
export async function claude(workdir: string, prompt?: string): Promise<void> {
|
||||
const env = await loadEnv()
|
||||
const envArgs = Object.entries(env).map(([k, v]) => `${k}=${v}`)
|
||||
const proc = Bun.spawn(
|
||||
["limactl", "shell", `--workdir=${workdir}`, VM_NAME, "env", ...envArgs, "claude", "--dangerously-skip-permissions"],
|
||||
{ stdin: "inherit", stdout: "inherit", stderr: "inherit" },
|
||||
)
|
||||
const args = ["limactl", "shell", `--workdir=${workdir}`, VM_NAME, "env", ...envArgs, "claude", "--dangerously-skip-permissions"]
|
||||
if (prompt) args.push(prompt)
|
||||
const proc = Bun.spawn(args, { stdin: "inherit", stdout: "inherit", stderr: "inherit" })
|
||||
await proc.exited
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user