Merge branch 'auto-branch'
# Conflicts: # src/cli.ts
This commit is contained in:
commit
dddd4259f0
13
src/cli.ts
13
src/cli.ts
|
|
@ -20,11 +20,22 @@ program.name("sandlot").description("Branch-based development with git worktrees
|
||||||
|
|
||||||
program
|
program
|
||||||
.command("new")
|
.command("new")
|
||||||
.argument("<branch>", "branch name")
|
.argument("<branch>", "branch name or prompt (if it contains spaces)")
|
||||||
.argument("[prompt]", "initial prompt for Claude")
|
.argument("[prompt]", "initial prompt for Claude")
|
||||||
.option("-p, --print <prompt>", "run Claude in non-interactive mode with -p")
|
.option("-p, --print <prompt>", "run Claude in non-interactive mode with -p")
|
||||||
.description("Create a new session and launch Claude")
|
.description("Create a new session and launch Claude")
|
||||||
.action(async (branch: string, prompt: string | undefined, opts: { print?: string }) => {
|
.action(async (branch: string, prompt: string | undefined, opts: { print?: string }) => {
|
||||||
|
// If the "branch" contains spaces, it's actually a prompt — derive the branch name
|
||||||
|
if (branch.includes(" ")) {
|
||||||
|
prompt = branch
|
||||||
|
branch = branch
|
||||||
|
.toLowerCase()
|
||||||
|
.replace(/[^a-z0-9\s-]/g, "")
|
||||||
|
.trim()
|
||||||
|
.replace(/\s+/g, "-")
|
||||||
|
.slice(0, 20)
|
||||||
|
.replace(/-$/, "")
|
||||||
|
}
|
||||||
const root = await git.repoRoot()
|
const root = await git.repoRoot()
|
||||||
const worktreeAbs = join(homedir(), '.sandlot', basename(root), branch)
|
const worktreeAbs = join(homedir(), '.sandlot', basename(root), branch)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user